LINUX.ORG.RU

Hadoop/Hive - как в select ограничить выборку в join с данными из разных нод?

 , ,


1

1

Дратути.

Понадобилось позадавать запросы хадупу.
Причём, с джойном из разных «баз».
Джойн без условия where срабатывает, с условием - нет. Очевидно, это чудит map в map-reduce.

Где почитать, как в хадупе это правильно разрулить, не проходя курс заочного обучения управления кластерами хадупа и датаинжиниринга???

★★★★★

Последнее исправление: Shadow (всего исправлений: 1)

Делать подзапросы. where сверху джойна в хайве накладывается уже на запрос после джойна.

то есть

select 
  df1.*, 
  df2.* 
from ( 
  select columns from source1 where condition) as df1 
join (select columns from source2 where condition) as df 2
stave ★★★★★
()
Последнее исправление: stave (всего исправлений: 1)
Ответ на: комментарий от stave

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

Shadow ★★★★★
() автор топика
Ответ на: комментарий от stave

Сейчас подумал - теоретически, на большом кластере сначала ВСЁ джойнуть, потом выбрать нужное, может быстрее сработать, чем наоборот ;)
Но подстава другим пользователям.

Shadow ★★★★★
() автор топика
Ответ на: комментарий от Shadow

Кхм. Ну типа если хадуп, то данных вроде должно быть много :) Если снизу хайва ТЕЗ, то может оомить на нормальных объемах.

stave ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.