【发布时间】:2018-04-11 00:47:34
【问题描述】:
我是 Spark 的新手,我们目前有一个非常小的集群(14 个节点,每个节点 48 个核心)。我有 2 个数据框。一个是 4100 万条记录(客户),另一个是 100k(位置)。每个表都有纬度和经度,位置表有一些属性。我想计算每个客户与每个位置之间的距离,然后为 15 英里内的每个客户总结位置的附加属性。
我当然可以在计算距离的表之间创建一个连接,然后进行过滤(或在“on”子句中包含距离标准)。但是这个笛卡尔积非常大,永远不会结束。
Spark 是否有任何常规设置需要考虑?有什么比其他方法更好的方法(使用笛卡尔与 DF 连接的 RDD)?我意识到这是一个相当普遍的问题,但我正在寻找任何最佳实践、要考虑的设置、#partitions、要尝试的事情等。
【问题讨论】:
标签: apache-spark pyspark apache-spark-sql