试图解决将Parquet文件中的混合大小写字段映射到Snowflake的问题,因为它以大写形式存储列名。
我正在使用Azure数据工厂的复制活动将Parquet文件加载到Snowflake。例如,我的镶木地板模式是(ID、CustomerName、CustomerType(。当加载到Snowflake时,我填充了ID列,但在CustomerName/CustomerType中没有任何内容。
请记住,我的源代码大小写可能会意外更改(例如,CustomerName->CustomerName(,以前有人看到并解决过这个问题吗?
如果您的镶木地板已经是blob,您应该能够使用将它们直接复制到Snowflake表中
MATCH_BY_COLUMN_NAME = CASE_INSENSITIVE
复制选项。https://docs.snowflake.com/en/sql-reference/sql/copy-into-table.html
示例:
copy into example_table from @example_stage/table_folder/
MATCH_BY_COLUMN_NAME = CASE_INSENSITIVE -- match parquet column names to snowflake table column names
PATTERN = '.*parquet' -- optional, pattern to only copy files that end in "parquet"
PURGE = TRUE -- optional, will delete successfully copied files from blob (if privlaged to do so)
;
ADF现在有脚本活动,所以您可以在那里进行编排。
https://medium.com/@川珠/雪花无束发射-射频-活性-血液检测-25475 ea86a09
附带说明:Snowflake具有用于镶木地板的模式检测功能,因此您甚至可以直接从镶木地板文件中生成表。
雪花作为水槽:
Snowflake连接器利用Snowflak的COPY into〔table〕命令来实现最佳性能。它支持在Azure上向Snowflake写入数据。
属性 描述 必需importSettings 用于将数据写入Snowflake的高级设置。您可以配置COPY into命令支持的那些,当您调用该语句时,服务将通过这些命令 否