2016-11-14 2 views
0

Ich versuche, Probe JSON-Datei durch Apache Spark zu lesen, während dieses Prozesses beobachtete ich eine Sache ist, dass Sie gesamte JSON-Objekt in eine einzige Zeile halten müssen. Wenn ich das gesamte JSON-Objekt in einer einzigen Zeile halte, funktioniert der Code gut, ansonsten wird eine Ausnahme ausgelöst.Lesen von JSON-Daten durch Apache Spark

Das ist meine json Daten:

[ 
    { 
     "id": 2, 
     "name": "An ice sculpture", 
     "price": 12.50, 
     "tags": ["cold", "ice"], 
     "dimensions": { 
      "length": 7.0, 
      "width": 12.0, 
      "height": 9.5 
     }, 
     "warehouseLocation": { 
      "latitude": -78.75, 
      "longitude": 20.4 
     } 
    }, 
    { 
     "id": 3, 
     "name": "A blue mouse", 
     "price": 25.50, 
     "dimensions": { 
      "length": 3.1, 
      "width": 1.0, 
      "height": 1.0 
     }, 
     "warehouseLocation": { 
      "latitude": 54.4, 
      "longitude": -32.7 
     } 
    } 
] 

Dies ist mein Code:

SparkSession session = new SparkSession.Builder().appName("JsonRead").master("local").getOrCreate(); 
     Dataset<Row> json = session.read().json("/Users/mac/Desktop/a.json"); 
     json.select("tags").show(); 

Bei kleinen Datenmengen ist es okay, ist eine andere Möglichkeit, große json Datensätze zu verarbeiten?

+0

Welche Ausnahme erhalten Sie? – MaxNevermind

+0

Ausnahme im Thread "main" org.apache.spark.sql.AnalysisException: kann ''tag'' angegebene Eingabespalten nicht auflösen: [_corrupt_record]; – user4342532

Antwort