首页 > 解决方案 > 有没有办法简化在 spark-sql 中使用嵌套数据?

问题描述

我正在使用 spark-sql(使用 Scala),我发现当我想在 Dataframe 中操作数组数据以做更多事情时有很多限制,而无需传递给 RDD API 并重建模式以返回spark-sql 数据框抽象。

我的用例的一个例子是:“给定一个嵌套结构,不仅要爆炸记录,还要合并和解决数组内记录之间的冲突”。

例如,考虑具有订单数组的客户,考虑到订单可能重叠,并且客户可能有多个具有相同 id 的订单:我希望在爆炸阶段解决重叠数据之间的订单冲突。

实际上我可以用 rdd 做到这一点,但我的代码看起来很棘手,我想在没有 rdd 级别的情况下做到这一点。有没有一种方法或一个库可以扩展 spark-sql 以编写干净的代码并以线性模式对数组进行操作?

另一个用例可能是“我只想分解作为嵌套数据框中叶子的数组”。

在此先感谢您的帮助。

标签: arraysscalaapache-sparkapache-spark-sql

解决方案


推荐阅读