我有两个不同但重叠列集的表。我想以Pandas的方式连接它们,但在spark中效率很低。
X:
A B
0 1 3
1 2 4
Y:
A C
0 5 7
1 6 8
pd.concat(X, Y):
A B C
0 1 3 NaN
1 2 4 NaN
0 5 NaN 7
1 6 NaN 8
我试着用sparksql来做。。。
select A, B, null as C from X union all select A, null as B, C from Y
... 而且速度非常慢。我将此查询应用于两个大小为(79行,17330列)和(92行,16列)的表。在spark 1.62上运行了129秒,在spark 2.01上运行了319秒,在pandas上运行了1.2秒。为什么这么慢?这是某种虫子吗?使用spark能做得更快吗?
编辑:我试着用编程的方式来做:如何用不同数量的列合并2个sparkDataframe-这更慢。
似乎问题是添加空列,也许可以用不同的方法解决,或者这部分可以做得更快?
暂无答案!
目前还没有任何答案,快来回答吧!