私はapache-sparkを学び、空のRDDを作成しようとしています。 私は空のRDDを作成するには、次の方法だ:parallelizeメソッドを使用してemptyRDDを作成するのはなぜお勧めしませんか?
1. JavaRDD<String> emptyRDD = sc.emptyRDD();
2. List<String> emptyList = new ArrayList<String>();
JavaRDD<String> emptyParallelRDD = sc.parallelize(emptyList, 1);
を、コードはどちらの場合も、エラーなしなし例外では完全に正常に動作します。
しかし、並列化方法の文書化のよう:空のRDDを作成するために、(配列を())並列使用
避けます。パーティションのないRDDの場合はemptyRDDを考慮してください。
これは何も理由がありませんでした。 何か助けを借りて、なぜ私たちはemptyRDDを作成するために並列化を使用すべきではありませんか?
sc.parallelize(Seq[Int]()).getNumPartitions
// Int = 2
私の推測では、どんな仕事が関与、最初のケースでは、次のようになります。