避免在sparkSQL中使用笛卡尔连接



Dataframe A(百万条记录)其中一列是create_date,modified_date

数据帧B 500条记录有start_date和end_date

当前的方法:

Select a.*,b.* from a join b on a.create_date between start_date and end_date

上面的查询在sparkSQL中执行笛卡尔积连接,并且需要很长时间才能完成。我可以通过其他方式实现相同的功能吗?我试着广播较小的RDD

编辑:

spark version 1.4.1
No. of executors 2
Memmory/executor 5g
No. of cores 5

由于spark sql不支持Non-equi,因此无法避免笛卡尔积链接

相关内容

  • 没有找到相关文章

最新更新