Skip to content

Установка

Системные требования

ОС Windows/Linux/MacOS
RAM 8ГБ
HDD/SSD 10ГБ
CPU 4 ядра x64

Подготовка к установке

Скачайте и установите python версии 3.11 с официального сайта

Установка ПО

Рекомендуется сперва создать обособленное python-окружение для избежания риска конфликтов с ранее установленными python-библиотеками.

Для создания python-окружения выполните следующую команду в консоли

python -m venv your_env
your_env - наименование окружения

Для активации созданного окружения выполните команду

your_env\Scripts\activate

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

pip install /path/to/datapulse/wheel/directory
/path/to/datapulse/wheel/directory - путь к переданному установочному файлу Datapulse (в формате .whl)

Будут автоматически скачаны и установлены все зависимости, а также создана папка .datapulse в корневой директории пользователя.

Настройка параметров Datapulse

В файле .datapulse/config.yaml укажите следующие параметры:

Основные

Параметр Описание Обязательно Примечание
dbt_project_path Путь к папке с проектом dbt
dbt_project_name Наименование проекта dbt
dbt_profiles_path Путь к папке с файлом dbt profiles.yml
dpulse_meta_path Путь к папке, где будут храниться метаданные Datapulse
Рекомендуется указать папку .datapulse
disable_auth Отключить аутентификацию

Модуль "Конструктор DataVault"

Параметр Описание Обязательно
stage_schema Схема DWH для таблиц business layer
hub_schema Схема DWH для таблиц HUB
sat_schema Схема DWH для таблиц SAT
link_schema Схема DWH для таблиц LINK

Модуль "Экстрактор данных"

Параметр Описание Обязательно
data_source_table_schema Список схем DWH, в которые можно загружать данные из источников
dlt_path Путь к папке dlt (обычно находится в корневой директории пользователя)
pipeline_scripts_folder_path Путь к папке, в которой будут храниться файлы ETL-pipeline
dlt_staging_name Префикс в наименовании для технических таблиц dlt

Модуль "Чат с DWH"

Параметр Описание Обязательно
ai_model Используемая локальная модель ИИ
schema_for_analyze Список схем DWH, таблицы которых может читать ИИ
chroma_path Путь к папке с ChromaDB

Работа dbt

Создание проекта dbt

Чтобы создать проект dbt (если он еще не создан) выполните в консоли следующую команду

dbt init project_name
project_name - наименование проекта

После этого будет создана директория со всеми необходимыми файлами.

profiles.yml

Файл profiles.yml предназначен для хранения параметров подключения к DWH через dbt. Обычно располагается либо в корневой папке пользователя, либо в папке проекта dbt.

Файл должен содержать следующие параметры конфигурации.

project_name:
  outputs:
    dev:
      database: database_name
      host: host
      pass: your_password
      port: port_number (PostgreSQL default - 5432, Greenplum default - 6543)
      schema: public
      type: postgres/greenplum
      user: user_name
  target: dev

⚠️ Важно!

Для корректной работы Datapulse параметры подключения должны быть под тегом dev, не prod (временная мера).

dbt_project.yml

Файл dbt_project.yml предназначен для хранения общих настроек проекта dbt.

Наименование схем

dbt автоматически создаем схему в DWH, если при запуске модели схемы, которая указана в настройках модели, нет. Но при отсутствии макроса generate_schema_name.sql наименование схемы формируется как defaultschema_schema, где defaultschema - схема по дефолту, указанная в profiles.yml в параметре schema.

К примеру, в PostgreSQL, если дефолтная схема - public, а в моделе dbt указана схема dds, то dbt автоматически создаст схему public_dds.

Исправить такое явно некорректное поведение можно с помощью вставки в папку /macros файл generate_schema_name.sql со следующим наполнением.

{% macro generate_schema_name(custom_schema_name, node) -%}

    {%- set default_schema = target.schema -%}
    {%- if custom_schema_name is none -%}

        {{ default_schema }}

    {%- else -%}

        {{ custom_schema_name | trim }}

    {%- endif -%}

{%- endmacro %}

Установка dbt_artifacts

Datapulse для мониторинга логов dbt использует пакет dbt_artifacts.

Для его установки требуется в файл packages.yml внести следующее.

packages:
  - package: brooklyn-data/dbt_artifacts

А после выполнить в консоли команду

dbt deps

dbt скачает и установит указанный пакет. Далее в файле dbt_project.yml укажите, в какой схеме DWH вы хотите создать таблицы для хранения логов dbt.

models:
  dbt_artifacts:
    +schema: your_schema
    +on_schema_change: <ignore|fail|append_new_columns|sync_all_columns> # поведение, при изменении структуры таблиц с типом incremental
    +compresstype: ZLIB (или другой тип компрессии) # требуется для СУБД - Greenplum, по умолчанию ZSTD

on-run-end: # запускает вставку логов в технические таблицы после окончания работы dbt модели
  - "{{ dbt_artifacts.upload_results(results) }}"
После запустите команду
dbt run --select dbt_artifacts
Будут созданы все необходимые для логов таблицы.

Настройки аутентификации

Если требуется аутентификация и ролевой доступ, то в файле .datapulse/config.yaml должен быть указано следующее

disable_auth: false
Также убедитесь, что в файле ..\путь к папке с datapulse\.streamlit\secrets.toml указан админ по умолчанию
[passwords]
dpulse='admin' #логин=пароль
Можете сразу скорректировать и указать своего пользователя, убрав значения по умолчанию.

В папке .datapulse/users.yaml для всех пользователей из файла ..\путь к папке с datapulse\.streamlit\secrets.toml должны быть указаны роли. К примеру:

dpulse: admin #логин: роль