更新Spark数据框以填充另一个数据框中的数据

时间:2019-03-18 20:03:00

标签: scala apache-spark dataframe apache-spark-sql

我有2个数据框。我想采用1列的不同值,并将其与另一个数据框的所有行链接。例如-

数据帧1:df1包含

scenarioId
---------------
 101
 102
 103

数据框2:df2包含列

trades
-------------------------------------
isin price 
ax11 111
re32 909
erre 445

预期产量

trades
----------------
isin price scenarioid
ax11 111   101
re32 909   101
erre 445   101
ax11 111   102
re32 909   102
erre 445   102
ax11 111   103
re32 909   103
erre 445   103

请注意,我没有可能在同一列上加入2个数据框。请提出建议。

1 个答案:

答案 0 :(得分:1)

您需要的是cross join或笛卡尔积:

val result = df1.crossJoin(df2)

尽管由于数据量增长非常快,所以我不建议这样做。您将获得所有可能的对-笛卡尔积的元素(该数目将是df1中的行数乘以df2中的行数)。