我试图理解Spark和有以下代码在哪里 df,df2,df3,df4 are Dataset<Row>
```
df=df.join(df2,"ID");
df4=df4.join(df3,"ID");
df=df.union(df4);
long count=df.count();
我的问题是这种转变是如何发生的?在上面的示例中,联合是否等待两个连接完全完成(即完成所有行的连接),然后启动联合?或者它是以流水线的方式逐行进行的,其中一行的连接一旦完成,联合变换就在其上开始(即使其他行的连接仍在进行)?
我试着搜索这个,但找不到任何答案。
1条答案
按热度按时间axr492tv1#
使用
explain()
看看会发生什么。sort、sortmergejoin、project和union。这发生在你采取行动时,比如
count()
在那之前,spark将计划如何继续。