雪花镶木地板加载模式生成
Posted
技术标签:
【中文标题】雪花镶木地板加载模式生成【英文标题】:snowflake parquet load schema generation 【发布时间】:2020-09-17 01:13:56 【问题描述】:正在将镶木地板文件从 S3 位置加载到雪花表。这就是我正在做的事情:
-
已创建目标表
CREATE TABLE myschema.target_table(
col1 DATE,
col2 VARCHAR);
-
使用以下命令创建阶段表
CREATE OR REPLACE TEMPORARY STAGE myschema.stage_table
url = 's3://mybucket/myfolder1/'
storage_integration = My_int
fileformat = (type = 'parquet')
-
从暂存表加载目标表
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,则不必提及列 【参考方案1】:你试过了吗 MATCH_BY_COLUMN_NAME = CASE_SENSITIVE | CASE_INSENSITIVE |无
文档:https://docs.snowflake.com/en/sql-reference/sql/copy-into-table.html#type-parquet
【讨论】:
以上是关于雪花镶木地板加载模式生成的主要内容,如果未能解决你的问题,请参考以下文章
如何将镶木地板格式的特定列加载到 Redshift 光谱中?