Размер продукта ETL нагрузки. Вот еще примеры Talend. Использование журналов, метрики и статистика.

Следующий процесс ETL, что собирается обратиться бремя общественного продукта. В этом измерении будет находиться, как мы видели, различные атрибуты, связанные с продуктом, для использования в вашей системе BI. После рассмотрения физической структуры, принимая во внимание происхождение данных, физическая структура таблицы выглядит следующим образом:


Физические продуктов таблицу измерения в MySql

Процессов будет осуществляться с применением Talend будет следовать (как мы видели в предыдущей записи в блоге):


Преобразования для создания Размер продукта

Разработать процесс с Talend, мы пойдем еще дальше, определив информацию журналы, записи статистики и показателей.Это позволит нам познакомиться с другими функциональность Talend, и организовать выполнение работ (чтобы, например, восстановление последней датывыполнение задания на поиск изменений в основной записи материала с последнего выполнения процесса передачи), контроля за осуществлением и сообщения об ошибках по электронной почте в случае возникновения проблемы.

Полный план работы со всеми шагами будет выглядеть следующим образом (см. ниже подробно каждый из шагов комплекте поставки):


Talend ETL процесса в полном объеме Размер продукта

шаги ETL завершения процесса Размер продукта являются:

1) Осуществление prejob для получения последней даты исполнения процесса и записал в журнале начала осуществления работы.Кроме того, она будет запущена logCatcher (поймать Java исключений и ошибок в процессе), который будет генерировать отправки электронной почте предупреждение, что если проблема возникает на любом этапе работы.

2) Начиная с даты последнего применения смертной казни, мы возвращаемся к записи материала в ERP, все изменения, сделанные продукты или высоко в таблице после этой даты.

3) Мы делаем замены ошибочных значений или пробел в выбранных записей в соответствии с установленными критериями.

4) Мы завершили отображение размер продукта, заполнение других полей из других таблиц в базе данных (Lookup полей), с соответствующими запросами SQL.

5) отображение может создать ошибочное материалы должны быть проверены и исправлены в исходной системе (за неправильные значения).Перечень материалов, будет введен в файл Excel. Кроме того, подсчет количества записей читать с правильной системой источником для хранения в метрические таблицы.

6) проверить, что там действительно модификации существующих данных в базе данных DW, и записи, которые в случае их изменения (или новые записи), мы выполняем обновления.В принципе, мы не будем выполнять управление медленно изменяющихся измерений, но мы всегда будем иметь картину данных, поскольку они являются главными файлами на данный момент (позже, если вы управляете измерение в эту серию, чтобы узнать, что компоненты Talend для этой цели).

7) процесс заключается в соответствующее сообщение журнала успешного завершения процесса.

Перед тем глубже и увидеть, что каждый из шагов, мы увидим, как активировать Talend журналы управления, статистические данные и показатели. Значение каждого из этих элементов выглядит следующим образом:

  • Журналы: будет записывать сообщения об ошибках процессов, запущенных Java исключения или сообщения, создаваемые нами, используя TDIe или tWarn компонентов (для создания различных типов сообщений.)
  • Статистика (статистика): регистрации статистической информации о различных этапах и компонентов, которые составляют работу.Для каждого шага, вы можете включить ведение журнала статистики tStatCatcher выбора статистики. Он хранит информацию на каждом этапе, когда она начинается, когда закончил, его статус выполнения, продолжительность, и т.д.
  • Метр, подсчет запасов (метрики) метрики журнала (количество записей в потоке), мы можем включить в процессы с использованием tFlowMeter управления.

Talend мы можем работать двумя способами все эти записи (можно комбинировать): одна будет управлять сами журналы, статистика и метры, которые создаются (собранные во время работы с компонентами tLogCatcher, tStatcatcher или tFlowMeterCatcher в каждую работу и давая раннее лечение) или активировать автоматическое управление на индивидуальный проект или работу, выбрав это место мы хотим сохранить журналы, созданные (с тремя вариантами: просмотр консоли, войдите в текстовые файлы или журнала базы данных).При этом последний вариант, все информация, полученная будет зарегистрирован в таблицах и будет легче эксплуатироватьдля рассмотрения процессов выполняется, процесс оркестровки, проверки узких мест, исправляет ошибку, и т.д.

Для активации управления проектами уровня будет выбрать пункт меню Файл -> Изменение свойств проекта, работа Настройки вариант, статистика и журналы (как мы видим на картинке):


Функции статистики и журналов на уровне проекта

Эти свойства имеют право на все работы проекта, хотя вы можете настроить в каждой работе, как мы заинтересованы (их может быть рабочих мест для тех, кто не хочет хранить никакой информации).Это будет приводить к изменению свойств каждого задания, статистика и Журналы вкладке. В принципе, послать свойства, установленные проектом, но исключения могут быть сгенерированы (проведение журналы на другой сайт или не создавать) для конкретной работы:


Функции статистики и журналы уровень работы

После этого разъяснения, см. подробно каждый шаг ETL:

1) Осуществление prejob для получения последней даты исполнения процесса и записал в журнале начала осуществления работы.Кроме того, она будет запущена logCatcher (поймать Java исключений и ошибок в процессе), который будет генерировать отправки электронной почте предупреждение, что если проблема возникает на любом этапе работы. Компоненты, используемые в этом начальном этапе являются:

  • Кувшин Prejob (tPrejob компонент): используется для запуска pretrabajo, до основного процесса.
  • Последняя дата исполнения (компонент tMySqlInput) оправился от журнала журналов таблицы, дата последнего успешного выполнения задания.Эта дата будет служить в качестве исходной даты, чтобы найти высокого / модификаций в продуктах ERP с момента последнего выполнения. Но есть и предыдущие выполнения работы, построить отчетной даты за то, что будет начальной загрузки продукта размерности.
  • Сообщение Вход Главная (tWarn компонентов) генерирует сообщение журнала о том, что работа начинается выполнение.
  • Дата Задать переменную (tSetGlobalVar компонент): последняя дата исполнения восстановить в предыдущем шаге регистрируется в глобальной переменной, которая позже может быть использован в любом этапе работы.
  • Ошибка управления (tLogCatcher компонент) активировать компонент, который "слушает" на время работу, ожидая, чтобы быть любые ошибки.В то время она активирована для получения ошибки и передать его в следующий компонент для отправки уведомлений по электронной почте.
  • tFlowtoIterate : преобразовать поток записи журнала на итерации для того, чтобы отправка электронной почты.
  • Email Отправка Notif (tSendMail компонент): питание отправку уведомлений по электронной почте ошибок, в том числе этап, на котором вы остановите процесс, и сообщение о ошибке.Это способ сказать что-то пошло не так в этом процессе.

Чтобы увидеть в деталях, как мы определим каждый компонент, вы можете нажать на ссылку для каждого компонента или для просмотра полного пакета документов HTML порожденных Talend нажав здесь .

2) Начиная с даты последнего применения смертной казни, мы возвращаемся к записи материала в ERP, все изменения, сделанные продукты или высоко в таблице после этой даты.


Работа DimProduct - Чтение Мастер Продукты SAP

Для этого можно использовать компонент типа LECT_MAESTRO_PRODUC К tOracleInput (подробности см. здесь ), что позволяет нам получить доступ к базе данных SAP, которая в данном случае Oracle.Там также может быть выполнено с использованием Sap чтении компонентов tSAPInput tSAPConnectiony). Отметим, заявление SQL выполняется в компоненте и посмотреть, как объединить письменного текста с использованием глобальных переменных и функций с помощью молитвенное покрывало (которая также может быть Java).

3) Мы делаем замены ошибочных значений или пробел в выбранных записей в соответствии с установленными критериями.Использование компонента AJUSTE_CAMPOS, tReplace типа (подробнее см. здесь ), с которой мы можем найти значения, которые существуют в записи извлекаются (с использованием регулярных строка) и указать строка подстановки. Это может быть полезно для любого преобразования будет осуществляться при определенных значениях, нормализации, для исправления ошибочных записей и т.д. В нашем случае, мы будем использовать для замены записей без значения (это может также выбрали, чтобы отказаться от таких записей).


Работа DimProduct - Задать Поля

4) Мы завершили отображение размер продукта, заполнение других полей из других таблиц в базе данных (Lookup полей), с соответствующими запросами SQL.Мы используем компоненты типа MAPEO_PRODUCTO TMAP (подробности см. здесь ).


Работа DimProduct - карт продукта

С помощью этого компонента, в одном шаге мастер записи читать материалы, а также дополнительные значения, которые находятся в других таблицах в ERP, что позволяет нам выполнять каждой записи (например, настройки описания, единицы измерения, расчет эквивалентных единиц измерения и т.д.).

В этом отображении, мы используем Talend функциональность, что мы не видели, то есть для выполнения селективной фильтрации записей.Это позволяет нам создавать в шаге два потока данных, одного с правильной записи, а другой с записями, которые не удовлетворяют определенным условиям.В нашем случае, записи с NULL в поле umren будут отклонены и передаются последующим шагом, который будет записан в Excel файл для просмотра.

5) отображение может создать ошибочное материалы должны быть проверены пользователя и исправить исходную систему (за неправильные значения). Перечень материалов, будет введен в Excel файл с помощью типа управления tFileOutputExcel REGISTROS_ERRONEOS (см. здесь ). Аналогично, используя компоненты типа CUENTA_LEIDOS_SAP tFlowMeter (см. здесь ), граф правильное количество записей чтение из исходной системы для хранения в метрические таблицы (позже oten статистических информационных процессов выполняется).

6) проверить, что там действительно модификации существующих данных в базе данных DW, и записи, которые в случае их изменения (или новые записи), мы выполняем обновления.Для этого можно использовать компонент типа VERIF_MODIFICACIONES TMAP (см. здесь ), которые получают основной записи потока, как мы читаем от Сапа полностью завершена.С другой стороны, получать как поток поиска (см. здесь ) записи уже заполнены в таблице Myql DWD_PRODUCTO (таблица измерения продукта). С этой информацией, мы делаем сравнения в отображении, я сделаю селективной фильтрации записей, будет следующий компонент только те, которые имеют модификации (есть разница в любом из полей.)

""

Работа DimProduct - Изменения Проверка

Код, используемый в фильтре выражение, условие фильтра выглядит следующим образом:

! Row11.material_desc.equals (row15.material_desc) | |
! Row11.familia_id = row15.familia_id | |
! Row11.familia_desc.equals (row15.familia_desc) | |
! Row11.denom_id.equals (row15.denom_id) | |
! Row11.variet_id.equals (row15.variet_id) | |
! Row11.formato_id.equals (row15.formato_id) | |
! Row11.um_id.equals (row15.um_id) | |
! Row11.litros_id = row15.litros_id | |
! Row11.linprod_id = row15.linprod_id | |
! Row11.linprod_desc.equals (row15.linprod_desc) | |
! Row11.target_id.equals (row15.target_id) 

Посмотрите, как мы сделали в отдельных полях сравнение двух потоков, чтобы определить, если Есть любых изменениях между загруженными данными и с ERP.

В принципе, мы не будем выполнять управление медленно изменяющихся измерений, но мы всегда будем иметь картину данных, поскольку они являются главными файлами на данный момент (позже, если вы управляете измерение в эту серию, чтобы узнать, что компоненты Talend для этой цели).Записи, которые превышают отображения, которые зарегистрированы в базе данных MySQL с помощью элемента управления ACTUALIZA_DWD_PRODUCTO, tMySqlOutput типа (см. подробнеездесь), учитываются как уже упоминалось в таблице DWD_PRODUCTO.

TFlowMeter компонента, в шаге CUENTA_MODIFICADOS (подробности см. здесь ), записанных в таблицах метрических записей для получения обновления.

7) процесс заключается в соответствующее сообщение журнала успешного завершения процесса, с компонентом типа MENSAJE_LOG_FIN tWarn (подробности см. здесь ).

Чтобы увидеть в деталях, как мы определим каждый компонент, вы можете получить доступ к полной документации HTML порожденных Talend здесь .Вы можете скачать ZIP файл, содержащий документацию здесь .

Выводы

Мы сделали нашу первую работу, используя Talend ETL комплекса. Это было немного сложно понять, как программа работает, и связаны между собой и соединены в цепочку различных компонентов, как передавать информацию и записи между ними, такие ошибки обрабатываются, и т.д.. Но когда-то покрывали основы, мы видим большой потенциал TAlenda (которые также могут быть завершены с использованием языка Java везде). Я рекомендую, если вы хотите повысить осведомленность инструмент, см. руководство пользователя этого инструмента и компонентов, справочное руководство (на английском) на эту ссылку и посетить веб-сайт проекта Открыть TalendForge , где вы можете найти учебники, форумы управления, ошибок и т.д.

Я также видел, как важно процессе анализа происхождения и подробную информацию о всех преобразований, подлежащих выполнению, исключения, что критерий им, что мы сделали замены, и т.д.Может быть, я бы сделал этот шаг более подробно с тех пор, чтобы сделать процесс ETL ситуации появилась информация, что мы не ожидали. Что мы имеем в виду для нашего следующего проекта.

Мы видели также, что важно создать механизм для управления всеми журналов запущенных процессов, статистики и показателей, то это будет полезным создание автоматизированных процессов, мониторинга и отладки необходимо положить в продуктивную проекта и его техническое обслуживание в течение долгого времени.

И, конечно, документации. Акт будет регистрировать и изучать каждый компонент, используемый в Talend (именования шаги, пояснительный текст на каждой компоненте, обратная связь метаданные и т.д.), позволила использованием стандартной функциональности Talend, генерация HTML, имеют хранилище, где можно увидеть процессы, как они построены в очень полное и подробное целью понять, как процессы собраны третьих сторон, для дальнейшего редактирования или технического обслуживания в будущем.

В следующей записи блога, подробно процесс ETL для загрузки других аспектов нашего проекта.Позже, бортовой процесс ETL для загрузки таблицы фактов, которая будет более сложным и, что механизм должен быть создан оркестровки для автоматизации.В этой записи также включать изучение разбиения таблиц с использованием Mysql, мы увидим в глубину.