gpt4 book ai didi

json - Spark 行转 JSON

转载 作者:行者123 更新时间:2023-12-01 16:05:25 28 4
gpt4 key购买 nike

我想从 Spark v.1.6(使用 scala)数据帧创建 JSON。我知道有一个简单的解决方案:df.toJSON

但是,我的问题看起来有点不同。例如,考虑一个具有以下列的数据框:

|  A  |     B     |  C1  |  C2  |    C3   |
-------------------------------------------
| 1 | test | ab | 22 | TRUE |
| 2 | mytest | gh | 17 | FALSE |

我想在最后有一个带有

的数据框
|  A  |     B     |                        C                   |
----------------------------------------------------------------
| 1 | test | { "c1" : "ab", "c2" : 22, "c3" : TRUE } |
| 2 | mytest | { "c1" : "gh", "c2" : 17, "c3" : FALSE } |

其中 C 是包含 C1C2C3 的 JSON。不幸的是,我在编译时不知道数据帧是什么样的(除了始终“固定”的列 AB )。

至于我需要这个的原因:我正在使用 Protobuf 发送结果。不幸的是,我的数据框有时具有比预期更多的列,我仍然会通过 Protobuf 发送这些列,但我不想在定义中指定所有列。

我怎样才能实现这个目标?

最佳答案

Spark 2.1 应该对此用例提供 native 支持(请参阅 #15354)。

import org.apache.spark.sql.functions.to_json
df.select(to_json(struct($"c1", $"c2", $"c3")))

关于json - Spark 行转 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36157810/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com