Spark 2.0.0 Lesen von JSON-Daten mit variablem Schema

Ich versuche, den Website-Traffic eines Monats zu verarbeiten, der in einem S3-Bucket als json gespeichert ist (ein json-Objekt pro Zeile / Website-Traffic-Treffer). Die Datenmenge ist groß genug, dass ich Spark nicht bitten kann, das Schema abzuleiten (OOM-Fehler). Wenn ich das Schema spezifiziere, wird es offensichtlich gut geladen. Das Problem ist jedoch, dass die Felder in den einzelnen JSON-Objekten unterschiedlich sind. Selbst wenn ich ein Schema mit dem Datenverkehr eines Tages erstelle, ist das monatliche Schema anders (mehr Felder) und mein Spark-Job schlägt fehl.

So bin ich neugierig zu verstehen, wie andere mit diesem Problem umgehen. Ich kann zum Beispiel einen traditionellen RDD-Mapreduce-Job verwenden, um die Felder, an denen ich interessiert bin, zu extrahieren, zu exportieren und dann alles in einen Datenrahmen zu laden. Aber das ist langsam und scheint sich selbst zu besiegen.

Ich habe ein @ gefund ähnliche Frage hier aber keine relevanten Informationen für mich.

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage