9

numPartitions次のメソッドのパラメーターの動作に戸惑っています。

  1. DataFrameReader.jdbc
  2. Dataset.repartition

パラメータに関する次の公式ドキュメントDataFrameReader.jdbcnumPartitions

numPartitions : パーティションの数。これは、lowerBound (含む)、upperBound (含まない) とともに、列 columnName を均等に分割するために使用される、生成された WHERE 句式のパーティション ストライドを形成します。

そして言うの公式ドキュメントDataset.repartition

numPartitions正確に分割された新しいデータセットを返します。


私の現在の理解:

  1. メソッドのnumPartitionパラメーターは、データベースからデータを読み取る際の並列処理の度合いを制御しますDataFrameReader.jdbc
  2. numPartitionパラメーターは、これがディスクに書き込まれるときに生成される出力ファイルDataset.repartitionの数を制御しますDataFrame

私の質問:

  1. (メソッドを呼び出さずに)読み取っDataFrameてからディスクに書き込むと、呼び出した後にディスクに書き出す場合と同じ数のファイルが出力に残りますか?DataFrameReader.jdbcrepartitionDataFramerepartition
  2. 上記の質問に対する答えが次の場合:
    • はい: それでは、メソッド (パラメーター付き)を使用して読み取らrepartitionれた上でメソッドを呼び出すのは冗長ですか?DataFrameDataFrameReader.jdbcnumPartitions
    • いいえ: それでは、私の理解の誤りを訂正してください。また、その場合、メソッドのnumPartitionsパラメーターは「並列処理」などと呼ばれるべきではありませんか?DataFrameReader.jdbc
4

1 に答える 1