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 サポート ナレッジ センターに戻る

サポートが必要ですか? AWS サポートセンターをご覧ください。

公開日: 2018 年 08 月 24 日