Post on 17-Aug-2015
ОСОБЕННОСТИ ETL-ИНСТРУМЕНТА
PENTAHO DATA INTEGRATOR.
ОПЫТ КРОК
Юрий Кудрявцев,
ЭКСПЕРТ НАПРАВЛЕНИЯ
БИЗНЕС-ПРИЛОЖЕНИЙ
КОМПАНИИ КРОК
СОДЕРЖАНИЕ
• Роль ETL-инструмента в аналитической
системе
• О Pentaho и Pentaho BI Suite
• О Pentaho Data Integrator
• Пример работы PDI
• Опыт использования PDI в проектах КРОК
и особенности ETL-масштабирования
АНАЛИТИЧЕСКАЯ СИСТЕМА
ВитриныETL
Хранилище данных
Отчетность
Источники
данных
ERP,
CRM,..
Источники
данных
ERP,
CRM,..
О PENTAHO CORPORATION
• Основана в 2004 году
• Первый производитель Open Source BI
• В управляющую команду входят менеджеры
из Hyperion, IBM Cognos, Business Objects,
Oracle, IBM, SAS
• Полноценная система BI, включающая
отчетность, OLAP-анализ, ETL и data mining
ЗАКАЗЧИКИ PENTAHO
БЕЛЬГИЙСКОЕ УПРАВЛЕНИЕ
ТРАФИКОМ• Он-лайн интеграция
данных 570 сенсоров
• Самая большая
таблица фактов –
более миллиарда
записей,
добавляется
100 млн. ежемесячно
АРХИТЕКТУРА PENTAHO BI
• Модульная
архитектура
• SOA
• 100% Java EE
• Тонкие web-клиенты,
Ajax
• Места разработки на
Eclipse
PENTAHO DATA INTEGRATOR
Проект начат в 2001 году под названием Kettle
(Kettle Extraction Transportation Transformation
Loading Enviroment)
ОСОБЕННОСТИ PDI
• Ориентация на метаданные – Что сделать, а не как сделать
– Единый репозиторий метаданных
• Подключение к множеству источников
• Возможность добавлять собственные
расширения и компоненты
• Масштабируемость, использование
кластеров
• Удобный графический интерфейс
• Отладка трансформаций
ИЗВЛЕЧЕНИЕ ДАННЫХ.
EXTRACT• Свыше 25 типов БД
• Текстовые файлы
• XML
• XLS
• dbf, Xbase
• Access
• LDAP
• Системные данные
ТРАНСФОРМАЦИЯ ДАННЫХ.
TRANSFORM
• Lookup (поиск соответствия)– В таблицах БД
– Файлах
– Памяти сервера
• Вычисления агрегатов
• Сложные трансформации– Регулярные выражения
– JavaScript
• Фильтрация
• Сортировка
ЗАГРУЗКА ДАННЫХ. LOAD
• Загрузка данных в БД (специальные
компоненты для массовой загрузки, Upsert)
• Обновление ХД (компоненты для SCD2,
генерации суррогатных ключей)
• Партиционирование
• Параллельное чтение/загрузка
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
• Активное сообщество:
– Более 10 тысяч скачиваний PDI в месяц
– Более 50,000 тем в форумах за 3 года
• Общедоступная система учета ошибок — Jira
• Более 30 внешних разработчиков
МАСШТАБИРОВАНИЕ ETL.
КОНВЕЙЕР• Последовательная обработка наборов записей в потоке
• Каждый шаг выполняется отдельным процессом, можно
увеличивать количество процессов на шаг
• Ограниченные возможности
масштабирования («вытягивания») работы
МАСШТАБИРОВАНИЕ ETL.
ПАРТИЦИОНИРОВАНИЕ• Партиционирование данных для
независимой обработки на нескольких
узлах кластера
• Линейное масштабирование
по количеству узлов
• Зависимость от метода
партиционирования
• Сложнее проектирование
МАСШТАБИРОВАНИЕ ETL
• Сочетание конвейера и партиционирования
• Выбор метода масштабирования для каждой работы
• Поиск оптимальной производительности
МАСШТАБИРУЕМОСТЬ PDI
• Простое подключение рабочих узлов в кластер
• Партиционирование данных
• Визуальный интерфейс настройки
многопроцессорного выполнения. Каждая из задач
выполняется на 4-х узлах
ИСПОЛЬЗОВАНИЕ PDI. ОПЫТ КРОК• Государственная организация
– Выгрузка данных из ХД в кубы Essbase
– Использование сложных преобразований данных, регулярных
выражений
– Многопоточная загрузка
– Скорость более 20 тысяч строк/с
• Johnson&Johnson
– Интеграция данных из файлов Excel
• Пилотные проекты
– Генерация данных для нагрузочных тестирований
– Импорт файлов
– Сложные преобразования файлов без использования СУБД
ЛИЦЕНЗИРОВАНИЕ PDI
• Community Edition – полноценный, вполне
рабочий инструмент. Поддержка с
нерегламентированным временем отклика, но та же
система заявок Jira
• Enterprise Edition – от 10к$ годовая
поддержка (4 процессора), время реакции <4 часов.
Чуть больше шагов.
ИТОГО
• PDI – эффективный ETL-инструмент, использование
которого может помочь Вам строить аналитические
системы и хранилища данных без дополнительных
начальных затрат на лицензии
• КРОК поможет оптимально применить PDI:
• Обучение
• Консалтинг
• Методология ETL