Snowflake时间格式转换异常及规范格式需求(AF ingestion场景)
Snowflake AF Ingestion 时间格式解析错误修复
问题描述
- 源文件时间格式:
20240415114349(对应实际时间:2024-04-15 11:43:49) - 经AF Ingestion导入Snowflake后,
TIMESTAMPNTZ类型字段解析为错误值:2611-05-25 01:48:44.449 - 需求:将源时间正确解析为
YYYY-MM-DD HH:MM:SS格式的TIMESTAMPNTZ值
错误原因
AF Ingestion未明确指定时间字段的解析规则时,会默认将数字字符串识别为毫秒级Unix时间戳计算,导致时间值严重偏移。
解决方案
修改config.json中对应表的配置,添加dt_col_format参数指定源时间的格式:
"files":[ { "table_name": "CDR_CBG", "file_pattern":"cdl_%Y%m%d*", "partition_pattern":"%Y/%m/%d", "active": "true", "fail_on_missing_files": "true", "overwrite_target":"false", "move_files":"true", "file_dt_expr" : "", "dt_col_format" : "yyyyMMddHHmmss", // 关键:指定源时间的格式模板 "target_partition_adjustment":"1", "dbt_snapshot": "", "snowflake_table": "CDR_CBG" } ]
验证步骤
- 更新配置后重新执行AF Ingestion任务
- 查询Snowflake的
CDR_CBG表,确认时间字段值显示为2024-04-15 11:43:49(符合TIMESTAMPNTZ的标准格式)
内容的提问来源于stack exchange,提问作者DariusB
相关产品推荐
相关产品推荐

