雪花镶木地板加载模式生成

snowflake parquet load schema generation

正在从 S3 位置将 parquet 文件加载到雪花 table。这就是我正在做的:

  1. 创建目标table
CREATE TABLE myschema.target_table(
 col1 DATE,
 col2 VARCHAR);
  1. 使用以下命令创建阶段 table
CREATE OR REPLACE TEMPORARY STAGE myschema.stage_table 
   url = 's3://mybucket/myfolder1/' 
 storage_integration = My_int 
 fileformat = (type = 'parquet')
  1. 从舞台 table
  2. 加载目标 table
COPY INTO myschema.target_table FROM(
  SELECT :col1::date,
         :col2:varchar
  FROM myschema.stage_table)

这很好用,我的问题是,我有 10 个 table 和 10 个列。有什么方法可以优化第 3 步,我不必在其中明确提及列名,这样代码就会变得通用:

 COPY INTO myschema.target_table FROM(
  SELECT *
  FROM myschema.stage_table)

你试过了吗 MATCH_BY_COLUMN_NAME = CASE_SENSITIVE | CASE_INSENSITIVE | NONE

文档:https://docs.snowflake.com/en/sql-reference/sql/copy-into-table.html#type-parquet