在pyspark中同时分解2列(2个列表)

时间:2018-02-10 17:01:13

标签: apache-spark pyspark apache-spark-sql

我有什么:

fix_array = [4,5,6]

我将它放在list2列中:

df = df.withColumn('list2', F.array(map(lambda x: F.lit(x), fix_array)))

所以,我有:

| id |  list1  |  list2  |
--------------------------
| 1  | [1,2,3] | [4,5,6] |
| 2  | [8,9,10]| [4,5,6] |

我想:

| id |  new_col1  | new_col2 |
------------------------------
| 1  |      1     |    4     |
| 1  |      2     |    5     |
| 1  |      3     |    6     |
| 2  |      8     |    4     |
| 2  |      9     |    5     |
| 2  |      10    |    6     |

正如您可能理解的那样,列表2列中的数组是一个修复数组(之前已计算过),但我不知道该数组的值。

list1和list2中的数组具有相同的大小。

0 个答案:

没有答案