【发布时间】:2021-08-21 11:14:15
【问题描述】:
下面是我的数据框。我通过将 java Json 列表转换为数据框来获取此数据框。
+---+--------------------------------------------------------------------------------------------------+
| | Value |
+---+---+----------------------------------------------------------------------------------------------+
| 1| {"Name":"john","type":"On(r) TV: Channel","desc_lang":"en~en~en~en","copyright":"Copyright 2021"}|
|-- --------------------------------------------------------------------------------------------------+
| 2| {"Name":"Dane","type":"On(r) TV: Prgrm","desc_lang":"FR~FR~FR~FR","copyright":"Copyright 2022"} |
+------------------------------------------------------------------------------------------------------+
所需的输出如下。
+---+---------------------+---+-------+----------------+
|Name| type | desc_lang | copyright |
+----+--------------------+-----------+-------+--------+
|john| On(r) TV: Channel | en~en~en~en |Copyright 2021|
|Dane| On(r) TV: Prgrm | FR~FR~FR~FR |Copyright 2022|
+----+--------------------+-------------+--------------+
这只是示例数据,我实际上有大约 180 列需要展平为上述表格格式。下面是我尝试拆分的代码,但它没有给我想要的输出。
val dfcollect = DF.withColumn("finalop", split($"Value", ":"))
有人可以协助解决如何实现此输出。
【问题讨论】:
标签: json scala apache-spark apache-spark-sql