AWS EMR | Общее количество картографов при указании на AWS S3 - PullRequest
0 голосов
/ 26 марта 2020

Мне немного любопытно узнать, как кластер EMR будет определять общее число картографов, если мы запускаем рабочие нагрузки Hive, указывающие на местоположение S3. В S3 данные не хранятся в виде блоков, поэтому какой компонент создаст входные разбиения и назначит ему сопоставление?

1 Ответ

3 голосов
/ 26 марта 2020

Существует два способа определить количество картографов, необходимых для обработки ваших файлов входных данных:

  1. Количество картографических карт зависит от количества разбиений Had oop. Если ваши файлы меньше разделенного размера HDFS или Amazon S3, количество картографов равно количеству файлов. Если некоторые или все ваши файлы больше, чем разделенный размер HDFS или Amazon S3 (fs.s3.block.size), количество картографов равно сумме каждого файла, деленной на размер блока HDFS / Amazon S3.

В приведенных ниже примерах предполагается размер блока 64 МБ (S3 или HDFS).

Пример 1: У вас есть 100 файлов по 60 МБ каждый на HDFS = 100 картографов. Поскольку каждый файл меньше размера блока, количество картографов равно количеству файлов.

Пример 2: У вас есть 100 файлов по 80 МБ каждый на Amazon S3 = 200 картографов. Каждый файл данных больше, чем наш размер блока, что означает, что каждый файл требует двух картографических файлов для обработки файла. 100 файлов * 2 сопоставителя каждый = 200 сопоставителей

Пример 3: У вас есть два файла 60 МБ, один 120 МБ и два файла 10 МБ = 6 сопоставителей. Для файлов размером 60 МБ требуется два сопоставителя, для файла размером 120 МБ требуется два сопоставителя, а для двух файлов размером 10 МБ требуется один сопоставитель каждый.

Простой способ оценить количество необходимых картографов - запустить вашу работу в любом кластере Amazon EMR и записать количество картографов, рассчитанное для вашей работы Had oop. Вы можете увидеть эту сумму, посмотрев на JobTracker GUI или на вывод вашей работы. Вот пример выходных данных работы с выделенным числом картографов:

13/01/13 01:12:30 INFO mapred.JobClient: общее время, затраченное всеми, уменьшает ожидание после резервирования slots (мс) = 0 13/01/13 01:12:30 INFO mapred.JobClient: Общее время, потраченное всеми картами, ожидающими после резервирования слотов (мс) = 0 13.01.13 01:12:30 INFO mapred.JobClient : Локальные задачи карты = 20 13/01/13 01:12:30 INFO mapred.JobClient: Запущенные задачи карты = 20 13/01/13 01:12:30 INFO mapred.JobClient: SLOTS_MILLIS_REDUCES = 2329458

Ссылка: Лучшие практики Amazon EMR

...