Как увеличить количество редукторов при вставке в многораздельную кластерную транзакционную таблицу? - PullRequest
0 голосов
/ 10 сентября 2018

У нас есть кластерная транзакционная таблица (10 тыс. Сегментов) , которая кажется неэффективной для следующих двух вариантов использования

  • сливается с ежедневными дельтами
  • запросов на основе диапазона дат.

Мы хотим разбить таблицу по дате и таким образом создать многораздельную кластеризованную транзакционную таблицу. Ежедневный объем предполагает, что количество сегментов будет примерно 1-3, но вставка во вновь созданную таблицу приводит к number_of_buckets сокращению задач, что является слишком медленным и вызывает некоторые проблемы с объединением редукторов из-за ограниченного жесткого диска.

Обе проблемы решаемы (например, мы могли бы разбить данные на несколько кусков и запустить отдельные задания для параллельной вставки в целевую таблицу, используя n_jobs * n_buckets, чтобы уменьшить количество задач, хотя это привело бы к нескольким прочтениям исходной таблицы), но Я считаю, что должен быть правильный способ сделать это, поэтому вопрос: что это за правильный путь?

P.S. Версия Hive: 1.2.1000.2.6.4.0-91

...