ApacheSparkでパーティショニングがどのように行われるかを理解しようとしています。助けてくれませんか?
シナリオは次のとおりです。
count.txt
サイズが10MB次のパーティションはいくつ作成されますか?
rdd = sc.textFile(count.txt)
ファイルのサイズはパーティションの数に影響しますか?
デフォルトでは、HDFSパーティションごとにパーティションが作成されます。デフォルトは64MBです( Sparkプログラミングガイド から)。
sparkが作成するパーティションの最小数をオーバーライドする別のパラメーターdefaultMinPartitions
を渡すことができます。この値をオーバーライドしない場合、sparkは少なくともspark.default.parallelism
と同じ数のパーティションを作成します。
spark.default.parallelism
は、クラスター内のすべてのマシンのコア数であると想定されているため、この場合、少なくとも3つのパーティションが作成されると思います。
RDDをrepartition
またはcoalesce
して、使用可能な並列処理の合計量に影響を与えるパーティションの数を変更することもできます。