我正在使用Spark RDD加入两个大数据集.一个数据集非常偏斜,因此很少有执行程序任务需要很长时间才能完成工作.我该如何解决这个问题呢?
我在databricks笔记本上使用Spark数据集API编写应用程序.
我有2张桌子.一个是15亿行,第二个是250万行.两个表都包含电信数据,并且使用国家代码和数字的前5位数来完成连接.输出有550亿行.问题是我有数据偏差(长时间运行的任务).无论我如何重新分配数据集,由于散列键的分布不均匀,我得到了长时间运行的任务.
我尝试使用广播连接,尝试在内存中保持大表分区等.....
我有什么选择?