雪花镶木地板加载模式生成
snowflake parquet load schema generation
正在从 S3 位置将 parquet 文件加载到雪花 table。这就是我正在做的:
- 创建目标table
CREATE TABLE myschema.target_table(
col1 DATE,
col2 VARCHAR);
- 使用以下命令创建阶段 table
CREATE OR REPLACE TEMPORARY STAGE myschema.stage_table
url = 's3://mybucket/myfolder1/'
storage_integration = My_int
fileformat = (type = 'parquet')
- 从舞台 table
加载目标 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
正在从 S3 位置将 parquet 文件加载到雪花 table。这就是我正在做的:
- 创建目标table
CREATE TABLE myschema.target_table(
col1 DATE,
col2 VARCHAR);
- 使用以下命令创建阶段 table
CREATE OR REPLACE TEMPORARY STAGE myschema.stage_table
url = 's3://mybucket/myfolder1/'
storage_integration = My_int
fileformat = (type = 'parquet')
- 从舞台 table 加载目标 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