【发布时间】:2021-10-13 18:18:17
【问题描述】:
我正在尝试从 pyspark 数据框创建 JSON 结构。我的数据框中有以下列 - batch_id、batch_run_id、table_name、column_name、column_datatype、last_refresh_time、refresh_frequency、owner
我想要它在下面的 JSON 结构中 -
{
"GeneralInfo": {
"DataSetID": "xxxx1234Abcsd",
"Owner" : ["test1@email.com", "test2@email.com", "test3@email.com"]
"Description": "",
"BuisnessFunction": "",
"Source": "",
"RefreshRate": "Weekly",
"LastUpdate": "2020/10/15",
"InfoSource": "TemplateInfo"
},
"Tables": [
{
"TableName": "Employee",
"Columns" : [
{ "ColumnName" : "EmployeeID",
"ColumnDataType": "int"
},
{ "ColumnName" : "EmployeeName",
"ColumnDataType": "string"
}
]
}
}
}
我正在尝试通过数据框列索引分配 JSON 字符串中的值,但它给了我一个错误,因为“类型列的对象不是 JSON 可序列化的”。我用过如下-
{
"GeneralInfo": {
"DataSetID": df["batch_id"],
"Owner" : list(df["owner"])
"Description": "",
"BuisnessFunction": "",
"Source": "",
"RefreshRate": df["refresh_frequency"],
"LastUpdate": df["last_update_time"],
"InfoSource": "TemplateInfo"
},
"Tables": [
{
"TableName": df["table_name"],
"Columns" : [
{ "ColumnName" : df["table_name"]["column_name"],
"ColumnDataType": df["table_name"]["column_datatype"]
}
]
}
}
}
请帮帮我,我刚开始在 Pyspark 中编码。
【问题讨论】:
-
能否粘贴示例数据框?
-
@MohanaBC 我已经更新了我的帖子,请检查。谢谢
-
@MohanaBC - 你检查了吗?
-
是的,但没有像您预期的那样获得单个 JSON 元素。
标签: python json apache-spark pyspark apache-spark-sql