2017-08-21 8 views
0

Sparkのタスクの数は、ステージの始めにRDDパーティションの総数によって決まります。たとえば、SparkアプリケーションがHDFSからデータを読み取っている場合、Hadoop RDDのパーティションメソッドはMapReduceのFileInputFormatから継承され、HDFSブロックのサイズ、mapred.min.split.sizeの値および圧縮方法などの影響を受けます。スパーク:タスク/パーティションの数を増やす

The screenshot of my tasks

スクリーンショットのタスクは、7、7、4秒を要し、そして私は彼らがバランスしたいです。また、ステージは3つのタスクに分割されていますが、Sparkにパーティション/タスクの数を指定する方法はありますか?

+0

最初に '.repartition(200)'操作を行うことができます:http://spark.apache.org/docs/latest/rdd-programming-guide.html#transformations それにもかかわらず、入力サイズは本当に小さく、したがって、HDFSブロックの数も少なくなります。 HDFSの最適なパフォーマンスを得るには、ブロックはブロックサイズにほぼ等しい必要があります。 Sparkでは、多くのエグゼクティブの間でデータを配布することができます。 –

答えて

0

タスクはパーティションに依存します。 RDDのパーティショナーを設定することができます。パーティショナーでは、パーティションの数を設定できます。