производительность улья со многими предложениями where

У меня есть запрос на улей

выберите * из таблицы, где месяц (dt) = '06' и год (dt) = '2011'

Я хотел бы узнать, будет ли какая-то польза, если я буду бить и год, и месяц, и добавлю новый udf для того же,

выберите * из таблицы, где yearMonth (dt) = '201106'

Я новичок в Hive, поэтому любые мысли о том, нужно ли мне использовать новый UDF, очень приветствуются.

Выполняет ли hive результаты последовательно, первый фильтр с 2011 и в этом фильтре результатов с 06?


person Deepa Vasanthkumar    schedule 12.07.2013    source источник


Ответы (1)


сопоставители должны выполнять оба фильтра данных за один шаг.
вы всегда можете проверить это с помощью оператора explain.
если вы обычно фильтруете по годам и месяцам, вам следует рассмотреть возможность разделения таблицы по этим столбцам. таким образом сопоставители будут читать только соответствующие разделы, а не всю таблицу.

person dimamah    schedule 12.07.2013