Развертывание и конфигурирование среды хранения данных
Получение практических навыков проектирования многослойного хранилища данных, организации процессов загрузки данных и реализации инкрементального обновления данных.
В качестве источника используется набор данных music_tracks.
Исходный набор данных должен быть загружен обучающимся в таблицу базы данных с использованием языка Python.
Допуск к реализации этапа очистки данных осуществляется после выполнения исследовательского анализа данных в рамках лабораторной работы №1 по дисциплине «Высокопроизводительная обработка и анализ данных».
Правила очистки данных должны соответствовать проблемам, выявленным при исследовательском анализе источника.
Необходимо спроектировать и реализовать первую версию хранилища данных для предметной области музыкальных композиций.
Архитектура решения должна включать следующие уровни хранения данных:
STAGING;ODS;Реализовать программный модуль на языке Python, выполняющий загрузку предоставленного набора данных music_tracks в таблицу-источник базы данных.
Структура исходной таблицы должна обеспечивать хранение данных в максимально близком к исходному набору виде.
Создать таблицу слоя STAGING, предназначенную для промежуточного хранения данных источника.
Реализовать функцию без входных параметров, выполняющую перенос данных из таблицы-источника в таблицу слоя STAGING.
На данном этапе данные должны переноситься as is (то есть, как она есть без изменений, целиком и полностью), без очистки и содержательных преобразований.
Создать таблицу слоя ODS, предназначенную для хранения очищенных и подготовленных данных.
Реализовать процедуру или функцию инкрементальной загрузки данных из слоя STAGING в слой ODS.
Функция должна принимать параметры:
p_sdt — начало обрабатываемого периода;
p_edt — конец обрабатываемого периода.
Алгоритм загрузки должен включать следующие этапы:
ODS ранее загруженных данных за период [p_sdt; p_edt];STAGING за указанный период;ODS.Повторный запуск функции с одинаковыми параметрами не должен приводить к появлению дублирующихся данных.
Рекомендуется использовать временные объекты при выполнении работы.
Алгоритм очистки должен быть сформирован на основании результатов исследовательского анализа данных, выполненного в рамках лабораторной работы по дисциплине «Высокопроизводительная обработка и анализ данных».
Необходимо реализовать обработку выявленных ранее проблем качества данных, например:
Конкретный набор правил определяется обучающимся на основании проведенного анализа.
На основании очищенных данных слоя ODS спроектировать аналитическое хранилище данных с использованием схемы типа «снежинка».
Необходимо:
ODS в разработанное хранилище.По результатам выполнения лабораторной работы должны быть представлены:
STAGING;ODS;STAGING;STAGING → ODS;ODS → DDS;Организация хранения и управления данными
Получение практических навыков генерации синтетических данных, развития многослойного хранилища данных, создания аналитических витрин и организации переноса данных между различными СУБД.
В качестве источника используется набор данных music_tracks.
Основой выполнения лабораторной работы является хранилище данных, разработанное в рамках лабораторной работы №1 по дисциплине «Администрирование больших данных»:
SOURCE → STAGING → ODS → DDS
В разработанной системе должен использоваться ранее сформированный атрибут dt типа date, необходимый для обработки данных за указанный период.
Результаты выполнения лабораторной работы используются в лабораторной работе №2 по дисциплине «Высокопроизводительная обработка и анализ данных» для анализа синтетических данных, оценки результатов загрузки и сравнения данных аналитических витрин в различных СУБД.
Выполнение лабораторной работы предполагает наличие работоспособного хранилища и алгоритма очистки данных, разработанных в рамках лабораторных работ №1 обеих дисциплин.
Необходимо расширить существующее хранилище данных, обеспечить генерацию и поступление новых данных, разработать аналитическую витрину и реализовать её перенос в другую СУБД.
Реализовать программный модуль на языке Python, выполняющий генерацию синтетических данных на основе структуры исходного набора music_tracks.
Генератор должен обеспечивать:
dt для последующей инкрементальной загрузки;Способы генерации и состав дополнительных параметров обучающийся определяет самостоятельно.
Организовать последовательное поступление синтетических данных в таблицу-источник без полного пересоздания хранилища.
Необходимо сформировать и загрузить не менее двух партий данных, отличающихся периодами по атрибуту dt.
Предусмотреть возможность моделирования изменения существующих записей и намеренного появления проблем качества данных для проверки ранее разработанного алгоритма очистки.
Обеспечить прохождение сформированных данных через существующие слои хранилища:
SOURCE → STAGING → ODS → DDS
Необходимо:
SOURCE в STAGING с использованием ранее реализованной функции без параметров, сохраняя данные as is;STAGING → ODS с параметрами p_sdt, p_edt, используя атрибут dt и ранее разработанный алгоритм очистки;Повторный запуск загрузки за одинаковый период не должен приводить к появлению дублирующихся данных. Рекомендуется использовать временные объекты при выполнении работы.
На основании данных разработанного хранилища DDS/ODS необходимо создать аналитическую витрину по выбранному направлению предметной области.
Необходимо:
DWH;Тематику и набор показателей аналитической витрины обучающийся определяет самостоятельно.
Организовать перенос разработанной аналитической витрины в другую СУБД, отличную от той, в которой размещено основное хранилище данных.
Например, основное хранилище может использовать PostgreSQL, а целевая аналитическая витрина — ClickHouse. Допускается использование других СУБД.
Необходимо:
Результаты проверки должны подтверждать корректность переноса данных между СУБД.
По результатам выполнения лабораторной работы должны быть представлены:
SOURCE, STAGING, ODS и DDS;