使用spark sql合并集类型列

时间:2017-11-04 00:33:25

标签: apache-spark apache-spark-sql

我有两个数据集,其列具有集合的类型(例如,由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 个答案:

答案 0 :(得分:0)

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

此外,没有用于集合交叉的内置函数。您可以做的最好是使用UserDefinedFunction,例如Array Intersection in Spark SQL

中显示的{{1}}