2016-09-07 3 views
5

Может кто-нибудь объяснить количество разделов, которые будут созданы для Spark Dataframe.Количество разделов Spark Dataframe

Я знаю, что для RDD, создавая его, мы можем указать количество разделов, как показано ниже.

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

Но Спарк dataframe, создавая внешний вид, как мы не имеем возможности указать количество разделов, как для РДА.

Только возможность, я думаю, после создания dataframe мы можем использовать API перераспределения.

df.repartition(4) 

Так может кто-нибудь пожалуйста, дайте мне знать, если мы можем указать количество разделов при создании dataframe.

+0

Если предоставленное решение отвечает на ваш вопрос, пожалуйста, примите его, чтобы закрыть вопрос или прокомментировать его, почему он не решит его! – eliasah

ответ

8

Вы не можете или, по крайней мере, не в общем случае, но это не так уж и отличается от RDD. Например, код textFile, который вы предоставили, устанавливает только ограничение на minimum number of partitions.

В целом:

  • Datasets локально с использованием методов, как range или toDF на местной коллекции будут использовать spark.default.parallelism.
  • Datasets созданный с RDD унаследовал количество разделов от своего родителя.
  • Datsets создана при помощи источника данных API:

  • Некоторые источники данных могут предоставлять дополнительные параметры, которые обеспечивают больший контроль над разделением. Например, источник JDBC позволяет установить столбец разделов, диапазон значений и желаемое количество разделов.
Смежные вопросы