Передел искры - PullRequest
       49

Передел искры

0 голосов
/ 05 мая 2020

Зачем нужен перепартион данных. Как определить размер повторного разделения в Spark.

Применима ли концепция повторного разделения для потоковой передачи искр и структурированной потоковой передачи.

DF.repartition (num)

1 Ответ

0 голосов
/ 05 мая 2020

Да, концепция разделов применима как к искровой потоковой передаче (RDD), так и к структурированной потоковой передаче (структурированный API).

Разделение данных может использоваться, помимо прочего, для повышения уровня параллелизма при применении операций типа сопоставления и фильтра.

Обратите внимание, когда вы разбиваете свои данные, всегда подвергается полному перемешиванию независимо от того, требуется ли оно. Это применимо к обоим API (RDD и структурированному).

Иногда повторное разбиение ваших данных позволяет избежать перетасовки и повысить производительность, поскольку данные могут быть изменены внутри раздела. Например, если вы знаете, что собираетесь фильтровать по определенному столбцу (например, «страна») несколько раз, возможно, стоит перераспределить его на основе этого столбца:

df.repartition(col("country"))

Основное различие между RDD и Структурированный API заключается в том, что только для RDD (то есть для потоковой передачи искр) вы можете определить свой собственный класс Partitioner. Это дает вам полную гибкость в том, как разделяются данные, и, следовательно, дает вам значительное улучшение производительности и стабильности при правильном использовании.

...