Разделение и группировка в Hive

В моей таблице куста будут данные о записи вызовов. 3 столбца таблицы: field1- CALL_DATE, field2-FROM_PHONE_NUM, field3- TO_PHONE

Я бы запросил что-то вроде 1) я хочу получить все записи вызовов между определенными датами. 2) Я хочу получить все записи звонков для номера телефона FROM_PHONE между определенными датами. 2) Я хочу получить все записи звонков для телефонного номера TO_PHONE между определенными датами.

Размер моей таблицы составляет примерно 6 ТБ.

Могу ли я узнать, как мне нужно применить секционирование или группировку для повышения производительности всех моих запросов?


person AKC    schedule 06.04.2017    source источник


Ответы (1)


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

Как создать ссылку для динамического раздела

У вас может быть ключевая дата раздела в формате yyyymmdd .

(например, 20170406 на сегодня (6 апреля 2017 г.))

person sandeep rawat    schedule 06.04.2017
comment
Как мне ускорить запрос, если я хочу получить записи вызовов, связанные с датой. - person AKC; 06.04.2017
comment
если я понял, что вы правы, вы хотите получить запись о вызове на заданную дату, тогда, если данные разделены по дате, как указано в кусте ответов, получите данные от репатриации, и запрос будет быстрым ... - person sandeep rawat; 07.04.2017