2017-02-17 6 views
0

Я следую советам https://databricks.gitbooks.io/databricks-spark-knowledge-base/content/best_practices/dealing_with_bad_data.html, чтобы очистить некоторые данные json.Преобразование набора данных линий Json в Dataframe с SparkSession

Однако руководство устарело, и я хотел бы использовать sparkSession для загрузки набора данных и разбора json.

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

Так что я закончил с Dataset[String] вместо RDD[String], как я прочитал строки JSON в наборе данных?

+1

Попробуйте spark.read.text ('file.json'). Карта (х => parse_json (х)). Рдд – Pushkr

+0

@Pushkr да, работает – user113531

ответ

0

Определите класс case (аналогичный java pojo) с ожидаемой структурой и сопоставьте входные данные с ним. Столбцы автоматически выравниваются по имени, и типы сохраняются. Рассмотрим person.json, как

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

Определить случай класса как случае класса Person (имя: String, возраст: Integer, технологии: String). Прочитайте файл JSon и карта для набора данных лиц

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

 Смежные вопросы

  • Нет связанных вопросов^_^