如何将spark数据帧列名和行数据转换为json数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将spark数据帧列名和行数据转换为json数据相关的知识,希望对你有一定的参考价值。
我有一个pyspark数据帧
spark = SparkSession
.builder
.appName("NPS_TF")
.getOrCreate()
df2 = spark.createDataFrame([
("unknown", 1,2,3)
], ["Assign", "xs[0]","xs[1]","xs[2]"])
df2.limit(1).show()
如何将部分数据帧列名称和第一行数据转换为此json格式:
{"fields": ["xs[0]", "xs[1]", "xs[2]"], "values": [[1,2,3]]}
答案
检查此解决方案
df2 = spark.createDataFrame([("unknown", 1,2,3)], ["Assign", "xs[0]","xs[1]","xs[2]"])
fields = ['xs[0]', 'xs[1]', 'xs[2]']
values = df2.rdd.map(lambda p: [p[field] for field in fields]).collect()
json_obj = {
'fields': fields,
'values': values
}
以上是关于如何将spark数据帧列名和行数据转换为json数据的主要内容,如果未能解决你的问题,请参考以下文章
使用 pyspark 将 spark 数据帧转换为嵌套 JSON