Skip to content

Latest commit

 

History

History
74 lines (52 loc) · 4.42 KB

File metadata and controls

74 lines (52 loc) · 4.42 KB

Combining data streams. Analytics datamart.

Tasks Results
Объединить из разных источников информацию о финансовой активность пользователей

Подготовить информацию для аналитиков в дашборде

Implementation

Выбрана следующа схема выгрузки данных из хранилища S3 и загрузки в Vertica с помощью DAG AirFlow.

Схема_решения_проекта

Использую пакеты boto3, vertica_python.

Первый DAG s3_to_vertica_dag.py выгружает файлы из S3, фильтрует ранее загруженные, записывает данные в слой STG в Vertica и запускает второй DAG с помощью TriggerDagRunOperator, передавая ему дату {{ ds }} из AirFlow.

DAG1

Второй DAG vertica_stg_to_cdm_dag.py настроен на запуск в 00:00 на обработку данных за каждый прошедший день за требуемый диапазон дат:

DAG1_schedule

dag = DAG('s3_to_vertica_dag',
    default_args=args,
    schedule_interval='@daily',  
    start_date=pendulum.datetime(2022, 10, 1),  
    end_date=pendulum.datetime(2022, 11, 1),  
    catchup=True,  # Обработать предыдущие периоды

Он запускается по триггеру из первого и переносит данные из STG в DDS и CDM.

В слое DDS применена архитектура Data Vault DDS

В /src/sql - SQL-запросы формирования таблиц, проекций таблиц, а также скрипт подготовки данных для итоговой витрины.

Схема итоговой витрины данных STV2023060652__DWH.global_metrics

Дашборд для аналитиков в Metabase с необходимыми метриками и фильтрами по валюте и дате. Дашборд