Установка
Системные требования
| ОС | 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 #логин: роль