Если у нас есть несжатые 320 блоков файлов HDFS, хранящихся на кластере 16 узлов данных. Каждый узел 20 блоков, и если мы используем искру, чтобы прочитать этот файл в РДУ (без явной передачи numPartitions при создании RDD) textFile = sc.textFile("hdfs://input/war-and-peace.txt")
Как файлы HDFS раздела Spark?
Если у нас 16 исполнителей по одному на каждом узле, сколько разделов Спарк RDD создадут для исполнителя? Будет ли он создавать один раздел на блок HDFS, т. Е. 20 разделов?
Что это значит на 320 разделов RDD? Я понял, что в упомянутом выше сценарии он создаст в общей сложности 16 распределенных RDD по одному на каждом подчиненном узле, и каждый RDD на каждом подчиненном узле будет содержать 20 блоков файлов HDFS вместе? – zoe
Он не будет создавать 16RDD, он создаст только один RDD с 320 разделами, а разделы будут распределены по подчиненным узлам. –
Ваш ответ, вероятно, правильный, но я до сих пор не понимаю. Вы упомянули, что «Spark Partitions будут распределены между подчиненными узлами». Если это была коллекция Scala или Java, я получаю ее, но мой вопрос в том, почему Spark распространяет файлы HDFS дальше, когда файлы HDFS уже распространяются как блоки на подчиненных узлах? Вторая часть вопроса заключается в том, какой узел этот единственный RDD из 320 разделов живет на Мастере? или один из ведомых узлов? – zoe