Установка
Сперва необходимо выполнить установку Datapulse, а также записать необходимые для конструктора DataVault параметры.
Установка пакета automatedv
Пакет automatedv - набор макросов для работы с dbt и разработки DataVault. Мы внесли в него перечень доработок и используем в Datapulse. Вам должен был быть передан файл с файлами пакета.
Чтобы его установить добавьте в файл packages.yml (обычно находится в папке проекта dbt) следующие строки
packages:
  - local: 'path\to\package\folder'
path\to\package\folder - папка с файлами пакета.
После выполните команду в консоли (находясь в консоли в папке проекта dbt)
dbt deps
Дополнительные настройки
Тип hash
В DataVault hash используется для:
- генерации суррогатных ключей
- генерации столбцов hashdiff для определения изменения строк в сателлитах.
Есть две функции в Datapulse, которые рассчитывают hash:
- md5
- sha256
| Плюсы | Минусы | |
|---|---|---|
| MD5 | - Быстрее рассчитывается - Меньше занимает места в памяти | Большой риск коллизии | 
| SHA256 | Риск коллизии маловероятен | - Медленее расчитывается - Занимает больше места в памяти | 
Как видно, ровно противоположные достоинства и недостатки. В Datapulse пользователь сам выбирает, какую функцию использовать.
Для этого в файле dbt_project.yml (обычно находится в папке проекта dbt) введите следующее
vars:
  hash: MD5 # or SHA
Важно
Если вы используете Greenplum установите отдельно расширение pgcrypto.
CREATE EXTENSION pgcrypto;
Только hash join
В некоторых случаях планировщик для SQL хабов, сателлитов и линков может выбирать неоптимальный join, а именно nested-loop, что сильно влияет на скорость выполнения запроса. 
Если такой случай произошел, рекомендуется явно указать, какой тип join требуется использовать путем записи в dbt_project.yml
models:
  your_project:
    your_datavault_schema:
      +pre-hook:
        - "set enable_nestloop = off"
        - "set enable_mergejoin = off"
nested loop join и merge join при запуске всех моделей, которые принадлежат схеме, где у вас хранится DataVault.