Dav*_*ein 5 java performance apache-spark
我的 Spark 作业包含一系列地图操作
JavaRDD<Row> rowRDD = raw
.javaRDD()
.mapPartitions(new CustomPartitionMapper())
.map(new DataSpecialMapper(config))
.map(new CsvFormatMapper(config))
.map(new ReportCounters());
Run Code Online (Sandbox Code Playgroud)
从编程的角度来看,代码更具可读性和可测试性。问题是关于性能的。
映射器链是否会被 Spark 解释为一个映射器操作并在同一个执行器中执行?如果不是,可能会对性能产生什么影响?
谢谢
Spark 是否将映射器链解释为一个映射器操作并在同一个执行器中执行?
Spark 将多个窄转换优化为单个阶段,这意味着多个map任务将在同一任务伞下随后运行。(有关更多信息,请参阅此博客文章)
但是,您仍然需要对每个分区进行 4 * O(n) 次迭代,这仍然是 O(n) 次,但在给定的输入大小下可能会影响性能,这一点始终需要牢记。
| 归档时间: |
|
| 查看次数: |
1078 次 |
| 最近记录: |