Транзакционные таблицы только для вставки кустов - PullRequest
0 голосов
/ 05 ноября 2019

Каковы конкретные преимущества использования транзакционной таблицы Hive Insert-Only? Большая часть документации просто указывает на то, что если вам не нужны функциональные возможности удаления или изменения, создайте эту таблицу. Это ускоряет обработку? Уменьшить накладные расходы?

1 Ответ

0 голосов
/ 07 ноября 2019

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

Итак, если у вас все таблицы хранятся в формате ORC, вы можете использовать полный ACID. Если у вас есть другие типы хранилищ, и вы должны иметь возможность делать операторы INSERT, вам могут помочь микроуправляемые таблицы.

Также: для полных таблиц ACID сжатие выполняется заданием MapReduce. Вы можете настроить Hive для использования уплотнителя на основе запросов для основных уплотнений (как при создании новой базы), но незначительные уплотнения (как при объединении дельта-файлов) по-прежнему выполняются только с MR и MR. Для микроуправляемых таблиц сжатие основано на запросах. Так что, если вы используете Hive on Tez или Hive on Spark и вообще не хотите использовать MR, это нормально. Но для полных таблиц ACID, если вам нужны небольшие сжатия, вам понадобится MapReduce.

Примечание для инсайдера: незначительное сжатие на основе запросов для полных таблиц ACID будет поддержано очень скоро, и я уверен, что Parquet собираетсяподдержка ACID таблиц очень скоро.

...