Wenn ich SELECT COUNT (*) FROM TABLE ausführe, ist die Ausgabe „1“, aber die Eingabedatei enthält mehrere JSON-Datensätze. Ich habe org.openx.data.jsonserde.JsonSerde verwendet, um die Tabelle zu erstellen.
Lösung
Wenn Datensätze nicht durch einen Zeilenumbruch (\ n) getrennt sind, gibt die SELECT COUNT (\ *) FROM TABLE-Abfrage „1.“ zurück
Beispiel:
{"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"}
Um dieses Problem zu beheben, stellen Sie sicher, dass die Datensätze durch\ n getrennt sind, wie im folgenden Beispiel gezeigt:
{"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"}
In diesem Fall gibt SELECT COUNT (*) FROM TABLE den Wert „3.“ zurück
Hinweis: Das SerDe erwartet, dass sich jedes JSON-Dokument in einer einzigen Textzeile befindet, ohne dass Zeilenabschlusszeichen die Felder im Datensatz trennen. Weitere Informationen finden Sie unter Bewährte Methoden für das Lesen von JSON-Daten.
Ähnliche Informationen
WÄHLEN
TABELLE ERSTELLEN
Ausführen von SQL-Abfragen mit Amazon Athena