Python 如何连接不同spark数据帧的两个数组/列表列?
需要一个concat数据帧。 来自两个不同spark数据帧的列。 正在查找pyspark代码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 | +------------+
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]|
+-----+-----------------+