Настройка Layer
- Поддерживается: Layer
- Авторы: Mehmet Ecevit
- Репозиторий GitHub: layerai/dbt-layer
- Пакет PyPI:
dbt-layer-bigquery - Канал в Slack: #tools-layer
- Поддерживаемая версия dbt Core: v1.0.0 и новее
- Поддержка dbt: Не поддерживается
- Минимальная версия платформы данных: n/a
Установка dbt-layer-bigquery
Установите адаптер с помощью pip. До версии 1.8 установка адаптера автоматически устанавливала dbt-core и любые дополнительные зависимости. Начиная с 1.8 установка адаптера не устанавливает dbt-core автоматически. Это потому, что версии адаптеров и dbt Core были развязаны, и мы больше не хотим перезаписывать существующие установки dbt-core.
Используйте следующую команду для установки:
python -m pip install dbt-core dbt-layer-bigquery
Настройка dbt-layer-bigquery
Конфигурацию, специфичную для Layer, см. на странице настроек Layer.
Конфигурация профиля
Цели Layer Bigquery должны быть настроены с использованием следующих секций в вашем файле profiles.yml.
Bigquery Authentication
Вы можете использовать любой метод аутентификации, поддерживаемый официальным адаптером dbt для BigQuery, поскольку Layer использует адаптер dbt-bigquery для подключения к вашему экземпляру BigQuery.
Аутентификация Bigquery
Вы можете использовать любой метод аутентификации, поддерживаемый в официальном адаптере dbt Bigquery, так как Layer использует адаптер dbt-bigquery для подключения к вашей инстанции Bigquery.
Пример профиля:
layer-profile:
target: dev
outputs:
dev:
# Аутентификация Layer
type: layer_bigquery
layer_api_key: [API Key для доступа к вашему аккаунту Layer (опционально)]
# Аутентификация Bigquery
method: service-account
project: [ID проекта GCP]
dataset: [название вашего набора данных dbt]
threads: [1 или более]
keyfile: [/путь/к/bigquery/keyfile.json]
Описание полей профиля Layer Bigquery
Следующие поля являются обязательными:
| Loading table... |
Остальные параметры зависят от указанного вами метода аутентификации BigQuery.
Использование
AutoML
Вы можете автоматически создавать передовые ML модели, используя ваши собственные dbt модели с помощью простого SQL. Чтобы обучить модель AutoML, все, что вам нужно сделать, это передать тип модели, входные данные (фичи) и целевой столбец, который вы хотите предсказать, в layer.automl() в вашем SQL. Layer AutoML выберет модель с наилучшей производительностью и позволит вам вызывать ее по имени модели dbt для предсказаний, как показано выше.
Синтаксис:
layer.automl("MODEL_TYPE", ARRAY[FEATURES], TARGET)
Параметры:
| Loading table... |
Требования:
- Вам нужно добавить
layer_api_keyв ваш профиль dbt, чтобы AutoML работал.
Пример:
Посмотрите Проект AutoML для обзора заказов:
SELECT order_id,
layer.automl(
-- Это задача регрессии
'regressor',
-- Данные (входные фичи) для обучения нашей модели
ARRAY[
days_between_purchase_and_delivery, order_approved_late,
actual_delivery_vs_expectation_bucket, total_order_price, total_order_freight, is_multiItems_order,seller_shipped_late],
-- Целевой столбец, который мы хотим предсказать
review_score
)
FROM {{ ref('training_data') }}
Предсказание
Вы можете делать предсказания, используя любую ML модель Layer в ваших dbt моделях. Адаптер Layer dbt помогает вам оценивать ваши данные, находящиеся в вашем хранилище, в рамках вашего dbt DAG с помощью SQL.
Синтаксис:
layer.predict("LAYER_MODEL_PATH", ARRAY[FEATURES])
Параметры:
| Loading table... |
Пример:
Посмотрите Проект по обнаружению одежды:
SELECT
id,
layer.predict("layer/clothing/models/objectdetection", ARRAY[image])
FROM
{{ ref("products") }}