2015-03-20 1 views
1

Я пытаюсь запустить запрос куста на огромное количество данных. Таблица поиска в Geocode имеет диапазон ip-from и ip-to, который я должен сравнить с таблицей в 1,8 миллиона строк.Уличный скрипт работает долгое время

Hive Сценарий:

select * 
from ip_address a, ip_lookup b 
where a.AddressInt >= b.ip_from and a.AddressInt <= b.ip_to; 

На АМСЕ ОГО, я бег кластера c3.xlarge и во время работы он застревает на 67% больше, чем на 1 день, но вот информация о вакансии Hadoop для этапа 1:

Warning: Shuffle Join JOIN[4][tables = [a, b]] in Stage 'Stage-1:MAPRED' is a cross product 
Stage-1: number of mappers: 6; number of reducers: 1 

Что нужно сделать для повышения производительности этого сценария улья?

ответ

1

Для повышения эффективности выполнения bucketing для большей таблицы на основе поля соединения (в вашем случае это IP-адрес). Для получения дополнительной информации посетите this page

Вы также можете реализовать smb-соединение, которое реализовано Facebook.