【发布时间】:2017-08-25 06:30:15
【问题描述】:
在 Spark Dataframe 中,我正在寻找以下优化解释。
- Data Frames 是特殊类型的 RDD,它内部包含 Row RDD。这些 RowRDD 分布在 executor 中。
- 当我们从 executor 写入这些 RowRDD 时(尤其是在 YARN-CLIENT 模式下运行时),Row RDD 将从 EXECUTOR 传输到 DRIVER,并且 DRIVER 使用 JDBC 连接写入 Oracle。(这是真的吗?)
- 在 YARN-CLUSTER 模式下运行相同的代码时,Row RDD 会直接从 Executor 写入 Oracle。这可能是一种更快的方法,但可用的 JDBC 连接可能会限制/减慢该过程。
我不确定这是幕后发生的事情,如果我错了,请验证并纠正我。这将影响很大的性能因素。
提前致谢。
【问题讨论】:
标签: spark-dataframe