В рамках итоговой работы будет необходимо:
- В качестве источника взять демонстрационную базу авиаперевозок (описание)
- Запустить чистую базу данных и создать там таблицы с фактами и размерностями
- Наполнить базу данными из бд bookings при помощи ETL
- Fact_Flights - содержит совершенные перелеты. Если в рамках билета был сложный маршрут с пересадками - каждый сегмент учитываем независимо
- Пассажир
- Дата и время вылета (факт)
- Дата и время прилета (факт)
- Задержка вылета (разница между фактической и запланированной датой в секундах)
- Задержка прилета (разница между фактической и запланированной датой в секундах)
- Самолет
- Аэропорт вылета
- Аэропорт прилета
- Класс обслуживания
- Стоимость
- Dim_Calendar - справочник дат
- Dim_Passengers - справочник пассажиров
- Dim_Aircrafts - справочник самолетов
- Dim_Airports - справочник аэропортов
- Dim_Tariff - справочник тарифов (Эконом/бизнес и тд)
Для каждой таблицы в хранилище необходимо придумать и реализовать как минимум 3-4 проверки качества данных. Например, дата фактического вылета не может быть больше сегодняшнего дня. Описание каждой проверки должно быть в документации.
Некачественные строки записываются в отдельные rejected-таблицы
- SQL-скрипт создания таблицы фактов и всех справочников
- Трансформации
- ETL загрузки таблицы фактов и всех справочников
- Проверки качества данных
- Документацию, описывающую процедуру ETL и все особенности его работы
- ER-диаграмму созданной базы данных хранилища
- Скриншоты ETL-процессов