Эффективно разделить таблицу Hive на несколько таблиц на основе столбца - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть большая таблица Hive со столбцом Id, и я хочу разбить эту таблицу на несколько таблиц, основываясь на значениях столбца Id.То есть каждая из этих меньших таблиц будет иметь одинаковое значение в столбце Id

Исходная таблица:

|----|-------| | Id | Value | |----|-------| | 1 | 2 | | 1 | 3 | | 2 | 4 | | 3 | 5 | |----|-------|

Подтаблицы:

|----|-------| | Id | Value | |----|-------| | 1 | 2 | | 1 | 3 | |----|-------| |----|-------| | Id | Value | |----|-------| | 2 | 4 | |----|-------| |----|-------| | Id | Value | |----|-------| | 3 | 5 | |----|-------|

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

Однако это оказывается крайне неэффективным, поскольку существует большое количество идентификаторов, и Hive должен запускать и запускать задачу MapReduce для каждого фильтра на идентификаторе

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

Есть ли более эффективный способ сделать что-то подобное?

...