如何在pyspark中组合两个数据帧

如何在pyspark中组合两个数据帧,pyspark,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| -

我有两个数据集。那么我如何组合这些数据集呢

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|---|
+----+---+----+----+---+-----+---+

正如其他人提到的,您可以使用union函数,它使用位置来组合数据帧。然而,在spark 2.3中,他们发布了另一个函数unionByName,它通过名称而不是位置解析列

可以找到相同的参考

问候,


Neeraj

正如其他人提到的,您可以使用union函数,该函数使用位置来组合数据帧。然而,在spark 2.3中,他们发布了另一个函数unionByName,它通过名称而不是位置解析列

可以找到相同的参考

问候,



Neeraj

您可以使用union。df1.uniondf2什么是联合?如果你想追加它,你可以使用DF1.UnnDF2,因为这两个数据集的数量相同,所以你的数据集在读取数据时考虑选项标头=true,因为看起来你的第一行包含列名,但是它被当作正常记录。事实上,最近我在使用pyspark,所以为什么我会提出这样的问题,你们真的很珍视:你们可以使用union。df1.uniondf2什么是联合?如果你想追加它,你可以使用DF1.UnnDF2,因为这两个数据集的数量相同,所以你的数据集在读取数据时考虑选项标头=true,因为看起来你的第一行包含列名,但是它被当作正常记录。事实上,最近我在使用pyspark,所以我为什么要问这样一个问题,你们这些家伙真的很好:亲爱的Neeraj,如果我有10个相同数据结构的文件。因此,我们如何在pyspark中编译所有文件,因为对每个文件使用union函数太困难了。@HimanshuBajaj如果您有相同数据结构的文件,那么可能一次读取所有文件作为数据帧。你甚至可能不需要参加工会。我已经回答了是否需要工会的问题。例如,您在某个位置有多个csv文件,然后您可以使用df=spark.read.csv/*.csv创建数据帧。如果你有任何具体的要求,请让我知道我可以尝试帮助你。如果它解决了你的问题,请你接受答案。感谢Neeraj的工作。感谢您的回复:感谢Himanshu的确认。亲爱的Neeraj,如果我有10个数据结构相同的文件,请接受我的回答。因此,我们如何在pyspark中编译所有文件,因为对每个文件使用union函数太困难了。@HimanshuBajaj如果您有相同数据结构的文件,那么可能一次读取所有文件作为数据帧。你甚至可能不需要参加工会。我已经回答了是否需要工会的问题。例如,您在某个位置有多个csv文件,然后您可以使用df=spark.read.csv/*.csv创建数据帧。如果你有任何具体的要求,请让我知道我可以尝试帮助你。如果它解决了你的问题,请你接受答案。感谢Neeraj的工作。感谢您的回复:感谢Himanshu的确认。你能接受这个答案吗?因为它对你有用。