У нас есть кластерная транзакционная таблица (10 тыс. Сегментов) , которая кажется неэффективной для следующих двух вариантов использования
- сливается с ежедневными дельтами
- запросов на основе диапазона дат.
Мы хотим разбить таблицу по дате и таким образом создать многораздельную кластеризованную транзакционную таблицу. Ежедневный объем предполагает, что количество сегментов будет примерно 1-3, но вставка во вновь созданную таблицу приводит к number_of_buckets сокращению задач, что является слишком медленным и вызывает некоторые проблемы с объединением редукторов из-за ограниченного жесткого диска.
Обе проблемы решаемы (например, мы могли бы разбить данные на несколько кусков и запустить отдельные задания для параллельной вставки в целевую таблицу, используя n_jobs * n_buckets, чтобы уменьшить количество задач, хотя это привело бы к нескольким прочтениям исходной таблицы), но Я считаю, что должен быть правильный способ сделать это, поэтому вопрос: что это за правильный путь?
P.S. Версия Hive: 1.2.1000.2.6.4.0-91