使用pyspark将json文件读入RDD(而不是dataFrame)

时间:2017-10-30 09:49:20

标签: json apache-spark pyspark

我有以下文件:test.json>

{
    "id": 1,
    "name": "A green door",
    "price": 12.50,
    "tags": ["home", "green"]
}

我想将此文件加载到RDD中。这就是我试过的:

rddj = sc.textFile('test.json')
rdd_res = rddj.map(lambda x: json.loads(x))

我收到了一个错误:

  

期望对象:第1行第1列(字符0)

我不完全理解json.loads做了什么。

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

textFile逐行读取数据。输入的各行不是语法上有效的JSON。

只需使用json阅读器:

spark.read.json("test.json", multiLine=True)

或(不推荐)全文文件

sc.wholeTextFiles("test.json").values().map(json.loads)