【发布时间】:2021-10-09 10:18:00
【问题描述】:
我有一个数据框,其中有 2 个 json 列。我需要根据 j1 列更新 j2 列。如果 j2 列的元素为空,则从 j1 列中选择元素值。 j1 为 JSON 字符串,j2 为 JSON 数组。
输入数据帧,
+---------------------------+---------------------------------------+
| j1 | j2 |
+---------------------------+---------------------------------------+
|{"A": "50", "B": "30"} | [{"A": null}, {"A": "20", "B": null}] |
+---------------------------+---------------------------------------+
输出
+------------------------+---------------------------------------+
| j1 | j2 |
+------------------------+---------------------------------------+
|{"A": "50", "B": "30"} | [{"A":"50"}, {"A": "20", "B": "30"}] |
+------------------------+---------------------------------------+
spark 版本:2.4.0 语言:scala
【问题讨论】:
-
您能否发布示例代码以创建源数据框?
-
列 j2 = collect_list(to_json(struct("A", "B"))) 和 j1 = to_json(struct("A", "B")
标签: json scala dataframe apache-spark