我想使用 pyspark 对多个表进行更多连接,
然后我想按日期分区 我的 table :
我的设置如下: 驾驶员 10GO 内存 10个worker,5核,10G内存 yarn 客户
表 = 700 MO
表2 = 1GB
表 3 = 3Go
表4 = 12
表4
表5=6go
我试过了
sqlcontext.sql ("select * from Tab1 left join tab2 is tab1.numcnt =
tab2.numcnt left join tab3 is tab1.numcnt = tab3.numcnt
left join TAB4 is tab1.numcnt = tab4.numcnt
")
当我使用这个查询时,她花了很长时间
我还尝试了数据框方法:
df = join df_tab1.join (df_tab2, df_tab.NUMCNT df_tab2.NUMCNT == 'left_outer')
dfjoin.join (df_tab3, df_join.NUMCNT df_tab3.NUMCNT == 'left_outer')
同样问题24小时治疗无结果
如果您能告诉我如何正确加入这些,请提前谢谢您
最佳答案
在执行连接之前,您需要缓存所有要连接的表。我建议缓存它们,对它们进行计数,然后执行连接。我也遇到了类似的问题,但在缓存表上执行联接后,运行时间显着减少。
关于mysql - join 在超过 5 个数据帧的 Spark 1.5.2 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34837073/