簡體   English   中英

從 Pyspark Dataframe 創建 Json 結構

[英]Creating Json structure from Pyspark Dataframe

我有數據框,它是左連接的產物。 現在我想創建 json 結構。

我嘗試使用不同的選項,但無法創建它。 這是我的數據框:

col1    col2    col3    col4
1111    name    aaa     bbb
1111    name    ccc     ddd
1111    name    iii     kkk
1112    name1   abcd    def
1112    name1   DEFG    ABXC

所需的 json 結構是:

{col1: 1111, col2: name, details: [{col3: aaa, col4: bbb}, {col3: ccc, col4: ddd}, {col3: iii, col4: kkk}]},
{col1: 1112, col2: name1, details: [{col3: abcd, col4: def}, {col3: DEFG, col4: ABXC}]}

你可以這樣做:

import pyspark.sql.functions as f

df = df.withColumn("details", f.to_json(f.struct("col3", "col4")))
df = df.groupBy(*["col1", "col2"]).agg(f.collect_list("details").alias("details"))

df.write.format('json').save('/path/file_name.json')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM