关于 scala:Spark 是否并行执行 UnionAll? | 珊瑚贝

Does Spark do UnionAll in parallel?


我得到了 10 个具有相同架构的 DataFrame,我想将它们组合成一个 DataFrame。每个 DataFrame 都是使用 sqlContext.sql(“select … from …”).cahce 构造的,这意味着从技术上讲,直到使用它们时才真正计算出 DataFrame。

所以,如果我运行:

1
val df_final = df1.unionAll(df2).unionAll(df3).unionAll(df4)

Spark 会并行计算所有这些 DataFrame 还是一一计算(由于点运算符)?

而且,当我们在这里时 – 有没有比我上面列出的更优雅的方法来在多个 DataFrame 上执行 unionAll?

  • 关于最后一部分,请参阅 stackoverflow.com/a/37612978/1560062。如果它发生”并行”?这取决于您所说的并行以及可用资源和数据的含义。
  • @ zero323 假设它有足够的资源来处理它,它是否异步且非阻塞地发生?
  • 我认为丹尼尔几乎回答了这个问题:)


unionAll 是懒惰的。您问题中的示例行不会触发任何同步或异步计算。

总的来说,Spark 是一个分布式计算系统。每个操作本身都由一堆并行处理的任务组成。所以一般来说你不必担心两个操作是否可以并行运行。无论如何,集群资源都会得到很好的利用。


来源:https://www.codenong.com/38918925/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_9521.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?