我在Pyspark中有两个数据帧。一个有超过 1000 行,另一个只有 4 行。列也不匹配。
超过1000 行的 DF1
:+----+--------+--------------+-------------+
| ID | col1 | col2 | col 3 |
+----+--------+--------------+-------------+
| 1 | time1 | value_col2 | value_col3 |
| 2 | time 2 | value2_col2 | value2_col3 |
+----+--------+--------------+-------------+
...
只有 4 行的 DF2
:+-----+--------------+--------------+
| key | col_c | col_d |
+-----+--------------+--------------+
| a | valuea_colc | valuea_cold |
| b | valueb_colc | valueb_cold |
+-----+--------------+--------------+
我想创建一个如下所示的数据帧:
+----+--------+-------------+-------------+--------------+---------------+--------------+-------------+
| ID | col1 | col2 | col 3 | a_col_c | a_col_d | b_col_c | b_col_d |
+----+--------+-------------+-------------+--------------+---------------+--------------+-------------+
| 1 | time1 | value_col2 | value_col3 | valuea_colc | valuea_cold | valueb_colc | valueb_cold |
| 2 | time 2 | value2_col2 | value2_col3 | valuea_colc | valuea_cold | valueb_colc | valueb_cold |
+----+--------+-------------+-------------+--------------+---------------+--------------+-------------+
你能帮忙吗?我不喜欢使用熊猫。
谢谢!
我实际上是使用crossJoin解决这个问题的。
https://spark.apache.org/docs/2.1.0/api/python/pyspark.sql.html 解释了如何将交叉联接与 Pyspark DataFrames 一起使用。