我是Spark新手,我们目前拥有一个非常小的集群(14个节点,每个节点48个核心)。我有2个数据帧。一个是4100万条记录(客户),另一个是100万条(位置)。每个表都有纬度和经度,位置表有一些属性。我想计算每个客户与每个位置之间的距离,然后总结每个客户在15英里范围内的位置的附加属性。
我当然可以在表之间创建一个连接,我计算距离然后过滤(或者在' on'子句中包含距离标准)。但是这种笛卡尔产品非常大而且永远不会完成。
Spark有什么常规设置可供考虑吗?任何方法都比其他方法更好(RDD与笛卡尔与DF连接)?我意识到这是一个相当普遍的问题,但我正在寻找任何最佳实践,设置考虑,#partitions,尝试的事情等。
答案 0 :(得分:0)
一般问题的一般答案:
即使您的数据增长,您仍然可以利用其基本属性。例如: