我们如何在pyspark中合并两个数据帧

时间:2018-10-17 11:08:35

标签: pyspark

我有两个数据集。那么我该如何合并这些数据集

df.show()

----+---+----+----+---+-----+-----+
|  _1| _2|  _3|  _4| _5|   _6|   _7|
+----+---+----+----+---+-----+-----+
|yyyy| mm|tmax|tmin| af| rain|  sun|
|1941|  1| ---| ---|---| 74.7|  ---|
|1941|  2| ---| ---|---| 69.1|  ---|
|1941|  3| ---| ---|---| 76.2|  ---|
|1941|  4| ---| ---|---| 33.7|  ---|
|1941|  5| ---| ---|---| 51.3|  ---|
|1941|  6| ---| ---|---| 25.7|  ---|
|1941|  7| ---| ---|---| 53.9|  ---|
|1941|  8| ---| ---|---| 91.8|  ---|
|1941|  9| ---| ---|---| 25.5|  ---|
|1941| 10| ---| ---|---|106.2|  ---|
|1941| 11| ---| ---|---| 92.3|  ---|
|1941| 12| ---| ---|---| 86.5|  ---|
|1942|  1| 5.8| 2.1|---|114.0| 58.0|
|1942|  2| 4.2|-0.6|---| 13.8| 80.3|
|1942|  3| 9.7| 3.7|---| 58.0|117.9|
|1942|  4|13.1| 5.3|---| 42.5|200.1|
|1942|  5|14.0| 6.9|---|101.1|215.1|
|1942|  6|16.2| 9.9|---|  2.3|269.3|
|1942|  7|17.4|11.3|---| 70.2|185.

df2.show()
+----+---+----+----+---+-----+---+
|  _1| _2|  _3|  _4| _5|   _6| _7|
+----+---+----+----+---+-----+---+
|yyyy| mm|tmax|tmin| af| rain|sun|
|1853|  1| ---| ---|---| 57.3|---|
|1853|  2| ---| ---|---| 32.3|---|
|1853|  3| ---| ---|---| 65.5|---|
|1853|  4| ---| ---|---| 46.2|---|
|1853|  5| ---| ---|---| 13.2|---|
|1853|  6| ---| ---|---| 53.3|---|
|1853|  7| ---| ---|---| 78.0|---|
|1853|  8| ---| ---|---| 56.6|---|
|1853|  9| ---| ---|---| 24.5|---|
|1853| 10| ---| ---|---| 94.8|---|
|1853| 11| ---| ---|---| 75.5|---|
|1853| 12| ---| ---|---| 39.1|---|
|1854|  1| ---| ---|---| 78.9|---|
|1854|  2| ---| ---|---| 38.8|---|
|1854|  3| ---| ---|---| 41.2|---|
|1854|  4| ---| ---|---|  4.5|---|
|1854|  5| ---| ---|---| 73.5|---|
|1854|  6| ---| ---|---|115.4|---|
|1854|  7| ---| ---|---|133.1|---|
+----+---+----+----+---+-----+---+

1 个答案:

答案 0 :(得分:1)

正如其他人所提到的,您可以使用联合函数,该函数使用位置来组合数据框。但是,在spark 2.3中,他们发布了另一个函数“ unionByName”,该函数按名称(而不是按位置)解析列。

相同的参考文献可以在here中找到。

此致

Neeraj