numPartitions次のメソッドのパラメーターの動作に戸惑っています。
DataFrameReader.jdbcDataset.repartition
パラメータに関する次の公式ドキュメントDataFrameReader.jdbcnumPartitions
numPartitions : パーティションの数。これは、lowerBound (含む)、upperBound (含まない) とともに、列 columnName を均等に分割するために使用される、生成された WHERE 句式のパーティション ストライドを形成します。
そして言うの公式ドキュメントDataset.repartition
numPartitions正確に分割された新しいデータセットを返します。
私の現在の理解:
- メソッドの
numPartitionパラメーターは、データベースからデータを読み取る際の並列処理の度合いを制御しますDataFrameReader.jdbc - の
numPartitionパラメーターは、これがディスクに書き込まれるときに生成される出力ファイルDataset.repartitionの数を制御しますDataFrame
私の質問:
- (メソッドを呼び出さずに)読み取っ
DataFrameてからディスクに書き込むと、呼び出した後にディスクに書き出す場合と同じ数のファイルが出力に残りますか?DataFrameReader.jdbcrepartitionDataFramerepartition - 上記の質問に対する答えが次の場合:
- はい: それでは、メソッド (パラメーター付き)を使用して読み取ら
repartitionれた上でメソッドを呼び出すのは冗長ですか?DataFrameDataFrameReader.jdbcnumPartitions - いいえ: それでは、私の理解の誤りを訂正してください。また、その場合、メソッドの
numPartitionsパラメーターは「並列処理」などと呼ばれるべきではありませんか?DataFrameReader.jdbc
- はい: それでは、メソッド (パラメーター付き)を使用して読み取ら