使用 spark sql 合并集类型列 [重复]

Posted

技术标签:

【中文标题】使用 spark sql 合并集类型列 [重复]【英文标题】:merge set type columns using spark sql [duplicate] 【发布时间】:2017-11-04 00:33:24 【问题描述】:

我有两个数据集的列具有集合的类型(例如,由collect_set 函数生成的列)

我想将它们合并到某个连接中...例如:

SELECT
   ...
   SOME_MERGE_FUNCTION(x.x_set, y.y_set) as unioned_set
FROM x LEFT OUTER JOIN y ON ...

spark sql 中是否有类似SOME_MERGE_FUNCTION 的函数,它基本上会创建x_sety_set 的联合?

【问题讨论】:

【参考方案1】:

首先,没有像 set 列这样的东西。 collect_list 返回ArrayType 列。

也没有设置交集的内置函数。最好的办法是使用UserDefinedFunction,例如Array Intersection in Spark SQL 中显示的那个

【讨论】:

spark.apache.org/docs/2.0.2/api/java/org/apache/spark/sql/…

以上是关于使用 spark sql 合并集类型列 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Spark Sql实战--合并数据

sql 合并列查询

Spark dataframe 中某几列合并成vector或拆分

Spark dataframe 中某几列合并成vector或拆分

求助,oracle多行数据合并成一行

求助,oracle多行数据合并成一行