Перейти к основному содержимому
(Версии dbt: v2.0 и новее)

Подключение Redshift к dbt v2

Настройте адаптер Redshift командой dbt init или вручную создайте profiles.yml с полями для выбранного способа аутентификации.

Адаптер Redshift для dbt v2 поддерживает следующие способы аутентификации:

  • Password
  • IAM profile
  • IAM Identity Center (browser)

Разрешения в хранилище​

Пользователь базы данных Redshift, которого использует dbt v2, должен иметь возможность выполнять рабочие нагрузки dbt и читать метаданные каталога, используемые для интроспекции.

Необходимые объекты Redshift​

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

ОбъектНазначение
Кластер (provisioned) или рабочая группа (serverless)Вычислительный ресурс
База данныхЦелевая база данных
СхемаЦелевая схема в базе данных
ПользовательПользователь базы данных для аутентификации
Роль или профиль IAM (необязательно)Для аутентификации на основе IAM

Основные разрешения​

Для базовых функций dbt необходимы следующие разрешения:

РазрешениеОбъектНазначение
USAGEСхемаДоступ к схеме
CREATEСхемаСоздание таблиц и представлений в схеме
SELECTТаблицы или представленияЧтение данных
INSERTТаблицыВставка данных
UPDATEТаблицыОбновление данных
DELETEТаблицыУдаление данных
DROPТаблицы или представленияУдаление или замена объектов
TRUNCATEТаблицыОчистка таблиц

Операции с метаданными​

dbt v2 запрашивает следующие системные отношения Redshift:

Системное отношениеНазначениеНеобходимое разрешение
SVV_ALL_COLUMNSМетаданные столбцовSELECT для системного представления
pg_classПолучение списка отношенийДоступ к системному каталогу
pg_namespaceИнформация о схемахДоступ к системному каталогу
sys_query_detailПроверка актуальности источников (время последней вставки)SELECT для системного представления
svv_table_infoПолучение списка материализованных представлений, если они есть в проектеSELECT для системного представления
svv_mv_infoПолучение списка материализованных представлений, если они есть в проектеSELECT для системного представления

Управление схемами​

Разрешения для управления схемами, необходимые при определённых условиях

РазрешениеОбъектКогда требуется
CREATE SCHEMAБаза данныхАвтоматическое создание схем

Примеры выдачи прав через SQL приведены в разделе Разрешения Redshift.

Настройка dbt v2​

При запуске dbt init в CLI укажите следующие данные:

  • Host: имя хоста кластера Redshift.
  • User: имя пользователя для подключения к базе данных.
  • Database: имя базы данных.
  • Schema: имя схемы.
  • Port (по умолчанию 5439): порт среды Redshift.

Файл profiles.yml также можно создать вручную. Формат полей показан в разделе Способы аутентификации. Если файл уже существует, можно сохранить текущие поля или перезаписать их.

Выберите способ аутентификации и заполните запрошенные поля.

Поддерживаемые способы аутентификации​

Для входа используйте пароль пользователя Redshift. Его также можно указать открытым текстом в profiles.yml.

Пример настройки с паролем​

profiles.yml
default:
target: dev
outputs:
dev:
type: redshift
port: 5439
database: JAFFLE_SHOP
schema: JAFFLE_TEST
ra3_node: true
method: database
host: ABC123.COM
user: JANE.SMITH@YOURCOMPANY.COM
password: ABC123
threads: 16

Регистр идентификаторов​

Redshift приводит имена к нижнему регистру, включая имена в кавычках, если для параметра enable_case_sensitive_identifier не установлено значение true в группе параметров кластера или в конфигурации рабочей группы Serverless. dbt не включает этот параметр. См. Настройка заключения в кавычки.

Дополнительные сведения​

Настройки Redshift описаны в справочнике адаптера.

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

0
Loading