2017-01-12 3 views
1

マイスパークジョブは、より読みやすく、テスト可能なビューのコードのプログラミングの観点からの地図操作の連鎖チェーン

JavaRDD<Row> rowRDD = raw 
      .javaRDD() 
      .mapPartitions(new CustomPartitionMapper()) 
      .map(new DataSpecialMapper(config)) 
      .map(new CsvFormatMapper(config)) 
      .map(new ReportCounters()); 

が含まれています。 質問はパフォーマンスに関するものです。

マッパのチェーンが1つのマッパ操作としてSparkによって解釈され、同じエグゼキュータ内で実行されるかどうか。パフォーマンスに何が影響するのでしょうか?

おかげ

答えて

2

一のマッパ 操作の火花によって解釈マッパの鎖され、同じエグゼキュータまたは行わないのだろうか?

スパークこれは複数mapタスクが同じタスクの傘の下に続いて実行されることを意味し、単ステージに複数の狭い変換を最適化します。 (this blog post for more

しかし、まだO(n)であるが、与えられた入力サイズのエフェクトのパフォーマンスでは、これらのパーティションはそれぞれ4 * O(n)回反復されます。心に留めておくべき。