2017-02-17 3 views
0

Ich befolge den Rat an https://databricks.gitbooks.io/databricks-spark-knowledge-base/content/best_practices/dealing_with_bad_data.html, einige JSON-Daten zu reinigen.Konvertieren Datensatz von JSON-Zeilen in Dataframe mit SparkSession

Allerdings ist das Handbuch veraltet und ich möchte sparkSession verwenden, um den Datensatz zu laden und den JSON zu analysieren.

spark.read.text('file.json').as[String].map(x => parse_json(x)) 

So landete ich mit einem Dataset[String] statt RDD[String] up, wie lese ich die Zeilen von json im Datensatz?

+1

Versuchen spark.read.text ('file.json'). Karte (x => parse_json (x)). Rdd – Pushkr

+0

@Pushkr ja, Werke – user113531

Antwort

0

Definieren Sie eine Fallklasse (ähnlich wie Java Pojo) mit der erwarteten Struktur und ordnen Sie ihr die Eingabedaten zu. Spalten werden automatisch nach Namen sortiert, und die Typen bleiben erhalten. betrachten person.json als

{"name": "Narsireddy", "age": 30, "technology": "hadoop"} 

der Fall Klasse wie Person Fall-Klasse definieren (name: String, Alter: Integer, Technologie: String). Lesen Sie JSON-Datei und Karte zu Datensatz von Personen

val personDataSet = sqlContext.read.json("/person.json").as[Person] 
Verwandte Themen