Pyspark:将数据框值添加到指定列中的每个不同值

Pyspark: adding dataframe values to each distinct value in a specified column

我需要将数据帧值添加到指定列中的每个不同值

例如

df1:

+----+----+
|col1|col2|
+----+----+
|   A| 100|
|   B|  70|
|   C|  50|
+----+----+

df2:

+----+----+
|col3|col4|
+----+----+
|jose|   1|
|  li|   2|
| liz|   3|
+----+----+

生成的 df 应如下所示:

+----+----+----+----+
|col1|col2|col3|col4|
+----+----+----+----+
|   A| 100|jose|   1|
|   B|  70|jose|   1|
|   C|  50|jose|   1|
|   A| 100|  li|   2|
|   B|  70|  li|   2|
|   C|  50|  li|   2|
|   A| 100| liz|   3|
|   B|  70| liz|   3|
|   C|  50| liz|   3|
+----+----+----+----+

你实际上要求 crossJoin -

df = df1.crossJoin(df2)
df.show()
+----+----+----+----+
|col1|col2|col3|col4|
+----+----+----+----+
|   A| 100|jose|   1|
|   A| 100|  li|   2|
|   A| 100| liz|   3|
|   B|  70|jose|   1|
|   B|  70|  li|   2|
|   B|  70| liz|   3|
|   C|  50|jose|   1|
|   C|  50|  li|   2|
|   C|  50| liz|   3|
+----+----+----+----+