我有两张这样的table:
表A:ind,值1
(1,a)(2,B)(3,c)... 30亿行
表B:start_ind,end_ind,value2
(3,20,c)(78,99,y)(88,156,z)…5亿行
我用spark sql编写了这个查询
Select /*+ BROADCAST(B) */ A.ind,A.value1,B.value2
From A join B on A.ind between B.start_ind and B.end_ind;
我给予了5个执行器核心,700个执行器,50GB内存的执行器。
查询永不结束
我怎样才能提高性能?
1条答案
按热度按时间tvmytwxo1#
Spark Broadcast joins不能用于连接两个大的DataFrame,这里就是这样。
我建议你关注Sim's propositions!这可能是有用的