【问题标题】:snowflake parquet load schema generation雪花镶木地板加载模式生成
【发布时间】:2020-09-17 01:13:56
【问题描述】:

正在将镶木地板文件从 S3 位置加载到雪花表。这就是我正在做的事情:

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

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

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

【问题讨论】:

  • 您能否在 AWS 上使用 Glue 将镶木地板转换为 CSV。成本更高,但如果您可以使用 CSV,则不必提及列

标签: snowflake-cloud-data-platform parquet


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2020-06-10
    • 1970-01-01
    • 1970-01-01
    • 2021-02-04
    • 2020-01-10
    • 2016-01-18
    • 2019-02-25
    • 2018-12-20
    • 2020-02-25
    相关资源
    最近更新 更多