代码之家  ›  专栏  ›  技术社区  ›  Yash

使用pyspark将json文件读入RDD(不是数据帧)

  •  2
  • Yash  · 技术社区  · 8 年前

    我有以下文件: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 回复  |  直到 8 年前
        1
  •  3
  •   Alper t. Turker    8 年前

    textFile 逐行读取数据。输入的每一行在语法上都不是有效的JSON。

    只需使用json阅读器:

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

    或(不推荐)全文文件

    sc.wholeTextFiles("test.json").values().map(json.loads)
    
    推荐文章