В этом уроке я продемонстрирую, как ведется проектирование ETL процесса с нуля и до полного завершения в PDI (Pentaho Data Integration). Этот процесс не очень быстрый: все уместилось в два часа. Это очень долго для одного урока, но я решил оставить видео таким, как я его записал. На это есть ряд причин:
На первый взгляд 2 часа - это много, однако ETL процессы разрабатываются в компаниях в течение нескольких месяцев.
Все будет разрабатываться, тестироваться на ваших глазах.
Так как видео смогут осилить немногие, поэтому разделение на несколько уроков не принесет пользы. Куда лучше взять готовую схему и обратиться к той части видео, где возникли вопросы. Видео будет как пример разработки ETL процесса.
Главное вам добиться того, чтобы проект заработал. Вот и сам проект, который разработали в видео. (Загрузка/Download)
План видео /Video plan (ссылка на youtub http://youtu.be/XMb8dtlHKME) 00:05 Цели и задачи / Goals and Objectives 01:29 Как запустить ETL проект (если вы его скачали с сайта) / How to run the ETL project (if you downloaded it from the website). 06:22 Обзор ETL / Overview ETL (ru). 24:04 Разработка/Designing 25:05 Проектирование главного элемента "Job". / Designing the main element "Job". 28:48 Проектирование элемента "Job" для обновления таблицы измерений. / Designing element "Job" to update the table of dimensions. 28:13 Создание элементов "transformation" для обновления таблиц измерений. / Creating elements "transformation“ to update the dimension tables. 29:50 “Insert / Update”. 39:53 “Dimension lookup/update” 47:35 Разработка элемента "Job" загрузки таблицы фактов / Designing the "Job" load the fact table. 48:37 Установка данных в переменные. / Set data into variable. 51:37 Параметризация загрузки данных из таблицы фактов. / Preparing data for load in the fact table (use variable). 01:01:36 Выбор ключа для фильтрации таблицы фактов из OLTP таблицы. / Selection key to filter the fact table from OLTP table. 01:08:12 Фильтрация входной таблицы фактов. / Filtering of the input fact table. 01:10:02 Загрузка кандидата таблицы фактов в WH. / Loading of the candidate fact table in WH. 01:14:19 Вставка данных в контрольное измерение. / Inserting data into control dimension. 01:16:54 Вставка данных в таблицу фактов через SQL запрос. / Insert data into the fact table through a SQL query. 01:31:15 Финальное тестирование и доработка процесса. / Final testing and refinement process.
В уроке использовались следующие приемы:
Работа со скриптами “Execute SQL script” в PDI. Здесь рассмотрим, как задается параметризация SQL запроса.
Работа с обновлением таблиц измерений (“Insert / Update”, “Dimension lookup/update”).
Установка и использование переменных в работе (“Set Variables”).
Использование трансформаций и заданий.
Фильтрация таблицы фактов при помощи “Database lookup”.
Работа с таблицами в Mysql (MySQLWorkbench) и составление запросов.
Исправление ошибок при обновлении таблиц: устранение ошибок несоответствия типов.
Michel Jansen. Building data warehouses using open source technologies
Matt Casters, Roland Bouman, Jos van Dongen: Pentaho® Kettle Solutions: Building Open Source ETL Solutions with Pentaho Data Integration. Wiley Publishing, Inc.