2017-02-17 48 views
0

我按照https://databricks.gitbooks.io/databricks-spark-knowledge-base/content/best_practices/dealing_with_bad_data.html的建議來清理一些json數據。使用SparkSession將Json行的數據集轉換爲Dataframe

但是,指南已過時,我想用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')。圖(X => parse_json(X))。RDD – Pushkr

+0

@Pushkr是,作品 – user113531

回答

0

定義一個具有期望結構的case類(類似於java pojo)並將輸入數據映射到它。列按名稱自動排列,並保留類型。考慮person.json作爲

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

的定義案例類像 情況下Person類(名稱:字符串年齡:整數,技術:字符串)。閱讀JSON文件,並映射到人的數據集

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