README.md

Вспомогательный репозиторий продукта Nedra.Data PLATFORM. Основной репозиторий продукта доступен по ссылке

Nedra.Data PLATFORM (backend repository)

Развёртка окружения для разработки

  • Клонировать репозиторий

  • Установить все зависимости проекта

    poetry install

    Для установки без dev и/или airflow групп зависимостей можно сделать

    poetry install –without airflow,dev

  • Установить значения для переменных окружения Backend и Airflow (например, через .env файл в корне проекта)

    • examples/.env.example - пример .env файла, который можно скопировать, заполнить недостающую информацию и использовать в качестве источника переменных окружения необходимых для запуска
  • Запустить

    poetry run python src\main.py

Проверка кода

Установка git хуков

poetry run pre-commit install

Ручной запуск всех хуков в репозитории:

poetry run pre-commit run --all-files

Ручной запуск всех хуков на определённом файле:

poetry run pre-commit run --files src/main.py

Описание переменных окружения Backend API

После равно указаны значения по-умолчанию которые будут подставлены в случае отсутствия переменной окружения

Airflow

  • Адрес сервиса Airflow

    AIRFLOW_URL=

  • Имя сервисного пользователя Airflow

    AIRFLOW_API_USER=

  • Пароль сервисного пользователя Airflow

    AIRFLOW_API_PASSWORD=

Веб-сервер приложения (uvicorn)

  • Хост к которому будет привязан сокет

    APP_SERVER_HOST=0.0.0.0

  • Порт к которому будет привязан сокет

    APP_SERVER_PORT=8000

  • Включение режима отладки

    APP_SERVER_DEBUG=True

  • Включение миграций БД

    APP_ENABLE_MIGRATIONS=True

  • Тип используемого хранилища

    APP_STORAGE_TYPE=HDFS

  • Название приложения

    APP_INFO_TITLE=Nedra Data Platform API

  • Описание приложения

    APP_INFO_DESCRIPTION=Nedra Data Platform Description

  • Версия приложения (если переменная не задана, то значение берется из файла version.json)

    APP_INFO_VERSION=1.0.0

Подключение к брокеру (Kafka)

  • Хост брокера

    BROKER_HOST=

  • Порт брокера

    BROKER_PORT=

Из переданных значений собирается строка подключения для клиента брокера

Подключение к DataHub

  • Адрес DataHub

    DATAHUB_URL=

  • Токен DataHub

    DATAHUB_TOKEN=

Подключение к БД (Postgres)

  • Хост СУБД

    DB_HOST=

  • Порт СУБД

    DB_PORT=

  • Пользователь СУБД

    DB_USER=

  • Пароль для пользователя СУБД

    DB_PASSWORD=

  • Имя БД

    DB_NAME=

Из переданных значений собирается строка подключения для клиента СУБД

Подключение к ElasticSearch

  • Хост ElasticSearch

    ELASTICSEARCH_HOST=

  • Порт ElasticSearch

    ELASTICSEARCH_PORT=

  • Индекс ElasticSearch

    ELASTICSEARCH_INDEX=

  • Таймаут запросов к ElasticSearch

    ELASTICSEARCH_REQUEST_TIMEOUT=30

Подключение к хранилищу Hadoop

  • Хост Web API Hadoop (внешний хост, используется для доступа извне, например, из локально развернутого приложения)

    HDFS_WEB_HOST=

  • Хост Web API Hadoop (внешний порт, используется для доступа извне, например, из локально развернутого приложения)

    HDFS_WEB_PORT=

  • Внешний Хост Hadoop

    HDFS_WEB_URL_EXTERNAL=

  • Хост Hadoop (внутренний хост, используется для взаимодействия между элементами одной инфраструктуры)

    HDFS_STORE_HOST=

  • Порт Hadoop (внутренний порт, используется для взаимодействия между элементами одной инфраструктуры)

    HDFS_STORE_PORT=

  • Хост Hive Metastore

    HDFS_METASTORE_HOST=

  • Порт Hive Metastore

    HDFS_METASTORE_PORT=

  • Директория, в которую осуществляется запись

    HDFS_TOPIC_DIR=

  • Имя сервисного пользователя Hadoop

    HDFS_USER=

Подключение к Kafka Connect

  • Хост Kafka Connect

    KAFKA_CONNECT_HOST=

  • Порт Kafka Connect

    KAFKA_CONNECT_PORT=

Подключение к Schema Registry

  • Хост Schema Registry

    SCHEMA_REGISTRY_HOST=

  • Порт Schema Registry

    SCHEMA_REGISTRY_PORT=

Из переданных значений собирается строка подключения для клиента Schema Registry

  • Хост внутренней Schema Registry

    SCHEMA_REGISTRY_INSIDE_HOST=

  • Порт внутренней Schema Registry

    SCHEMA_REGISTRY_INSIDE_PORT=

Из переданных значений собирается строка подключения для клиента Schema Registry

Подключение к Trino

  • Хост Trino

    TRINO_HOST=

  • Порт Trino

    TRINO_PORT=

  • Имя пользователя Trino

    TRINO_USER=

Описание переменных окружения Airflow

После равно указаны значения по-умолчанию которые будут подставлены в случае отсутствия переменной окружения

  • Тип используемого хранилища

    AIRFLOW_VAR_STORAGE_TYPE=HDFS

Подключение к БД (Postgres)

AIRFLOW_CONN_NDP_DB='{ "conn_type": null, "login": null, "password": null, "host": null, "port": null, "schema": null }'

Подключение к Trino

AIRFLOW_CONN_NDP_TRINO={ "conn_type": null, "login": null, "password": null, "host": null, "port": null, "schema": null }

Подключение к Kafka Connect

  • URL Kafka Connect

    AIRFLOW_VAR_BROKER_URL=

Подключение к Schema Registry

  • URL Schema Registry

    AIRFLOW_VAR_SCHEMA_REGISTRY_URL=

Подключение к ElasticSearch

  • Хост ElasticSearch

    AIRFLOW_VAR_ELASTICSEARCH_HOST=

  • Порт ElasticSearch

    AIRFLOW_VAR_ELASTICSEARCH_PORT=

  • Размер массива данных, отправляемых в ElasticSearch при индексации

    AIRFLOW_VAR_ELASTICSEARCH_CHUNK_SIZE=10000

Подключение к хранилищу Hadoop

  • Хост Web API Hadoop (внешний хост, используется для доступа извне, например, из локально развернутого приложения)

    AIRFLOW_VAR_HDFS_URL=

  • Имя сервисного пользователя Hadoop

    AIRFLOW_VAR_HDFS_USER=

  • Хост Hadoop (внутренний хост, используется для взаимодействия между элементами одной инфраструктуры)

    AIRFLOW_VAR_HDFS_STORE_URL=

  • Хост Web API Hadoop (внешний адрес, используется для доступа извне, например, из локально развернутого приложения)

    AIRFLOW_VAR_HDFS_WEB_URL_EXTERNAL=

Описание

Backend-репозиторий продукта Nedra.Data PLATFORM

Конвейеры
0 успешных
0 с ошибкой