【发布时间】:2020-11-12 03:38:12
【问题描述】:
假设我有一个 Spark DataFrame d1 有两列 elements_1 和 elements_2,其中包含大小为 k 的整数集,以及包含整数值的 value_1、value_2。例如,k = 3:
d1 =
+------------+------------+
| elements_1 | elements_2 |
+-------------------------+
| (1, 4, 3) | (3, 4, 5) |
| (2, 1, 3) | (1, 0, 2) |
| (4, 3, 1) | (3, 5, 6) |
+-------------------------+
我需要创建一个新列combinations,其中包含对于每对集合elements_1 和elements_2,来自其元素的所有可能组合的集合列表。这些集合必须具有以下属性:
- 它们的大小必须是
k+1 - 它们必须包含
elements_1中的集合或elements_2中的集合
例如,从(1, 2, 3) 和(3, 4, 5) 我们得到[(1, 2, 3, 4), (1, 2, 3, 5), (3, 4, 5, 1) and (3, 4, 5, 2)]。该列表不包含(1, 2, 5),因为它的长度不是3+1,也不包含(1, 2, 4, 5),因为它既不包含原始集合。
【问题讨论】:
标签: scala apache-spark apache-spark-sql