ETL-процесс для загрузки измерения времени. Пример использования ETL Talend.

После определения происхождения данных, мы можем приступить к строительству физических таблиц нашей модели и развития заполнения. Начало процесса измерения времени. Как уже говорилось, этот размер не зависит от нашей ERP или другими внешними системами, но строить из календаря. Создать все необходимые документы для этой таблицы в течение 20 лет, который проходит с 1 января 2000 года (по историческим данным предварительного заряда и в нашей DW) до 31 декабря 2020 года.

Физическое определение таблицы не изменилась после анализа данных, источники, и выглядит следующим образом:

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

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


Преобразования для создания измерения времени

Мы будем использовать Talend в поколение вариант в Java (мы могли бы также использовать PERL языке.)Использование Java означает, что все процессы и преобразования, которые определяют это будет "перевести" на язык Java внутренне. Хотя это и не строго необходимо знать язык Java для работы с Talend, зная их значительно облегчит работу с инструментом и позволит нам определить наше собственное код для обработки или процессы, которые не включены в стандартную комплектацию.

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

На следующем рисунке пример работы, созданные с Talend:


Графические среды Talend инструмент

Наиболее важных компонентов в графической среде являются:


Talend объектов хранилища

Репозиторий: включает в себя все объекты, которые могут быть определены с помощью Talend, упав с дерева следующим образом:

  • Бизнес-модели: Talend имеет простой графический инструмент, где мы определяем наши бизнес-модели.В этой папке найдите различные бизнес-модели, которые имеют "обращается" с использованием Talend. Инструмент содержит наиболее распространенные графические элементы.
  • Работа конструкций, проект преобразования и интеграции данных состоит из нескольких процессов или рабочих мест, которые могут быть определены и классифицированы в структуру папок для организации и классифицировать их.В этом разделе мы рассмотрим различные работы мы определили и то, как мы классифицировали.
  • Контекстах: контексты выполнения процессы. Они могут определить константы или параметры, которые мы просили, чтобы запустить процесс, и мы можем использовать различные компоненты работы. Контексты могут также быть загружены во время выполнения из файлов.
  • Подпрограммы: место, где мы можем видеть процедуры разработаны Talend код (который затем может быть использован в преобразованиях) и где мы можем добавить наши собственные процедуры для выполнения операций или вычислений или преобразований, для которых у нас нет стандартного метода.Процедуры запрограммированы в Java (или Perl, если Вы выбрали этот язык).
  • Шаблон SQL: SQL утверждения предопределенных шаблонов, которые мы можем использовать или настраивать.
  • Метаданные: место, где мы будем определять метаданные проекта. Эти определения компонентов, которые мы будет применить во всех процессов проектирования изменений. Например, метаданные могут определить подключения к базам данных, получить схему базы данных и их документально (с таблиц, представлений и т.д.), SQL, определить, выявить тенденции различных типов файлов, и т.д. Это позволяет нам элементы, определенные в одном месте и использовать их на протяжении всего процесса.Репозитории метаданных централизует все проектной информации и обеспечивает согласованность всех процессов интеграции. Метаданные, связанные с источником и интеграции системы назначения процессы легко загружаются в репозиторий метаданных посредством современных инструментов анализа баз данных или файлов, входящих в различные чел. Характеристик, определенных в метаданных, наследуются процессы, которые используют их.
  • Документация: мы можем загрузить файлы проекта документации нашего анализа и развития, классифицируя их по папкам. Образцы можно сделать с помощью ссылки или загрузки файлов непосредственно в хранилище. Эта утилита позволяет нам быть сосредоточены в одном месте все элементы проекта интеграции данных.
  • Корзина: удалять объекты, которые идут в корзину и принести его назад там, если это необходимо.

Работа Дизайнер: это инструмент, из которого для управления различными компонентами, которые составляют работы, налаживании связей между различными элементами.

ГУ "/>

Работа конструктора

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

Наконец, на правой стороне приложение, которое мы палитры компонентов, которые отличаются Talend обеспечивает контроль за использованием в наши рабочие места.Они классифицируются по функциям.


Палитра компонентов

Некоторые из доступных компонентов в Talend являются:

- Business Intelligence: группа разъемов, которые отвечают потребностям чтения или записи в многомерных баз данных или OLAP, выезды на Джаспер докладов, управления изменениями баз данных для медленно изменяющихся измерений и т.д. (все из которых связаны с бизнес-аналитики .)

- Бизнес: разъемы для чтения и записи из CRM-систем типа (Centric, Microsoft CRM, Salesforce, сахар, Vtiger) или для чтения и записи из системы SAP.Они также позволяют работать с Alfresco системы управления документами.

- Таможенный кодекс: компоненты для определения нашего собственного кода и использовать его интеграции с другими компонентами в Talend. Мы можем написать компонент в Java и Perl, а также загружать библиотеки или настроить команд Groovy.

- Качество данных: компоненты для управления качеством данных, таких как фильтрация, КПР расчетов, ищет нечеткой логики, восстановительной стоимости, проверки схемы в отношении метаданных, чистый дубликатов и т.д.

-

- ELT: компоненты для работы с базами данных в режиме ELT (с изменениями и процессов, характерных для таких систем.)

- Файл: контроль для управления файлами (проверка существования, копировать, удалять, список, имущество), для чтения файлов различных форматов (текст, Excel, разделители, XML, электронная почта и т.д.) и записи на них.

- Интернет: компоненты для доступа продолжениеЭнид хранятся в Интернете в качестве веб-служб, RSS-каналы, SCP, мама, электронная почта, FTP-серверов и тому подобное.

- Журналы и ошибки: управление контроля и регистрирует ошибки в определении процессов.

- Разное: различные компоненты, такие как окна сообщений, проверка работоспособности серверов, генерации отчетов, переменная области управления, и т.д.

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

- Обработка: компоненты для обработки потоков данных, таких как агрегирование, отображения, преобразования, фильтры, денормализации, и т.д.

- Система: компоненты для взаимодействия с операционной системой (выполнение команд, переменных окружения, и т.д.).

- XML: компоненты для работы с XML-структур данных, операции анализа, проверки или создание структур.

Чтобы получить представление о том, как работать с Talend, это интересно посмотреть демо 5 минут веб-Talend (доступна с этой ссылке ).Также вы можете увидеть следующие демонстрации видео о том, как с генерацией тестовых данных в таблицы MySQL.

Кроме того, дальнейшее углубление Вы можете скачать руководство пользователя этого инструмента и компонентов, справочное руководство (на английском) в этой ссылке .

Talend работу в заполнении измерения времени

Теперь, когда мы знаем, что это немного Talend, мы и дальше будем видеть практический пример.Нам нужно сгенерировать поток даты начала на 01.01.2000, 12.31.2020 доходит до дня (с датами, которые несут 20 лет в размерности).

Чтобы сделать рrocess давайте определим следующие шаги:

1) цикл, который работает 10.000 времен, со счетчиком происходит от 0 до 9999 (с помощью компонента группы tLoop аранжировка).

2) петли звонки управления генератором отчетов, который создает журнал с даты 01/01/2000 (с использованием компонента tRowGenerator РАЗНОЕ группы).

3) дата RowGenerator проходит обработку (MAP), которая добавляет к времени счетчик шага 1 (с этим мы увеличиваем даты начала каждый день и создания всех необходимых дат.)Мы используем компоненты TMAP Обработка группы.

4) даты мы получили другой обработки (MAP), где на каждую дату, мы создаем все атрибуты измерения времени, как преобразование таблице мы указали ранее (месяц, год, день, день недели, квартал, семестр, и т.д.). Мы используем компоненты TMAP Обработка группы.

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

/ / Шаблон рутинной Java 
Пакет процедур; 
импорт java.util.Calendar; 
импорт java.util.Date; 
{Общественных даты класса 
открытые статические semana_del_anyo String (Дата date1) { 
Календарь c1 = Calendar.getInstance (); 
c1.set (Calendar.DAY_OF_WEEK, Calendar.MONDAY) 
c1.setMinimalDaysInFirstWeek (1); 
c1.setTime (date1); 
Int неделю = c1.get (Calendar.WEEK_OF_YEAR) 
если (неделя <10) { 
возвращения (0 + Integer.toString (неделя)); 
Остальное {} 
возвращения (Integer.toString (неделя)); 
}} 

5) Мы фильтр для отмены записи, которые старше 31.12.2020, таких, как мы хотим, чтобы нагрузка на базу данных.Мы используем компоненты tFilterRow Обработка группы.

6) Вставьте записи в базе данных Enobia в таблице DWD_TIEMPO, используя компонент tMySqlOutput, группа Базы данных, MySQL. Если записи уже существуют в базе данных обновляются.

Полный план работы будет:


Работа Заполнение измерения времени

Это был наш первый контакт с инструментом ETL.Без программирования (или почти, потому что мы должны были подготовить рутины в Java для лечения недель и другие атрибуты даты), мы заполнили с даннымиS реального первой таблицы / измерение нашей модели.