将4个数据帧合并为一个

时间:2019-04-29 17:35:02

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

我有4个数据框,它们只有一行和一列,我想将它们组合成一个数据框。在python中,我将使用zip函数执行此操作,但是我需要一种在pyspark中执行此操作的方法。有什么建议吗?

数据帧看起来像这样:

+--------------------------+
|sum(sum(parcelUBLD_SQ_FT))|
+--------------------------+
|              1.13014806E8|
+--------------------------+

+---------------------+
|sum(parcelUBLD_SQ_FT)|
+---------------------+
|         1.13014806E8|
+---------------------+

+---------------+
|count(parcelID)|
+---------------+
|          45932|
+---------------+

+----------------+
|sum(parcelCount)|
+----------------+
|           45932|
+----------------+

我希望它看起来像这样:

+--------------------------+---------------------+---------------+----------------+
|sum(sum(parcelUBLD_SQ_FT))|sum(parcelUBLD_SQ_FT)|count(parcelID)|sum(parcelCount)|
+--------------------------+---------------------+---------------+----------------+
|              1.13014806E8|         1.13014806E8|          45932|           45932|
+--------------------------+---------------------+---------------+----------------+

1 个答案:

答案 0 :(得分:1)

由于您已明确指定所有数据帧都具有一行,因此可以使用交叉联接获得所需的输出

df1.crossJoin(df2).crossJoin(df3).crossJoin(df4)