Перейти к основному содержимому

Конфигурация IBM watsonx.data Presto

Требования к экземпляру​

Для использования IBM watsonx.data Presto (java) с адаптером dbt-watsonx-presto убедитесь, что экземпляр имеет подключённый каталог, который поддерживает создание, переименование, изменение и удаление объектов, таких как таблицы и представления. Пользователь, подключающийся к экземпляру через адаптер dbt-watsonx-presto, должен иметь необходимые права доступа к целевому каталогу.

Подробные инструкции по настройке, включая установку watsonx.data, добавление движка Presto (Java), конфигурацию хранилищ, регистрацию источников данных и управление правами доступа, см. в официальной документации IBM:

Свойства сессии​

В экземпляре IBM watsonx.data SaaS/Software вы можете задавать session properties, чтобы изменять текущую конфигурацию для пользовательской сессии.

Чтобы временно изменить session properties для конкретной dbt-модели или группы моделей, используйте dbt hook. Например:

{{
config(
pre_hook="set session query_max_run_time='10m'"
)
}}

Свойства коннекторов​

IBM watsonx.data SaaS/Software поддерживает различные свойства коннекторов, которые позволяют управлять тем, как представлены ваши данные. Эти свойства особенно полезны для файловых коннекторов, таких как Hive.

Информацию о том, какие возможности поддерживаются для каждого источника данных, см. в следующих ресурсах:

Конфигурация форматов файлов​

Файловые коннекторы, такие как Hive и Iceberg, позволяют настраивать материализацию таблиц, форматы данных и стратегии партиционирования в dbt-моделях. Примеры ниже демонстрируют, как сконфигурировать эти параметры для каждого коннектора.

Конфигурация Hive​

Hive поддерживает указание форматов файлов и стратегий партиционирования с помощью параметра properties в dbt-моделях. В примере ниже показано, как создать партиционированную таблицу, хранящуюся в формате Parquet:

{{
config(
materialized='table',
properties={
"format": "'PARQUET'", -- Specifies the file format
"partitioned_by": "ARRAY['id']", -- Defines the partitioning column(s)
}
)
}}

Дополнительную информацию о создании таблиц Hive и поддерживаемых свойствах см. в документации по коннектору Hive.

Конфигурация Iceberg​

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

{{
config(
materialized='table',
properties={
"format": "'ORC'", -- Specifies the file format
"partitioning": "ARRAY['bucket(id, 2)']", -- Defines the partitioning strategy
}
)
}}

Дополнительную информацию о создании таблиц Iceberg и поддерживаемых конфигурациях см. в документации по коннектору Iceberg.

Seeds​

Адаптер dbt-watsonx-presto обеспечивает полную поддержку всех типов данных watsonx.data Presto в seed-файлах. Чтобы воспользоваться этой возможностью, необходимо явно определить типы данных для каждого столбца.

Вы можете настраивать типы данных столбцов либо в файле dbt_project.yml, либо в property-файлах, поддерживаемых dbt. Подробнее о конфигурации seed-данных и лучших практиках см. в документации по настройке dbt seeds.

Материализации​

Адаптер dbt-watsonx-presto поддерживает материализации table и view, позволяя управлять тем, как данные хранятся и запрашиваются в watsonx.data Presto (java).

Дополнительную информацию о настройке материализаций см. в документации по materializations в dbt.

Таблицы​

Адаптер dbt-watsonx-presto позволяет создавать и обновлять таблицы с помощью materialization table, что упрощает работу с данными в watsonx.data Presto.

Рекомендации​

  • Проверьте права доступа: убедитесь, что в каталоге или схеме включены необходимые разрешения для создания таблиц.
  • Проверьте документацию коннектора: ознакомьтесь с поддержкой SQL-операторов watsonx.data Presto в разделе sql statement support, чтобы убедиться, что создание и изменение таблиц поддерживается.

Ограничения для некоторых коннекторов​

Некоторые коннекторы watsonx.data Presto, особенно доступные только для чтения или имеющие ограниченные права, не позволяют создавать или изменять таблицы. При попытке использовать materialization table с такими коннекторами может возникнуть ошибка вида:

PrestoUserError(type=USER_ERROR, name=NOT_SUPPORTED, message="This connector does not support creating tables with data", query_id=20241206_071536_00026_am48r)

Представления​

Адаптер dbt-watsonx-presto по умолчанию автоматически создаёт представления, так как view является стандартной materialization в dbt. Если materialization явно не указана, dbt создаст представление в watsonx.data Presto.

Чтобы убедиться, что ваш коннектор поддерживает создание представлений, см. раздел watsonx.data sql statement support.

Неподдерживаемые возможности​

Следующие возможности не поддерживаются адаптером dbt-watsonx-presto:

  • Инкрементальная материализация
  • Материализованные представления
  • Снимки (snapshots)

Нашли ошибку?

0
Loading