2015-12-20 3 views
0

Этот этап представляет собой соединение между таблицей A (строки 100k) и B (5 миллионов строк) на ключе.Работа улья занимает слишком много времени

Таблица A - это только таблица из 2 столбцов с идентификатором в качестве ключа соответствия.

Пробовал много вещей, чтобы преобразовать этот этап в объединение карт вместо обычного соединения, но все же он работает, поскольку общее соединение занимает много времени. Любые предложения по его ускорению?

Кроме того, почему всегда 67% сокращение происходит так быстро, и после этого оно идет шаг за шагом, принимая много времени?

2015-12-21 01:12:55,635 Stage-2 map = 0%, reduce = 0% 
2015-12-21 01:13:39,342 Stage-2 map = 20%, reduce = 0%, Cumulative CPU 5.49 sec 
2015-12-21 01:13:43,618 Stage-2 map = 40%, reduce = 0%, Cumulative CPU 31.79 sec 
2015-12-21 01:13:45,692 Stage-2 map = 60%, reduce = 0%, Cumulative CPU 34.42 sec 
2015-12-21 01:13:46,735 Stage-2 map = 73%, reduce = 0%, Cumulative CPU 45.1 sec 
2015-12-21 01:13:48,812 Stage-2 map = 80%, reduce = 0%, Cumulative CPU 46.87 sec 
2015-12-21 01:13:57,125 Stage-2 map = 93%, reduce = 0%, Cumulative CPU 60.03 sec 
2015-12-21 01:13:58,160 Stage-2 map = 100%, reduce = 0%, Cumulative CPU 61.46 sec 
2015-12-21 01:14:42,001 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 72.34 sec 
2015-12-21 01:15:42,196 Stage-2 map = 100%, reduce = 67%, Cumulative CPU 141.27 sec 
2015-12-21 01:16:31,357 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 183.86 sec 
2015-12-21 01:17:31,587 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 245.5 sec 
2015-12-21 01:18:31,840 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 306.58 sec 
2015-12-21 01:19:32,275 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 371.49 sec 
2015-12-21 01:20:32,549 Stage-2 map = 100%, reduce = 68%, Cumulative CPU 433.61 sec 
2015-12-21 01:20:58,591 Stage-2 map = 100%, reduce = 69%, Cumulative CPU 457.46 sec 
2015-12-21 01:21:58,904 Stage-2 map = 100%, reduce = 69%, Cumulative CPU 516.95 sec 
2015-12-21 01:22:59,143 Stage-2 map = 100%, reduce = 69%, Cumulative CPU 576.51 sec 
2015-12-21 01:23:59,480 Stage-2 map = 100%, reduce = 69%, Cumulative CPU 636.39 sec 
2015-12-21 01:24:59,810 Stage-2 map = 100%, reduce = 69%, Cumulative CPU 692.75 sec 
2015-12-21 01:25:59,978 Stage-2 map = 100%, reduce = 69%, Cumulative CPU 757.39 sec 

ответ

1

Ваши редукторы прогрессируют медленно шаг за шагом и требуют времени для завершения.

карта уменьшить работу по существу three stages: Map task, Shuffle и Reducer task.

Каждый из этих этапов предоставляет 33.33% завершение для завершения общей работы. Здесь заканчиваются первые два этапа Map task и Shuffle данных. Вот почему вы видите Reducer закончен 67%. Остальная часть завершения зависит от хода Reducer task. Reducer side join требует времени.

0

Вы можете использовать set mapreduce.job.reduces=<number_of_reducers>. Если он не ускорится, вставьте полный журнал. Вы можете начать с 4 и посмотреть, улучшает ли производительность.

Также дайте подробную информацию о конфигурации вашего кластера. Один узел или несколько узлов, если это несколько узлов, сколько и т.д.

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