Подключение IBM watsonx.data Spark к dbt v1
- Поддерживается: IBM
- Авторы: Bayan Albunayan, Reema Alzaid, Manjot Sidhu
- Репозиторий GitHub: IBM/dbt-watsonx-spark
- Пакет PyPI:
dbt-watsonx-spark - Канал Slack:
- Поддерживаемая версия dbt: v0.0.8 и новее
- Поддержка dbt: Not Supported
- Минимальная версия платформы данных: n/a
Установка dbt-watsonx-spark
Установите адаптер с помощью `pip`:python -m pip install 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
Примечание: установка адаптера не устанавливает dbt v1 автоматически. Это связано с тем, что версии адаптеров и dbt v1 разделены, чтобы избежать перезаписи существующих установок dbt v1. Используйте следующую команду для установки:
python -m pip install dbt-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:
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:
| Option | Required/Optional | Описание | Пример |
|---|---|---|---|
method | Required | Указывает метод подключения к Spark query server. Используйте http. | http |
schema | Required | Выбор существующей схемы в Spark engine или создание новой схемы. | spark_schema |
host | Required | Имя хоста консоли watsonx.data. Подробнее см. Getting connection information. | https://dataplatform.cloud.ibm.com |
uri | Required | URI вашего query server, запущенного в watsonx.data. Подробнее см. Getting connection information. | /lakehouse/api/v2/spark_engines/<sparkID>/query_servers/<queryID>/connect/cliservice |
catalog | Required | Каталог, связанный с Spark engine. | my_catalog |
use_ssl | Optional (default: false) | Указывает, следует ли использовать SSL. | true или false |
instance | Required | Для SaaS укажите CRN watsonx.data. Для Software — instance ID watsonx.data | 1726574045872688 |
user | Required | Имя пользователя для экземпляра watsonx.data. Для SaaS используйте email в качестве имени пользователя | username или user@example.com |
apikey | Required | Ваш API key. Подробнее: для SaaS, для Software | API key |
Схемы и каталоги
При выборе каталога убедитесь, что у пользователя есть права на чтение и запись. Этот выбор не ограничивает возможность выполнять запросы к указанной или созданной схеме, а также задаёт расположение по умолчанию для моделей с материализациями 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 |
Ограничения и особенности
- Поддерживается только HTTP: Нет поддержки ODBC, Thrift или соединений на основе сеансов.
- Ограниченная поддержка dbt: Не полностью совместим с dbt.
- Сохранение метаданных: Некоторые возможности dbt, например описания столбцов, могут сохраняться не во всех форматах таблиц.