29.1. Добавление Parquet-файлов в аналитическую таблицу (metastore.add_files) #
Требуемые права:
Право
INSERTна аналитическую таблицу.Право
SELECTна общий каталог, если Parquet-файлы добавляются из этого каталога.
За подробной информацией о хранимых процедурах и правах на них обратитесь к Разделу 22.1.
Выполните следующую команду:
SELECT metastore.add_files('имя_таблицы', 'путь_к_Parquet-файлам', 'путь_к_JSON');Где:
имя_таблицы: имя аналитической таблицы, в которую добавляются Parquet-файлы.путь_к_Parquet-файлам: путь к Parquet-файлам, которые добавляются в аналитическую таблицу.Возможные значения:
Путь к любому каталогу хранилища, начинающийся с префикса хранилища, например
file:///tmp/my_data/для локального хранилища илиs3://bucket/path/для S3-хранилища.Путь внутри общего каталога из таблицы метаданных
pga_folder, начиная с имени каталога.
Для нескольких Parquet-файлов поместите все файлы в один каталог и укажите путь к каталогу с
/в конце. Каталог должен содержать только добавляемые Parquet-файлы.Для отдельного Parquet-файла укажите полный путь с именем файла в конце.
путь_к_JSON: путь к JSON-файлу с параметрами хранения Parquet-файлов.Эти параметры применяются при создании новых Parquet-файлов. В хранимой процедуре
metastore.add_filesпараметры игнорируются для несекционированных таблиц, так как Parquet-файлы добавляются в изначальном виде, но применяются для секционированных таблиц, где Parquet-файлы разделяются на несколько файлов. В хранимой процедуреmetastore.copy_tableпараметры применяются всегда, поскольку из результатов SQL-команды создаются новые Parquet-файлы.За подробной информацией о секционировании обратитесь к Главе 30.
Необязательный параметр.
Postgres Pro AXE выполняет следующие действия:
Проверяет параметры ввода и права пользователя.
Проверяет, что метаданные Parquet-файлов и аналитической таблицы совместимы: количество, порядок, имена и типы столбцов должны совпадать.
Создаёт новые записи в таблицах метаданных
pga_snapshotиpga_data_file.Копирует Parquet-файлы в каталог хранилища аналитической таблицы в новый подкаталог, именем которого является идентификатор снимка.
Если Parquet-файлы добавляются в секционированную аналитическую таблицу, они разделяются на несколько файлов по столбцам секции и для этих файлов создаётся дерево каталогов.
Обновляет статистику в таблицах метаданных
pga_table_stats,pga_table_column_statsиpga_file_column_statistics.
Пример 29.1. Выполнение хранимой процедуры metastore.add_files
SELECT metastore.add_files('table_example', 'folder/file.parquet', 'folder/options.json');