我想用aws athena在s3上查询我的应用程序日志,但是我在创建表/指定数据格式时遇到了问题。
以下是日志行的外观:
2020-12-09T18:08:48.789Z {"reqid":"Root=1-5fd112b0-676bbf5a4d54d57d56930b17","cache":"xxxx","cacheKey":"yyyy","level":"debug","message":"cached value found"}
它是一个时间戳,后跟空格和我要查询的json行。
有没有办法像这样查询日志?我看到csv、tsv、json、apacheweb日志和带有自定义分隔符的文本文件支持数据格式,但是由于时间戳,我不能简单地使用json。
1条答案
按热度按时间u4dcyp6a1#
定义单列表:
您可以使用regexp提取时间戳和json,然后分别解析json:
或者,您可以定义带有2列的regexserde表,serde将解析两列,您所需要的只是解析json列: