如何在火花中合并两个不同的数据帧? [复制]
Posted
技术标签:
【中文标题】如何在火花中合并两个不同的数据帧? [复制]【英文标题】:How to union two different data frames in spark? [duplicate] 【发布时间】:2018-03-24 04:49:51 【问题描述】:我希望将两个数据框连接在一起。第一个包含大量商店,由它们的 id 表示,并保存有关它们的信息,例如销售数量 (weekly_sales) 和代表该周的日期。
第二个,包含一些商店的其他数据,在他们的某些周内,例如该周的燃料价格。
我需要创建一个将两者结合起来的数据框。因此,对于第一个数据集中也位于第二个数据集中的每个商店 ID 和日期组合,我将拥有以下内容,即第一个数据集,并将第二个数据集中的温度和燃料价格添加到正确的行来自第一个数据集:
由于第三个条目的商店 ID 和日期组合未在第一个和第二个数据集之间共享,因此我只需将新列设为 NA。
我将如何在 spark 中执行此操作?我知道的唯一联合只是基于相等数据集的基本连接。
文本中的数据集:
Store Dept Date Weekly_Sales IsHoliday
1 1 05/02/2010 24924.5 FALSE
1 1 12/02/2010 46039.49 TRUE
1 1 19/02/2010 41595.55 FALSE
1 1 26/02/2010 19403.54 FALSE
1 1 05/03/2010 21827.9 FALSE
Store Date Temperature Fuel_Price
1 05/02/2010 42.31 2.572
1 12/02/2010 38.51 2.548
1 19/02/2010 39.93 2.514
1 26/02/2010 46.63 2.561
1 05/03/2010 46.5 2.625
1 12/03/2010 57.79 2.667
Store Dept Date Weekly_Sales IsHoliday Temparat Fuel_Price
1 1 05/02/2010 24924.5 FALSE 42.31 2.572
1 1 12/02/2010 46039.49 TRUE 38.51 2.548
1 1 06/02/2010 41595.55 FALSE NA NA
1 1 26/02/2010 19403.54 FALSE
1 1 05/03/2010 21827.9 FALSE
1 1 12/03/2010 21043.39 FALSE
【问题讨论】:
【参考方案1】:为此,您可以使用Store
和date
字段作为join
df1.join(df2, Seq("Store", "date"), "left")
这应该会给你所需的输出。
【讨论】:
以上是关于如何在火花中合并两个不同的数据帧? [复制]的主要内容,如果未能解决你的问题,请参考以下文章