2016-09-07 157 views
5

任何人都可以解釋將爲Spark Dataframe創建的分區數。Spark Dataframe的分區數

我知道,對於RDD,創建它時我們可以提到像下面這樣的分區數。

val RDD1 = sc.textFile("path" , 6) 

但是對於創建時的Spark數據框看起來像我們沒有選項來指定像RDD一樣的分區數。

我認爲唯一的可能性是,在創建數據框後,我們可以使用重新分區API。

df.repartition(4) 

那麼任何人都可以讓我知道,如果我們可以指定創建數據框的分區數量。

+0

如果提供的解決方案回答您的問題,請接受它來解決問題或評論它爲什麼不解決問題! – eliasah

回答

8

您不能,或者至少不是在一般情況下,但與RDD相比沒有那麼不同。例如,textFile您提供的示例代碼僅對minimum number of partitions設置了限制。

一般:

  • 本地使用方法,如rangetoDF當地採集將使用spark.default.parallelism產生Datasets
  • DatasetsRDD創建繼承其父項的分區數。

  • 某些數據源可能會提供更多的選項,從而更好地控制分區。例如,JDBC源允許您設置分區列,值範圍和所需的分區數。