Python 如何连接不同spark数据帧的两个数组/列表列?

Python 如何连接不同spark数据帧的两个数组/列表列?,python,pyspark-sql,Python,Pyspark Sql,需要一个concat数据帧。 来自两个不同spark数据帧的列。 正在查找pyspark代码 df1.show() +---------+ | value| +---------+ |[1, 2, 3]| +---------+ df2.show() +------+ | value| +------+ |[4, 5]| +------+ I need a dataframe as bleow: +------------+ | value | +------------+

需要一个concat数据帧。 来自两个不同spark数据帧的列。 正在查找pyspark代码

df1.show()
+---------+
|    value|
+---------+
|[1, 2, 3]|
+---------+

df2.show()
+------+
| value|
+------+
|[4, 5]|
+------+


I need a dataframe as bleow:
+------------+
| value      |
+------------+
|[1,2,3,4,5] |
+------------+

这里还有一些教育方面,您可以先去掉.show(),一些数据生成

假设Spark 2.4。 位置依赖性是可以的,尽管如果它是用RDD保存的,或者仅仅用zipWithIndex保存的,会有一些争议;我没有证据怀疑这一点。 没有显式分区方面的性能考虑,但没有使用UDF。 假设两个DFs中的行数相同。数据集不是pyspark对象。 需要rdd转换

数据输入(已生成)

数据输出

+-----+-----------------+
|index|            value|
+-----+-----------------+
|    0|[0, 1, 2, 10, 20]|
|    6|[6, 7, 8, 16, 26]|
|    5|[5, 6, 7, 15, 25]|
|    1|[1, 2, 3, 11, 21]|
|    3|[3, 4, 5, 13, 23]|
|    2|[2, 3, 4, 12, 22]|
|    4|[4, 5, 6, 14, 24]|
+-----+-----------------+

那么,我们怎么说会有更多的行呢?位置相关性?是。应仅包含相应的行。基于位置?是基于位置尝试zipwithindex
+---------+
|    value|
+---------+
|[0, 1, 2]|
|[1, 2, 3]|
|[2, 3, 4]|
|[3, 4, 5]|
|[4, 5, 6]|
|[5, 6, 7]|
|[6, 7, 8]|
+---------+

+--------+
|   value|
+--------+
|[10, 20]|
|[11, 21]|
|[12, 22]|
|[13, 23]|
|[14, 24]|
|[15, 25]|
|[16, 26]|
+--------+
+-----+-----------------+
|index|            value|
+-----+-----------------+
|    0|[0, 1, 2, 10, 20]|
|    6|[6, 7, 8, 16, 26]|
|    5|[5, 6, 7, 15, 25]|
|    1|[1, 2, 3, 11, 21]|
|    3|[3, 4, 5, 13, 23]|
|    2|[2, 3, 4, 12, 22]|
|    4|[4, 5, 6, 14, 24]|
+-----+-----------------+