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 выполняет следующие действия:

  1. Проверяет права пользователей.

  2. Убедитесь, что источник метаданных аналитической таблицы существует.

  3. Использует библиотеку Apache Arrow для извлечения информации о столбцах из Parquet-файла.

  4. Устанавливает соответствие между типом данных каждого столбца аналитической таблицы и типом данных, поддерживаемым pgpro_metastore.

  5. Создаёт новые записи в таблицах метаданных 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 выполняет следующие действия:

  1. Проверяет права пользователей.

  2. Убедитесь, что источник метаданных аналитической таблицы существует.

  3. Информация о столбцах аналитической таблицы извлекается из таблицы-кучи через запросы к служебным таблицам Postgres Pro.

  4. Устанавливает соответствие между типом данных каждого столбца и типом данных, поддерживаемым pgpro_metastore.

  5. Создаёт новые записи в таблицах метаданных pga_snapshot, pga_table и pga_column.