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

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

例如:

{"ID":"1","MYTIMESTAMP":"2018-04-25 17:50:46.267","Name":"John"}{"ID":"2","MYTIMESTAMP":"2018-04-26 17:50:46.267","Name":"Joel"}{"ID":"3","MYTIMESTAMP":"2018-04-26 17:50:46.267","Name":"Patrick"}

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

{"ID":"1","MYTIMESTAMP":"2018-04-25 17:50:46.267","Name":"John"}

{"ID":"2","MYTIMESTAMP":"2018-04-26 17:50:46.267","Name":"Joel"}

{"ID":"3","MYTIMESTAMP":"2018-04-26 17:50:46.267","Name":"Patrick"}

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


此页内容对您是否有帮助? |

返回 AWS Support 知识中心

需要帮助? 请访问 AWS 支持中心

发布时间:2018 年 8 月 24 日