stg - staging area layer
dds - detailed data storage layer
cdm - common data mart (витрина общего назначения)
DAG - directed acyclic graph, набор задач
В целом, в лабе нужно пропустить данные через слои postgress используя airflow: stg -> dds -> cdm
- Airflow и Postgres находятся в одном контейнере
de-pg-cr-af-1
- Есть 2 подхода
- Kimball Data Warehouse
- Inmon Data Warehouse
В airflow нужно:
- Обратить внимание на DAG -
get_data
- Code - Создать соединение с postgress в Admin - Connections
Предлагается использовать SQL клиент (DBeaver) чтобы взаимодействовать с postgress напрямую
- В таком случае, для подключения используется
jovyan:jovyan@localhost:15432/de
- Схемы = Слои`
- Внутри слоев, есть таблицы
- В слое stg хранятся json'ы с текстом
- В слое dds хранятся, уже преобразованное содержание stg json'ов
- Сейчас в коде используется "промежуточный подход"
- При подходе Kimbal'a
- "Какие нам нужны таблицы в слое cdm?"
- Проектируем таблицу в cdm, а затем строим остальное хранилище чтобы получить поля в таблице
- При подходе Inmon'а
- Начинаем со слоя dds
- Сейчас в коде dds нет внешних ключей, "можно в рамках задания их добавить"