16.1. Создание аналитической таблицы #
16.1.1. Создание аналитической таблицы из Parquet-файла #
Выполните следующий запрос:
SELECT metastore.add_table('имя_таблицы', 'имя_хранилища', 'URI_Parquet-файла', '');Где:
имя_таблицы: уникальное имя аналитической таблицы.Полностью заданное имя аналитической таблицы состоит из аналитической схемы и имени таблицы. Оно генерируется в формате
имя_аналитической_схемы.имя_аналитической_таблицы.имя_хранилища: имя хранилища, в котором располагаются Parquet-файлы.URI_Parquet-файла: URI Parquet-файла, из которого создаётся аналитическая таблица.URI должен начинаться с
file://илиs3://.
Важно
Не пропускайте последний пустой параметр — ''. Он зарезервирован для использования в будущем и без него запрос не работает.
Пример 16.1.
SELECT metastore.add_table('table_example', 'storage_example', 'file:///home/user/tmp/parquet_data/t.parquet', '');После выполнения этого запроса pgpro_metastore выполняет следующие действия:
Проверяет права пользователей.
Убедитесь, что источник метаданных аналитической таблицы существует.
Использует библиотеку Apache Arrow для извлечения информации о столбцах из Parquet-файла.
Устанавливает соответствие между типом данных каждого столбца аналитической таблицы и типом данных, поддерживаемым pgpro_metastore.
Создаёт новые записи в таблицах метаданных
pga_snapshot,pga_tableиpga_column.
16.1.2. Создание аналитической таблицы из таблицы-кучи #
Выполните следующий запрос:
SELECT metastore.add_table('имя_таблицы', 'имя_хранилища', 'имя_таблицы-кучи', '');Где:
имя_таблицы: уникальное имя аналитической таблицы.Полностью заданное имя аналитической таблицы состоит из аналитической схемы и имени таблицы. Оно генерируется в формате
имя_аналитической_схемы.имя_аналитической_таблицы.имя_хранилища: имя хранилища, в котором располагаются Parquet-файлы.имя_таблицы-кучи: полностью заданное имя таблицы-кучи, начинающееся с имени схемы.
Важно
Не пропускайте последний пустой параметр — ''. Он зарезервирован для использования в будущем и без него запрос не работает.
Пример 16.2.
SELECT metastore.add_table('table_example', 'storage_example', 'public.heap_table_example', '');После выполнения этого запроса pgpro_metastore выполняет следующие действия:
Проверяет права пользователей.
Убедитесь, что источник метаданных аналитической таблицы существует.
Информация о столбцах аналитической таблицы извлекается из таблицы-кучи через запросы к служебным таблицам Postgres Pro.
Устанавливает соответствие между типом данных каждого столбца и типом данных, поддерживаемым pgpro_metastore.
Создаёт новые записи в таблицах метаданных
pga_snapshot,pga_tableиpga_column.