2015-09-17 2 views
0

Этот вопрос относится к моему другому вопросу Hadoop handling data skew in reducer. Тем не менее, я хотел бы спросить, доступны ли какие-либо параметры конфигурации, чтобы, если сказать, что максимальная память редуктора достигнута, выпустите новый редуктор на другой datanode с остальными данными в контексте? Или, может быть, даже на том же datanode, чтобы сказать, что некоторые записи x из контекста читаются в методе сокращения до некоторого предела, а затем остальные считаются в новом редукторе?Сплит-вход для редуктора в hadoop

ответ

0

Это невозможно. Количество редукторов фиксировано в конфигурации драйвера.

1

Вы можете попробовать объединитель, который уменьшил бы нагрузку на один редуктор, управляя более ключевыми парами значений, делая возможную агрегацию до того, как он перейдет к редуктору. Если вы собираетесь присоединиться, вы можете попробовать skewed join в Pig. Он включает в себя 2 задания MR. В первом MR он делает выборку на одном входе, и если он находит ключ, который перекошен настолько, что он способен вписаться в память, он разбивает этот ключ на несколько редукторов. Для других записей, кроме указанных в образце, он объединяет по умолчанию. Для искаженного ввода он дублирует вход и отправляет его на оба редуктора.

1

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

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

Else как опция, вы можете расширить существующие настройки памяти редуктора, чтобы разместить больше перетасованных записей и ускорить процесс сортировки/слияния. Пожалуйста, обратитесь ниже свойством,

mapreduce.reduce.memory.mb 

mapreduce.reduce.java.opts 

mapreduce.reduce.merge.inmem.threshold 

mapreduce.reduce.shuffle.input.buffer.percent 

mapreduce.reduce.shuffle.merge.percent 

mapreduce.reduce.input.buffer.percent 

я помню, там была расширенная библиотека MapReduce, skewtune, написанная для балансировки нагрузки перекоса данных в ходе прогона задания. Но я никогда не экспериментировал с этим, любезно проверяйте, полезно ли это.

Смежные вопросы