Команда alter table concatenate для таблицы многораздельных кустов удаляет данные из папки -ext-10000 и перемещает их в корзину - PullRequest
0 голосов
/ 30 апреля 2019

Таблица кустов demo_hive_tbl.
Основной файловой системой является HDFS.
При вставке данных в эту таблицу с помощью драйвера Presto
вставить в значения demo_hive_tbl (1);вставить в значения demo_hive_tbl (2);

Файлы создаются в папке таблиц на HDFS.Пример demo_hive_tbl / part_01 demo_hive_tbl / part_02

Команда конкатенации (alter table demo_hive_tbl concatenate) помещает файлы данных в папку ext.

Пример demo_hive_tbl / ext-1000 / 0001_1

Теперь, когда в эту таблицу снова вносятся новые вставки, новые файлы помещаются в обычную папку
insert в значения demo_hive_tbl (3);

Так что теперь структура папок выглядит как

demo_hive_tbl/ ext-1000 / 0001_1 // конкатенированные
demo_hive_tbl / part_02 // новая вставка

После выполнения новой команды конкатенации (изменить таблицу demo_hive_tbl), конкатенированные данные попадают в папку ext, а исходные данные внутрипапка ext игнорируется, и только новые данные объединяются.Записи исходной папки ext идут в корзину Hive.

demo_hive_tbl / ext-1000 / 0001_2

Это означает, что если запущен Select * from demo_hive_tbl, возвращается только значение 3(ожидаемый результат 1,2 и 3).

Любые указатели на то, почему объединение файлов, уже находящихся в ext-папке, будет игнорироваться.

...