JSON ISO 8601 时间字符串到时间格式 AWS-Glue
JSON ISO 8601 time string to time format AWS-Glue
我有 JSON 格式的数据,其中包含 ISO 8601 时间戳格式,例如“2017-06-29T00:00:00-0400”,我正在尝试使用 AWS Glue 转换 Athena/Quicksights 使用;但是我尝试过的每种转换组合仍然将目标字段视为字符串(在抓取目标 json 文件之后)。我在尝试查询 Athena
中的 table 时也收到 HIVE_BAD_DATA 错误解析字段
尝试
df = df.withColumn("isodate", to_timestamp("isodate",
"yyyy-MM-dd'T'HH:mm:ssZ"))
您可以尝试在 table 定义的 serde 参数部分设置 timestamp.formats=yyyy-MM-dd'T'HH:mm:ss+|-hhmm。您可以在 AWS Glue 中执行此操作。
感谢您的意见,我能够通过使用 parseDate(replace(substring({date_in_ISO},1,19),'T'," "),'yyyy-MM-dd HH:mm:ss')
我有 JSON 格式的数据,其中包含 ISO 8601 时间戳格式,例如“2017-06-29T00:00:00-0400”,我正在尝试使用 AWS Glue 转换 Athena/Quicksights 使用;但是我尝试过的每种转换组合仍然将目标字段视为字符串(在抓取目标 json 文件之后)。我在尝试查询 Athena
中的 table 时也收到 HIVE_BAD_DATA 错误解析字段尝试
df = df.withColumn("isodate", to_timestamp("isodate", "yyyy-MM-dd'T'HH:mm:ssZ"))
您可以尝试在 table 定义的 serde 参数部分设置 timestamp.formats=yyyy-MM-dd'T'HH:mm:ss+|-hhmm。您可以在 AWS Glue 中执行此操作。
感谢您的意见,我能够通过使用 parseDate(replace(substring({date_in_ISO},1,19),'T'," "),'yyyy-MM-dd HH:mm:ss')