即使输入 JSON 文件有多条记录,Amazon Athena 中的 SELECT COUNT 查询也仅返回一条记录

上次更新日期:2020 年 10 月 7 日

当我执行 SELECT COUNT(*) FROM TABLE 时,输出是“1”,但输入文件中有多条 JSON 记录。我使用了 org.openx.data.jsonserde.JsonSerDe 创建表。为什么查询返回错误的值?

解决方法

当记录没有用换行符 (\n) 分隔时,SELECT COUNT(*) FROM TABLE 会返回“1”。 例如:

{"ID":"1","MYTIMESTAMP":"2020-06-09 17:50:46.267","Name":"John"}{"ID":"2","MYTIMESTAMP":"2020-06-10 17:50:46.267","Name":"Joel"}{"ID":"3","MYTIMESTAMP":"2020-06-10 17:50:46.267","Name":"Patrick"}

要解决此问题,请确保记录由 \n 分隔,如以下示例所示:

{"ID":"1","MYTIMESTAMP":"2020-06-09 17:50:46.267","Name":"John"}

{"ID":"2","MYTIMESTAMP":"2020-06-10 17:50:46.267","Name":"Joel"}

{"ID":"3","MYTIMESTAMP":"2020-06-10 17:50:46.267","Name":"Patrick"}

现在,SELECT COUNT(*) FROM TABLE 会返回“3”。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?