Перетворення пошуку в Informatica (приклад)

⚡ Розумний підсумок

Перетворення пошуку в Informatica зчитує реляційну таблицю, плоский файл, представлення або синонім і повертає відповідні значення для кожного вхідного рядка, працюючи як об'єднання, в якому одна сторона є джерелом пошуку.

  • 🔎 Умови визначають матч: Вкладка Умова містить порівняння, наприклад, DEPTNO = DEPTNO1, яке визначає, який рядок пошуку повертається.
  • 🧪 Приклад роботи: Сім картping Кроки дизайнера витягують назви відділів з DEPT до цільового об'єкта EMP_DEPTNAME без об'єднувача.
  • 🔌 Підключений чи непідключений: Зв'язаний пошук знаходиться в конвеєрі, тоді як нез'єднаний викликається з виразу з кваліфікатором :LKP.
  • 🇧🇷 Пасивний за замовчуванням: Повернення одного рядка залишає перетворення пасивним, а повернення всіх відповідних рядків робить його активним.
  • ♻️ Об'єкти багаторазового використання: Позначення опції «Зробити повторно використовуваним» перетворює одне перетворення на об'єкт, що містить кілька картpingможна поділитися.
  • ⚠️ Одностороння акція: Трансформацію, підвищену до повторно використовуваної, не можна понизити, тому запит на підтвердження заслуговує на уважне прочитання.

Перетворення пошуку в Informatica

Що таке перетворення пошуку?

Перетворення пошуку — це перетворення, яке використовується для пошуку джерела, кваліфікатора джерела або цілі для отримання відповідних даних. По суті, це свого роду операція об'єднання, в якій одна з таблиць, що об'єднуються, є вихідними даними, а інша таблиця, що об'єднується, — таблицею пошуку. Саме джерело пошуку може бути реляційною таблицею, представленням, синонімом або плоским файлом.

Перетворення є пасивним, оскільки воно повертає один рядок для кожного вхідного рядка. Починаючи з PowerCenter 9.x, його також можна створити для повернення кожного рядка, який відповідає умові, і в цьому режимі воно є активним перетворенням. Вибір робиться під час створення перетворення і не може бути змінений пізніше.

Існує два способи розмістити це на картіping, а різниця визначає, як повернене значення досягне решти конвеєра.

Аспект Підключений пошук Непідключений пошук
становище Знаходиться всередині конвеєра та отримує значення з попереднього перетворення Розташовується поза конвеєром та викликається з виразу
Як це називається Рядки надходять у його вхідні порти Викликається з кваліфікатором посилання :LKP
Повернуті значення Кілька вихідних портів можуть бути підключені нижче за течією Одне повернене значення повертається до викликаючого виразу
Типове використання Кожен рядок потребує стовпців, що шукаються Пошук потрібен лише для деяких рядків, або той самий пошук викликається з кількох місць

У попередніх темах ми використовували Столярне перетворення об'єднати таблиці «emp» та «dept» для виведення назв відділів. У цьому розділі ми реалізуємо те саме за допомогою перетворення Lookup.

Як створити перетворення пошуку

Нижче наведено кроки для створення перетворення пошуку в Informatica.

Крок 1) Створіть нову картуping з EMP як джерелом та EMP_DEPTNAME як цільовою частиною. Картаping Потім дизайнерське полотно містить джерело, його кваліфікатор джерела та цільове визначення.

картаping Дизайнерське полотно з джерелом EMP, його кваліфікатором джерела та цільовим об'єктом EMP_DEPTNAME

Крок 2) Створіть нове перетворення за допомогою меню «Перетворення», а потім у вікні «Створити перетворення» виконайте такі дії:

  1. Виберіть перетворення пошуку як перетворення
  2. Введіть назву перетворення «lkp_dept»
  3. Виберіть опцію створення

Вікно «Створити трансформацію» з вибраним «Перетворення підстановки» та введеним іменем lkp_dept

Крок 3) Це відкриє вікно таблиці пошуку. У цьому вікні:

  1. Кнопка вибору джерела
  2. Виберіть таблицю DEPT
  3. Виберіть кнопку OK

Діалогове вікно «Вибір таблиці підстановки» з вибраною кнопкою «Джерело» та виділеною таблицею DEPT

Крок 4) Перетворення пошуку буде створено зі стовпцями таблиці DEPT, тепер натисніть кнопку "Готово". Об'єкт lkp_dept тепер містить DEPTNO, DNAME та LOC як порти пошуку.

Перетворення пошуку lkp_dept створено зі стовпцями таблиці DEPT як портами пошуку

Крок 5) Перетягніть стовпець DEPTNO з кваліфікатора джерела до перетворення підстановки, це створить новий стовпець DEPTNO1 у перетворенні підстановки. Потім зв’яжіть стовпець DNAME з перетворення підстановки з цільовою таблицею.

Перетворення пошуку шукатиме та повертатиме назву відділу на основі значення DEPTNO1. DEPTNO1 – це вхідний порт, що містить номер відділу співробітника, тоді як DEPTNO залишається портом, що зчитується з таблиці пошуку DEPT.

DEPTNO пов'язано з кваліфікатора джерела з lkp_dept, а DNAME пов'язано з цільовим елементом EMP_DEPTNAME

Крок 6) Double натисніть на перетворення «Пошук». Потім у вікні редагування перетворення:

  1. Виберіть вкладку умови
  2. Установіть для стовпця умов DEPTNO = DEPTNO1
  3. Виберіть кнопку OK

Вкладка «Умова» вікна «Редагувати трансформації» з введеною умовою DEPTNO = DEPTNO1

Крок 7) Зв'яжіть решту стовпців з кваліфікатора джерела з цільовою таблицею.

Залишкові стовпці кваліфікатора джерела, пов'язані з цільовою таблицею EMP_DEPTNAME

Тепер збережіть картаping і виконати його після створення сеансу та робочого процесу. Ця картаping отримає назви відділів за допомогою перетворення пошуку.

Перетворення підстановки налаштовано на пошук у таблиці DEPT, а умова об’єднання встановлюється на основі номера відділу. Якщо умові може задовольнити більше одного рядка DEPT, властивість «Політика підстановки для кількох збігів» на вкладці «Властивості» визначає, яке значення повертається.

Багаторазова трансформація

Звичайне перетворення — це об'єкт, який належить до картиping і може бути використаний всередині цієї картиping лише. Однак, зробивши трансформацію повторно придатною для використання, її можна використовувати повторно в кількох картахpings.

Наприклад, перетворення пошуку, яке отримує інформацію про співробітника на основі його номера, може використовуватися в кількох картах.pingскрізь, де потрібні дані працівників.

Використовуючи перетворення, що можна використовувати повторно, зменшується перевантаження, пов'язане зі створенням тієї ж функціональності повторно. Кожна картаping містить екземпляр одного збереженого об'єкта, тому зміни, внесені до перетворення повторного використання, поширюються на всі об'єкти.

Як створити багаторазову трансформацію

Нижче наведено кроки для створення перетворення, яке можна використовувати повторно.

Крок 1) Відкрийте картуping який перетворюється, тут ми робимо Перетворення рангу багаторазове використання

картаping відкрито в Конструкторі з перетворенням рангу, яке незабаром буде зроблено придатним для повторного використання

Крок 2) Double Натисніть на трансформацію, щоб відкрити вікно редагування трансформації. Потім:

  1. У вікні виберіть вкладку «Трансформація».
  2. Установіть прапорець, щоб зробити трансформацію багаторазовою
  3. Виберіть так у вікні підтвердження
  4. Виберіть OK у вікні властивостей трансформації.

Вкладка «Трансформація» вікна «Редагувати трансформації» з установленим прапорцем «Зробити повторно використовуваним»

Це зробить трансформацію повторно використовуваною. Вікно підтвердження в третьому пункті варто прочитати, перш ніж його прийняти: підвищення рівня трансформації до повторно використовуваної є односторонньою зміною в Конструкторі, і об'єкт не можна понизити в статусі згодом. Там, де одна картаping потребує власної копії, перетягніть об'єкт багаторазового використання на полотно, утримуючи клавішу Ctrl, щоб створити екземпляр, який не можна використовувати повторно.

Поширені запитання

Кеш завантажує джерело пошуку в пам'ять один раз, тому кожен рядок зіставляється локально, а не запитується база даних. Кешування підходить для невеликих або повторно зчитуваних джерел пошуку; некашований пошук запитує джерело для кожного вхідного рядка.

Використовуйте пошук, коли одна сторона є невеликою таблицею посилань і потрібно лише кілька стовпців, особливо коли одне й те саме посилання зчитується з кількох місць. Об'єднувач підходить для справжнього об'єднання двох великих різнорідних конвеєрів.

Визначає властивість «Політика пошуку для множинних збігів». Вона може повідомити про помилку або повернути перше, останнє або будь-яке відповідне значення. Вибір повернення всіх відповідних значень робить перетворення активним і має бути налаштований під час створення.

Зазвичай через те, що джерело пошуку велике. Некешований пошук запитує базу даних один раз на рядок, тоді як кешований оплачує вартість створення авансом. Видалення невикористаних портів пошуку та звуження запиту пошуку допомагають.

Машинне навчання використовується в сучасних інструментах інтеграції даних для пропонування збігів стовпців між джерелом та довідковою таблицею, а також для позначення пошукових запитів, які домінують під час виконання сеансу. Кожну пропозицію все одно потрібно перевірити на відповідність реальним даним.

Копілот допомагає з текстом на картіping а не полотно Designer: пошук перевизначень SQL, файлів параметрів та скриптів, які запускають робочі процеси. Він не може бачити репозиторій, тому назви портів та умови потрібно перевіряти вручну.

Перетворення, яке можна використовувати повторно, — це єдиний збережений об'єкт, спільний для кількох mappingМаплет — це багаторазовий набір перетворень з вхідними та вихідними групами, який упаковує цілий фрагмент логіки, а не один крок.

Жоден рядок у джерелі пошуку не задовольняв умову для цих вхідних рядків. Перевірте наявність пробілів у кінці, різниці у регістрі та невідповідностей типів даних між двома портами, оскільки порівняння є точним.

Підсумуйте цей пост за допомогою: