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

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

Требования к инстансу

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

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

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

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

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

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

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

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

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

Дополнительная конфигурация

Адаптер dbt-watsonx-spark позволяет задавать дополнительные параметры конфигурации в профиле каталога:

  • Catalog: указывает каталог, который будет использоваться для Spark-подключения. Плагин автоматически определяет тип формата файлов (Iceberg, Hive или Delta) на основе типа каталога.
  • use_ssl: включает SSL-шифрование для защищённых соединений.

Пример конфигурации:

project_name:
target: "dev"
outputs:
dev:
type: watsonx_spark
method: http
schema: [schema name]
host: [hostname]
uri: [uri]
catalog: [catalog name]
use_ssl: false
auth:
instance: [Watsonx.data Instance ID]
user: [username]
apikey: [apikey]

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

Поддерживаемые форматы файлов зависят от типа каталога:

  • Iceberg Catalog: поддерживает таблицы Iceberg.
  • Hive Catalog: поддерживает таблицы Hive.
  • Delta Lake Catalog: поддерживает таблицы Delta.
  • Hudi Catalog: поддерживает таблицы Hudi.

Плагин автоматически определяет тип формата файлов на основе каталога, указанного в конфигурации.

Формат файлов также можно указать непосредственно в dbt-моделях. Например:

{{
config(
materialized='table',
file_format='iceberg' or 'hive' or 'delta' or 'hudi'
)
}}

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

Seeds и подготовленные выражения (prepared statements)

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

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

Адаптер dbt-watsonx-spark поддерживает материализацию таблиц, позволяя управлять тем, как данные хранятся и запрашиваются в watsonx.data Spark.

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

Таблицы

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

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

Если материализация явно не указана, адаптер по умолчанию автоматически создаёт представления (views).

Инкрементальные таблицы

Инкрементальная материализация поддерживается, но требует дополнительной настройки секционирования и оптимизации производительности.

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

  • Проверьте права доступа: убедитесь, что в каталоге или схеме включены необходимые права для создания таблиц.
  • Изучите документацию коннектора: ознакомьтесь с разделом watsonx.data Spark data ingestion in watsonx.data, чтобы убедиться, что он поддерживает создание и изменение таблиц.

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

Несмотря на широкие возможности, адаптер dbt-watsonx-spark имеет ряд ограничений:

  • Incremental Materialization: поддерживается, но требует дополнительной настройки секционирования и оптимизации производительности.
  • Materialized Views: нативно не поддерживаются в Spark SQL в Watsonx.data.
  • Snapshots: не поддерживаются из‑за отсутствия встроенного механизма snapshot в Spark.
  • Производительность:
    • Для больших наборов данных может потребоваться настройка параметров Spark, таких как количество shuffle‑партиций и распределение памяти.
    • Некоторые преобразования могут быть ресурсоёмкими из‑за in‑memory модели обработки Spark.

Понимание этих возможностей и ограничений позволяет максимально эффективно использовать dbt с Watsonx.data Spark для масштабируемых преобразований данных и аналитики.

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

0
Loading