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

Настройка Spark в IBM watsonx.data

  • Поддерживается: IBM
  • Авторы: Bayan Albunayan, Reema Alzaid, Manjot Sidhu
  • Репозиторий GitHub: IBM/dbt-watsonx-spark
  • Пакет PyPI: dbt-watsonx-spark
  • Канал в Slack:
  • Поддерживаемая версия dbt Core: v0.0.8 и новее
  • Поддержка dbt: Not Supported
  • Минимальная версия платформы данных: n/a

Установка dbt-watsonx-spark

Установите адаптер с помощью pip. До версии 1.8 установка адаптера автоматически устанавливала dbt-core и любые дополнительные зависимости. Начиная с 1.8 установка адаптера не устанавливает dbt-core автоматически. Это потому, что версии адаптеров и dbt Core были развязаны, и мы больше не хотим перезаписывать существующие установки dbt-core. Используйте следующую команду для установки:

python -m pip install dbt-core dbt-watsonx-spark

Настройка dbt-watsonx-spark

Конфигурацию, специфичную для IBM watsonx.data, см. на странице настроек IBM watsonx.data.

Адаптер dbt-watsonx-spark позволяет использовать dbt для трансформации и управления данными в IBM watsonx.data Spark, используя возможности его распределённого SQL-движка.

Перед тем как продолжить, убедитесь, что у вас есть следующее:

  • Активный экземпляр IBM watsonx.data. Для IBM Cloud (SaaS). Для Software
  • Развёрнутый Native Spark engine в watsonx.data. Для IBM Cloud (SaaS). Для Software
  • Активный Spark query server в вашем Native Spark engine

Ознакомьтесь с официальной документацией по использованию watsonx.data с dbt-watsonx-spark:

Установка dbt-watsonx-spark

Примечание: установка адаптера не устанавливает <Constant name="core" /> автоматически. Это связано с тем, что версии адаптеров и <Constant name="core" /> разделены, чтобы избежать перезаписи существующих установок <Constant name="core" />. Используйте следующую команду для установки:

python -m pip install <Constant name="core" /> dbt-watsonx-spark

Настройка dbt-watsonx-spark

Для параметров конфигурации, специфичных для IBM watsonx.data, см. настройки IBM watsonx.data.

Подключение к IBM watsonx.data Spark

Чтобы подключить dbt к watsonx.data Spark, настройте профиль в файле profiles.yml, который находится в директории .dbt/ вашего домашнего каталога. Ниже приведён пример конфигурации для подключения к экземплярам IBM watsonx.data SaaS и Software:

~/.dbt/profiles.yml
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]

Параметры host

Следующие поля профиля необходимы для настройки подключения к watsonx.data Spark. Для экземпляров IBM watsonx.data SaaS или Software, чтобы получить данные для профиля, нажмите View connect details, когда query server находится в статусе RUNNING в watsonx.data (как в SaaS, так и в Software). Откроется страница с параметрами подключения и конфигурацией профиля. Скопируйте и вставьте эти данные подключения в файл profiles.yml, расположенный в директории .dbt вашего домашнего каталога.

Следующие поля профиля необходимы для настройки подключения к watsonx.data Spark:

OptionRequired/Optional
Описание
Пример
methodRequiredУказывает метод подключения к Spark query server. Используйте http.http
schemaRequiredВыбор существующей схемы в Spark engine или создание новой схемы.spark_schema
hostRequiredИмя хоста консоли watsonx.data. Подробнее см. Getting connection information.https://dataplatform.cloud.ibm.com
uriRequiredURI вашего query server, запущенного в watsonx.data. Подробнее см. Getting connection information./lakehouse/api/v2/spark_engines/<sparkID>/query_servers/<queryID>/connect/cliservice
catalogRequiredКаталог, связанный с Spark engine.my_catalog
use_sslOptional (default: false)Указывает, следует ли использовать SSL.true или false
instanceRequiredДля SaaS укажите CRN watsonx.data. Для Software — instance ID watsonx.data1726574045872688
userRequiredИмя пользователя для экземпляра watsonx.data. Для SaaS используйте email в качестве имени пользователяusername или user@example.com
apikeyRequiredВаш API key. Подробнее: для SaaS, для SoftwareAPI key
Loading table...

Схемы и каталоги

При выборе каталога убедитесь, что у пользователя есть права на чтение и запись. Этот выбор не ограничивает возможность выполнения запросов к указанной или созданной схеме, а также используется как расположение по умолчанию для материализованных tables, views и incremental.

Проверка SSL

  • Если экземпляр Spark использует незащищённое HTTP-подключение, установите use_ssl в false.
  • Если экземпляр использует HTTPS, установите значение true.

Дополнительные параметры

Следующие поля профиля являются необязательными. Вы можете настроить сессию экземпляра и поведение dbt для подключения.

Profile fieldОписаниеПример
threadsКоличество потоков, которые должен использовать dbt (по умолчанию 1)8
retry_allВключает автоматические повторы при временных ошибках подключения.true
connect_timeoutТаймаут установления соединения (в секундах).5
connect_retriesКоличество попыток повторного подключения при ошибках.3
Loading table...

Ограничения и особенности

  • Поддерживается только HTTP: нет поддержки ODBC, Thrift или сессионных подключений.
  • Ограниченная поддержка dbt: не полностью совместим с dbt.
  • Сохранение метаданных: некоторые возможности dbt, такие как описания колонок, могут не сохраняться во всех форматах таблиц.

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

0
Loading