我有以下文件: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
做了什么。
如何解决此问题?
答案 0 :(得分:1)
textFile
逐行读取数据。输入的各行不是语法上有效的JSON。
只需使用json阅读器:
spark.read.json("test.json", multiLine=True)
或(不推荐)全文文件
sc.wholeTextFiles("test.json").values().map(json.loads)