Translate

четверг, 19 апреля 2018 г.

Интеграция PDI и EDQ

Постановка задачи: Система в котором в связке будут работать ETL-процессы и процессы по контролю качества данных. Предлагаемое решение от Oracle, это конечно Oracle Data integration (ODI) и Oracle Enterprise Data Quality (EDQ).
Вопрос: Существует ли потенциальная возможность заменить ODI на Pentaho Data Integration Community Edition (PDI) в качестве ETL-инструмента?
Ответ - Да, существует возможность. Подробности ниже.

В начале я бы хотел сказать, о отличном образе виртуальной машины которые предоставляет Oracle для ознакомления с EDQ. Доступна по ссылке. Все готово для начало работы с EDQ без танцев с бубнами:
- Вся необходима информация на рабочем столе
- Единая панель управления
- И конечно прекрасный бонус, механизм тестирования web service


Тестовый пример выглядит следующим образом.
Есть CSV-файл который содержит набор чисел, нужно сделать проверку отрицательное или положительное число. И результаты проверки нужно соотнести с числами и сохранить информацию.

Реализация EDQ.
- На стартовой странице тонкого клиента выбираем редактор - Director
- Запускается толстый клиент в OS и вводится пароль
- Внешний вид редактора
- Создаем новые проект и в нем создаем Web-Service
- Web-Service с опциями input и output
- Создается процесс. Процесс обязательно имеет точку входа данных Reader и точку выхода Writer
- Конфигурация Reader. Типа Realtime, указываем input опцию web-service и указываем какой входящий атрибут использовать
- Конфигурация модуля знаний по проверке значений. Указываем какой входящий атрибут использовать, и какая проверка проводится
- Конфигурация Writer. Типа Realtime, указываем output опцию web-service и указываем какой входящий атрибут c предыдущего шага использовать, матчим этот атрибут с атрибутами ответа web service.
- Запускаем Web service, и в специальном разделе тонкого клиента Web Service Tester, тестируем процесс.
- Для получения WSDL нужно скопировать URL


Реализация PDI.
- Используя SoapUI и скопированный URL получаем формы Request и Response
- Внешний вид трансформации в PDI
- На вход подается тестовый CSV, парсятся данные и подаются в качестве параметра в запрос web-servece
- Формируем степ с HTTP Post
- Парсим полученную в ответ от Web Service XML и сохраняем результаты в файл
- Запускаем интеграцию:
- Результат работы интеграции:
- Немного о дашбордах. Так выглядела статистика работы web service до запуска
- Так выглядит статистика работы web service после работы PDI. Почему 4 не прошли проверку? Помните мы web service тестировали, это и есть + 1.
- Немного красоты