如何解决Snowflake Pipe自动Ingest的文件名大小写匹配问题?
Snow Pipe 文件名大小写不敏感摄取解决方案
Snowflake的pattern参数不支持Perl风格的/.../i修饰符写法,要实现大小写不敏感的文件名匹配,你可以使用POSIX正则的内联大小写不敏感修饰符(?i),将其放在正则模式的开头即可。
修改后的管道定义如下:
create pipe PIPE_NAME auto_ingest = true integration = 'STG_NI_DATAWAREHOUSE_FILES' as copy into STAGE_ORDER(COLUMN1, COLUMN2, COLUMN3) from ( select t.$1,t.$2,t.$3 from @STG_AZURE_STAGE_DATA_WAREHOUSE_FILES t ) pattern = '(?i)allturna_client_orders_.*txt' ON_ERROR=CONTINUE file_format=(format_name = 'STG_FILE_FORMAT_DATA_WAREHOUSE_UTF16');
说明
(?i)是POSIX正则的内联修饰符,放在模式开头后,整个正则表达式会忽略大小写进行匹配- 这样修改后,不管文件名是
allturna_client_orders_1.txt、ALLTURNA_CLIENT_ORDERS_1.TXT还是混合大小写的格式,都能被管道正确识别并摄取
内容的提问来源于stack exchange,提问作者Siddharth Kumar
相关产品推荐
相关产品推荐

