Столярне перетворення в Informatica з ПРИКЛАДОМ
⚡ Розумний підсумок
Перетворення об'єднувача в Informatica - це активний, пов'язаний об'єкт, який об'єднує два різнорідні джерела за певною умовою, кешуючи головний конвеєр у пам'яті, поки через нього проходить детальний конвеєр.

Що таке Joiner Transformation?
Перетворення Joiner — це активне та зв'язане перетворення, яке надає вам можливість створювати об'єднання в Informatica. Об'єднання, створені за допомогою перетворення Joiner, подібні до об'єднань у базах даних. Перевага перетворення Joiner полягає в тому, що об'єднання можна створювати для гетерогенних систем (різних баз даних).
У перетворенні Joiner є два джерела, які ми будемо використовувати для об'єднань. Ці два джерела називаються
- Головне джерело
- Джерело деталей
У властивостях перетворення Joiner можна вибрати, яке джерело даних може бути основним, а яке – джерелом деталей.
Під час виконання головне джерело кешується в пам'ять для цілей об'єднання. Тому рекомендується вибрати джерело з меншою кількістю записів як головне джерело. Головний конвеєр зберігається у двох кешах: кеш індексів для значень, що використовуються в умові об'єднання, та кеш даних для решти даних рядків.
Типи з'єднань у перетворенні Joiner
Властивість «Тип об’єднання» на вкладці «Властивості» визначає, що відбувається з рядками, для яких не знайдено збігів. Наведені нижче об’єднання можна створити за допомогою перетворення «Об’єднувач».
- Головне зовнішнє приєднання – У головному зовнішньому об’єднанні всі записи з джерела детальної інформації повертаються об’єднанням, а з головного джерела повертаються лише відповідні рядки.
- Деталь зовнішнього з'єднання – У зовнішньому з’єднанні деталей з джерела деталей повертаються лише відповідні рядки, а з головного джерела – усі рядки.
- Повне зовнішнє з'єднання – При повному зовнішньому об’єднанні повертаються всі записи з обох джерел.
- Нормальне приєднання – Під час звичайного об’єднання з обох джерел повертаються лише відповідні рядки.
Зовнішні з'єднання Master та Detail еквівалентні лівим зовнішнім з'єднанням. SQL: кожен зберігає кожен рядок одного джерела та лише збіги з іншого. У таблиці нижче чотири типи порівнюються з їхніми еквівалентами в SQL.
| Тип приєднання | Рядки, що зберігаються від головного | Рядки виключені з деталей | Еквівалент SQL |
|---|---|---|---|
| Нормальне приєднання | Тільки відповідність | Тільки відповідність | Внутрішнє з'єднання |
| Головне зовнішнє приєднання | Тільки відповідність | Усі рядки | Ліве зовнішнє з'єднання на джерелі деталей |
| Деталь зовнішнього з'єднання | Усі рядки | Тільки відповідність | Ліве зовнішнє з'єднання на головному джерелі |
| Повне зовнішнє з'єднання | Усі рядки | Усі рядки | Повне зовнішнє з'єднання |
Тип з'єднання – це властивість, а не структурний вибір, тому його можна змінити пізніше без перебудови карти.ping або перепідключення будь-яких портів.
Як використовувати перетворення столяра в Informatica
У цьому прикладі ми об'єднаємо таблиці emp та dept за допомогою перетворення Joiner. Виконайте вісім кроків, наведених нижче на карті.ping Дизайнер.
Крок 1) Створіть нову цільову таблицю EMP_DEPTNAME у базі даних за допомогою наведеного нижче скрипта та імпортуйте таблицю в цільові об'єкти Informatica.
Завантажте наведений вище файл emp_deptname.sql
Крок 2) Створіть новий картаping та імпортуйте вихідні таблиці «EMP» та «DEPT» і цільову таблицю, яку ми створили на попередньому кроці. Усі три визначення тепер знаходяться на полотні, як показано нижче.
Крок 3) У меню «Трансформація» виберіть опцію «Створити». Потім у вікні «Створити трансформацію», показаному нижче,
- Виберіть з'єднувальне перетворення
- Введіть ім’я перетворення «jnr_emp_dept»
- Виберіть опцію створення
Крок 4) Перетягніть усі стовпці з обох Кваліфікатори джерела до перетворення Joiner. Обидва конвеєри тепер пов'язані з jnr_emp_dept, як показано на знімку екрана.
Крок 5) Double клацніть на перетворенні Joiner, потім у вікні Редагувати перетворення
- Виберіть вкладку умови
- Клацніть значок «Додати нову умову».
- Виберіть deptno у списку основних і детальних стовпців
Вкладка «Умова» тепер містить умову єдиного об’єднання для deptno.
Крок 6) Потім у тому ж вікні
- Виберіть вкладку властивостей
- Виберіть тип з’єднання «Звичайне з’єднання»
- Натисніть кнопку «ОК»
Далі відображається вкладка «Властивості» з вибраним типом об’єднання.
Для оптимізації продуктивності ми призначаємо головне джерело конвеєру вихідної таблиці, яка має менше записів. Щоб виконати це завдання:
Крок 7) Double клацніть на перетворенні Joiner, щоб відкрити вікно Редагувати перетворення, а потім
- Виберіть вкладку портів
- Виберіть будь-який стовпець певного джерела, який ви хочете зробити основним
- Виберіть OK
На вкладці «Порти» вибраний конвеєр позначено як головний, як показано нижче.
Крок 8) Зв'яжіть відповідні стовпці з перетворення Joiner з цільовою таблицею. Картаping тепер виконується з обох джерел через об'єднання з EMP_DEPTNAME.
Тепер збережіть картуping і виконати його після створення Сесія та робочий для цього. Об'єднання буде створено за допомогою Informatica Joiner, а відповідні дані будуть отримані з обох таблиць.
Властивості перетворення столяра
Вкладка «Властивості» містить більше параметрів, ніж просто тип об’єднання. Наведені нижче налаштування контролюють обсяг пам’яті, який використовується об’єднанням, і місце запису кеш-файлів.
| Установка | Що воно контролює |
|---|---|
| Тип приєднання | Звичайний, Головний зовнішній, Детальний зовнішній або Повний зовнішній. Визначає, які незбігаючі рядки зберігаються. |
| Умова приєднання | Список пар портів типу "головний-детальний" у порівнянні з оператором "дорівнює". Кілька умов поєднуються за допомогою оператора "І". |
| Відсортований вхід | Оголошує, що обидва конвеєри вже надходять відсортованими за портами умов, що дозволяє службі інтеграції мінімізувати вхідні та вихідні дані на диску. |
| Головний порядок сортування | Порядок сортування основних вихідних даних, що використовується разом із відсортованими вхідними даними. |
| Каталог кешу | Каталог, у якому створюються файли індексу та кешу даних. За замовчуванням використовується змінна процесу $PMCacheDir. |
| Розмір кешу даних Joiner | Розмір кешу даних, що містить дані головного рядка. Значення за замовчуванням – «Авто», що дозволяє службі інтеграції визначати його розмір. |
| Розмір кешу індексу Joiner | Розмір кешу індексу, що містить значення головної умови. Значення за замовчуванням — «Авто». |
| Обсяг трансформації | Застосовує об'єднання до кожної транзакції, до всіх вхідних даних або до області дії на рівні рядка. |
Сортований вхід – це налаштування, до якого варто звернутися в першу чергу. Коли обидва конвеєри надходять упорядкованими за портами умов, службі інтеграції не потрібно зберігати весь головний вихідний код, перш ніж розпочнеться зіставлення, що є тим самим принципом, що застосовується під час налаштування продуктивності інших кешованих перетворень.
Правила та обмеження перетворення столяра
Деякі обмеження з'являються лише тоді, коли на картіping перевірено, тому дешевше знати їх до того, як порти будуть пов'язані.
- Тільки рівність. Умова об'єднання порівнює порти за допомогою оператора дорівнює. Оператори порівняння, такі як більше ніж, менше ніж або не дорівнює, не приймаються в умові.
- Відповідні типи даних. Обидва порти в умові повинні мати однаковий тип даних. Конструктор перевіряє це, тому невідповідні стовпці потрібно спочатку перетворити, зазвичай за допомогою перетворення виразу.
- Немає стратегії оновлення для вихідного коду. Перетворення Joiner не можна використовувати, якщо будь-який з вхідних конвеєрів містить перетворення Update Strategy.
- Без послідовності Generator безпосередньо перед ним. Підключення послідовності Generator Трансформація безпосередньо перед об'єктом Joiner не підтримується.
- Кешування не можна вимкнути. Головний конвеєр завжди кешується, тому менше джерело знаходиться на стороні головного конвеєра, і чому розмір кешу має значення для великих об'єднань.
Об'єднання трьох джерел потребує двох перетворень Joiner, пов'язаних разом, оскільки кожне з них приймає лише один головний та один детальний конвеєр. Якщо другим джерелом є невелика довідкова таблиця, яка читається рядок за рядком, то Перетворення пошуку часто має простішу конструкцію.







