Каким будет количество разделов для кластера из 10 узлов с 20 исполнителями и код, читающий папку со 100 файлами?Как определить количество партитандов rdd в искрах, учитывая количество ядер и исполнителей?
ответ
С Спарк документ:
По умолчанию Спарк создает один раздел для каждого блока из файла (блоков, 64MB по умолчанию в HDFS), но вы также можете попросить большего числа разделов передавая большее значение. Обратите внимание, что у вас не может быть меньше разделов, чем блоков.
Количество разделов также зависит от размера файла. Если размер файла слишком велик, вы можете выбрать большее количество разделов.
Количество разделов для объектов scala/java RDD будет зависеть от ядра машин, и если вы создаете RDD с использованием входных файлов Hadoop, то это будет зависеть от размера блока hdfs (зависит от версии). найти число разделов в РДУ следующим
rdd.getNumPartitions
Он отличается в различных режимах, что вы работаете, и вы можете настроить его с помощью параметра spark.default.parallelism
. От искры Документации:
Для таких операций, как распараллелить, без родительского РДА, это зависит от менеджер кластера:
Local mode: number of cores on the local machine Mesos fine grained mode: 8 Others: total number of cores on all executor nodes or 2, whichever is larger
Ссылка на соответствующую документацию: http://spark.apache.org/docs/latest/configuration.html#execution-behavior
Вы можете сами измените количество разделов самостоятельно в зависимости от данных, которые вы читаете. Некоторые из Spark api предоставляют дополнительную настройку для количества разделов ,
Далее, чтобы проверить, сколько перегородки становятся созданы сделать как @Sandeep Пурохит говорит
rdd.getNumPartitions
И это приведет в число разделов, которые становятся созданной!
Вы также можете изменить количество partitons после его создания с помощью двух API, а именно: сливаются и переделу
Ссылка сливаться и Передел: Spark - repartition() vs coalesce()
- 1. Spark - количество исполнителей против числа для ядер
- 2. Как определить количество полезной памяти у исполнителей
- 3. Как переделать RDD в искрах?
- 4. Как установить количество исполнителей Spark?
- 5. Как RedHat определяет количество ядер
- 6. запускаемых исполнителей меньше количество исполнителей указано
- 7. Потоки параллельно и количество ядер
- 8. многопроцессор python и количество ядер
- 9. Предопределяющее количество разделов RDD
- 10. Количество строк в RDD
- 11. Xgboost, максимальное количество ядер
- 12. Количество потоков java> количество ядер и сборка мусора
- 13. Как ограничить количество ядер ЦП?
- 14. Количество ядер процессора
- 15. Как узнать количество ядер и оперативную память?
- 16. Программно определить количество ядер и объем памяти, доступных Spark
- 17. Spark streaming использует меньшее количество исполнителей
- 18. Как получить количество работников (исполнителей) в PySpark?
- 19. Spark увеличивает количество исполнителей в режиме пряжи
- 20. Количество ядер в Renderscript файле
- 21. Количество параллельных ядер в Kepler
- 22. Groovy script set количество исполнителей
- 23. H2o Количество исполнителей, не работающих
- 24. Spark Streaming: количество исполнителей и пользовательских приемников
- 25. Показывать количество исполнителей и исполнитель память
- 26. Apache Spark: уменьшить количество ядер во время выполнения
- 27. Как определить количество ядер процессора, которое имеет ПК?
- 28. Apache режим Спарк автономный: количество ядер
- 29. Какие факторы определяют количество исполнителей в автономном режиме?
- 30. Как программно определить количество ядер и запустить программу MPI с использованием всех ядер
Возможный дубликат [Как секционирования работу Спарк?] (http://stackoverflow.com/questions/26368362/how-does-partitioning-work-in-spark) –