簡體   English   中英

從spark scala中的多行文件讀取JSON文件

[英]Read JSON files from multiple line file in spark scala

我正在 Scala 中學習火花。 我有一個 JSON 文件,如下所示:

[
  {
    "name": "ali",
    "age": "13",
    "phone": "09123455737",
    "sex": "m"
  },{
    "name": "amir",
    "age": "24",
    "phone": "09123475737",
    "sex": "m"
  }
]

只有這個代碼:

val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val jsonFile = sqlContext.read.json("path-to-json-file")

我只收到了corrupted_row : String沒有別的,但是當把每個人(或對象)放在單行中時,代碼工作正常

如何在 spark 中從多行讀取 JSON sqlContext?

您必須自己將其讀入 RDD,然后將其轉換為數據集:

spark.read.json(sparkContext.wholeTextFiles(...).values)          

由於您有多行 json 行,因此導致此問題。 雖然默認情況下 spark.read.json 期望一行在一行中,但這是可配置的:

您可以設置選項spark.read.json("path-to-json-file").option("multiLine", true)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM