2017-03-03 58 views
0

Click here to see Image與Apache火花解析JSON數據和Scala

我有數據這種類型的文件的每一行是除了前幾個字(見所附圖像)的JSON對象。我想用Spark和Scala解析這種類型的文件。我已經嘗試過使用sqlContext.read.json(「json文件的路徑」),但它給我錯誤(損壞的數據),因爲整個數據不是JSON對象。如何解析這個JSON文件到SQL數據框?

+0

如果已經無效JSON,你可以不使用任何工具 –

+0

這是無效的JSON解析呢? –

+0

那麼,事實上,你有實際的JSON之前的非JSON數據,那麼是的,它在Sparks眼中無效。您需要單獨提取數據 –

回答

1

試試這個:

val rawRdd = sc.textFile("path-to-the-file") 
val jsonRdd = rawRdd.map(_.substring(32)) //32 - number of first characters to ignore 

val df = spark.read.json(jsonRdd) 
+0

最後的命令給了我一個如下所示的錯誤。 at org.apache.hadoop.mapred.FileInputFormat.singleThreadedListStatus(FileInputFormat.java:287) at org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:229) –

+0

如果你可以提供一些要測試的示例數據。 – semsorock

+0

你用什麼版本的火花? – semsorock