我们有两个数据框。假设第一个称为 boundaries ,第二个称为 point_of_interests 。第一个表格包含某些位置的最小纬度和经度,基本上是与轴对齐的矩形。对于这些条目中的每一个,我们需要检查矩形中有哪些兴趣点。 boundaries 数据帧很大,可能包含大约40-50百万条记录,而另一个很小,可能大小为200-300MB。现在,我们正在缓存较小的数据帧,并基于一个简单的表达式将这两个数据帧合并。问题是,在足够大的EMR群集上要花很长时间,而且很少完成计算。
我想知道基于一个表达式连接两个spark数据帧的最佳方法是什么,当其中一个必须分布在节点之间,而另一个适合内存时。也欢迎任何最佳做法,甚至是次要的优化技术。