如何将 json 转换为 pyspark 数据帧(更快的实现)[重复]

Posted

技术标签:

【中文标题】如何将 json 转换为 pyspark 数据帧(更快的实现)[重复]【英文标题】:How to convert json to pyspark dataframe (faster implementation) [duplicate] 【发布时间】:2017-06-09 11:00:06 【问题描述】:

我有 json 数据,格式为 'abc':1, 'def':2, 'ghi':3 如何在python中将其转换为pyspark数据框?

【问题讨论】:

【参考方案1】:
import json
j = 'abc':1, 'def':2, 'ghi':3
a=[json.dumps(j)]
jsonRDD = sc.parallelize(a)
df = spark.read.json(jsonRDD)

>>> df.show()
+---+---+---+
|abc|def|ghi|
+---+---+---+
|  1|  2|  3|
+---+---+---+

【讨论】:

虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。 这正在解决问题。但它非常慢。从 json 转换为数据帧需要 100 毫秒。它正在增加 API 往返时间。有更快的方法吗? data = ["a": 1, "b": 2, "c": 3, "d": 4, "e": 5] df = sql_context.createDataFrame(data ) df.show()

以上是关于如何将 json 转换为 pyspark 数据帧(更快的实现)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将 PySpark 数据帧转换为 JSON,每列作为键

使用 pyspark 将 spark 数据帧转换为嵌套 JSON

将 JSON 从 URL 转换为数据帧(Pyspark 和 Scala)

如何将spark数据帧列名和行数据转换为json数据

如何在 PySpark 中将字符串转换为字典 (JSON) 的 ArrayType

如何将 pyspark 数据帧 1x9 转换为 3x3