我有两个数据集的名字 dataset1
以及 dataset2
以及 dataset1
就像
empid empame
101 john
102 kevin
以及 dataset2
就像
empid empmarks empaddress
101 75 LA
102 69 NY
这个 dataset2
将是非常巨大的,我需要处理这两个数据集上的一些操作,并需要从上述两个结果 datasets
. 据我所知,现在我有两种方法来处理这些数据集:
1.将dataset1(大小较小)存储为配置单元查找表,并必须通过spark进行处理
2.通过使用spark广播变量,我们可以处理这些 dataset
.
任何人请告诉我哪一个是更好的选择。
1条答案
按热度按时间svdrlsy41#
这应该是比上面提到的两个更好的选择。
既然你有共同的关键,你可以做内部连接。
你可以用
broadcast
函数/提示也是这样。这意味着您要告诉framework小Dataframe(即dataset1)应该广播给每个执行器。更多细节请参见。。
Dataframe连接优化-广播哈希连接广播连接将如何工作。
spark中广播对象的最大尺寸是多少