如何在Spark中选择最佳的再分配值

5cnsuln7  于 2022-10-07  发布在  Spark
关注(0)|答案(1)|浏览(82)

我有3个输入文件File1-27 GB文件2-3 GB文件3-12MB

我的集群配置2执行器每个执行器都有2核执行器内存-13 GB(2 GB开销)

我要执行的转换是LEFT JOIN,其中左边的表是文件1,右边的表是文件2和文件3

我需要将文件1和文件2重新分区为最佳数量的分区,这样才不会浪费时间/资源。

提前谢谢你

e4yzc0pl

e4yzc0pl1#

您没有编写任何其他转换,所以我假设您想要创建非常简单的作业,该作业只执行这一个连接

你不是在问文件3,所以我假设你会用提示来播放它,这是一个很好的方向。

如果您在此连接之前没有做任何事情,我不确定是否值得对file1/File2进行重新分区,因为它们最有可能将与SMJ连接(排序合并连接-其基于连接条件中的列对两个数据集进行混洗),并且此连接的输出DF的分区数将等于spk.sql.shffle.artitions,因此您可以尝试调整此参数(这也会影响其他混洗,因此请记住我从第一行开始的假设)。

您可以尝试将此参数调整为更大的数据集(文件1),以创建大约100-200MB的分区。我认为值得阅读这篇博客文章:Medium blog post

相关问题