我有一個資料框。
from pyspark.sql.types import *
input_schema = StructType(
[
StructField("ID", StringType(), True),
StructField("Date", StringType(), True),
StructField("code", StringType(), True),
])
input_data = [
("1", "2021-12-01", "a"),
("2", "2021-12-01", "b"),
]
input_df = spark.createDataFrame(data=input_data, schema=input_schema)

我想執行一個轉換,將一組列和東西組合成一個 json 字串。要組合的列是提前知道的。輸出應如下所示。

有沒有建議的方法來實作這一點?感謝您對此的任何幫助。
uj5u.com熱心網友回復:
您可以創建一個結構型別,然后轉換為 json:
from pyspark.sql import functions as F
col_to_combine = ['Date','code']
output = input_df.withColumn('combined',F.to_json(F.struct(*col_to_combine)))\
.drop(*col_to_combine)
output.show(truncate=False)
--- --------------------------------
|ID |combined |
--- --------------------------------
|1 |{"Date":"2021-12-01","code":"a"}|
|2 |{"Date":"2021-12-01","code":"b"}|
--- --------------------------------
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/437364.html
上一篇:C#中的陣列Json反序列化問題
下一篇:使用jq根據哈希中的鍵選擇物件
