Трансформация на търсене в Informatica (пример)

⚡ Умно обобщение

Трансформацията на търсене в Informatica чете релационна таблица, плосък файл, изглед или синоним и връща съответстващите стойности за всеки входящ ред, работейки като съединение, в което едната страна е източникът на търсене.

  • ???? Състоянието определя мача: Разделът „Условие“ съдържа сравнението, например DEPTNO = DEPTNO1, което определя кой ред за търсене се връща.
  • 🧪 Разработен пример: Седемте картиping Стъпките на дизайнера извличат имената на отделите от DEPT в цел EMP_DEPTNAME без Joiner.
  • 🔌 Свързан или несвързан: Свързано търсене се намира в конвейера, докато несвързано се извиква от израз с квалификатора :LKP.
  • Пасивно по подразбиране: Връщането на един ред запазва трансформацията пасивна, а връщането на всички съвпадащи редове я прави активна.
  • Предмети за многократна употреба: Отметката в „Make Reusable“ (Направи повторно използваем) превръща една трансформация в обект с няколко карти.pingмогат да споделят.
  • ⚠️ Еднопосочна промоция: Трансформация, повишена до многократно използваема, не може да бъде понижена, така че подканата за потвърждение заслужава внимателно четене.

Трансформация на търсене в Informatica

Какво представлява справочната трансформация?

Трансформацията за търсене е трансформация, използвана за търсене на източник, квалификатор на източника или цел, за да се получат съответните данни. По принцип това е вид операция за свързване, при която едната от свързващите таблици е източникът на данни, а другата свързваща таблица е таблицата за търсене. Самият източник на търсене може да бъде релационна таблица, изглед, синоним или плосък файл.

Трансформацията е пасивна, тъй като връща по един ред за всеки входящ ред. От PowerCenter 9.x нататък може да се създаде и такава, че да връща всеки ред, който отговаря на условието, и в този режим е активна трансформация. Изборът се прави при създаването на трансформацията и не може да се променя впоследствие.

Има два начина да го поставите на картатаping, а разликата определя как върнатата стойност достига до останалата част от конвейера.

Аспект Свързано търсене Несвързано търсене
Позиция Намира се вътре в конвейера и получава стойности от предишната трансформация Намира се извън конвейера и се извиква от израз
Как се нарича Редовете се вливат във входните му портове Извиква се с квалификатора за препратка :LKP
Върнати стойности Няколко изходни порта могат да бъдат свързани надолу по веригата Една върната стойност се връща към извикващия израз
Типична употреба Всеки ред се нуждае от търсените колони Търсенето е необходимо само за някои редове или едно и също търсене се извиква от няколко места

В предишни теми използвахме Дърводелска трансформация да се обединят таблиците „emp“ и „dept“, за да се получат имената на отделите. В този раздел ще имплементираме същото, използвайки трансформация Lookup.

Как да създадете справочна трансформация

Следват стъпките за създаване на трансформация на търсене в Informatica.

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

Картаping Дизайнерско платно с EMP източника, неговия Source Qualifier и EMP_DEPTNAME целта

Стъпка 2) Създайте нова трансформация, като използвате менюто „Трансформация“, след което в прозореца „Създаване на трансформация“:

  1. Изберете трансформация за търсене като трансформация
  2. Въведете име на трансформация „lkp_dept“
  3. Изберете опция за създаване

Прозорец за създаване на трансформация с избрана трансформация на търсенето и въведено име lkp_dept

Стъпка 3) Това ще отвори прозореца за справочна таблица. В този прозорец:

  1. Бутон за избор на източник
  2. Изберете таблица DEPT
  3. Изберете бутона OK

Диалогов прозорец „Избор на таблица за търсене“ с избран бутон „Източник“ и маркирана таблица „ОТДЕЛ“

Стъпка 4) Ще бъде създадена трансформация за търсене с колоните на таблицата DEPT, сега изберете бутона „Готово“. Обектът lkp_dept вече носи DEPTNO, DNAME и LOC като портове за търсене.

Трансформация на търсене lkp_dept, създадена с колони от таблицата DEPT като портове за търсене

Стъпка 5) Плъзнете и пуснете колоната DEPTNO от Source Qualifier към Lookup трансформацията. Това ще създаде нова колона DEPTNO1 в Lookup трансформацията. След това свържете колоната DNAME от Lookup трансформацията към целевата таблица.

Трансформацията Lookup ще потърси и ще върне името на отдела въз основа на стойността 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 в прозореца със свойства на трансформацията.

Раздел „Трансформация“ в прозореца „Редактиране на трансформации“ с отметнато квадратче „Направи повторно използваем“

Това ще направи трансформацията многократно използваема. Прозорецът за потвърждение в третия елемент си струва да се прочете, преди да бъде приет: повишаването на трансформацията до многократно използваема е еднопосочна промяна в Designer и обектът не може да бъде понижен впоследствие. Където една картаping се нуждае от собствено копие, плъзнете обекта за многократна употреба върху платното, като държите натиснат клавиша Ctrl, за да създадете екземпляр за еднократна употреба.

Въпроси и Отговори

Кешът зарежда източника на търсене в паметта веднъж, така че всеки ред се съпоставя локално, вместо да се отправя запитване към базата данни. Кеширането е подходящо за малки или многократно четени източници на търсене; некашираното търсене отправя запитване към източника за всеки входящ ред.

Използвайте търсене, когато едната страна е малка референтна таблица и са необходими само няколко колони, особено когато една и съща препратка се чете от няколко места. Joiner е подходящ за истинско съединение на два големи хетерогенни конвейера.

Свойството „Политика за търсене при множествено съвпадение“ решава. То може да докладва грешка или да върне първата, последната или произволна съответстваща стойност. Изборът да се върнат всички съответстващи стойности прави трансформацията активна и трябва да бъде зададена по време на създаването ѝ.

Обикновено защото източникът на търсене е голям. Некешираното търсене отправя заявка към базата данни веднъж на ред, докато кешираното плаща предварително разходите за изграждане. Премахването на неизползваните портове за търсене и стесняването на заявката за търсене помагат.

Машинното обучение се използва в съвременните инструменти за интеграция на данни, за да предлага съвпадения на колони между източник и референтна таблица и да маркира търсения, които доминират по време на изпълнение на сесията. Всяко предложение все още се нуждае от проверка спрямо реалните данни.

Копилотът помага с текста около картатаping вместо платното на Designer: търсене на SQL презаписвания, файлове с параметри и скриптове, които изпълняват работни потоци. Не може да вижда хранилището, така че имената на портовете и условията трябва да се проверяват ръчно.

Трансформацията за многократна употреба е един съхранен обект, споделен от няколко mappingМаплетът е многократно използваем набор от трансформации с входни и изходни групи, който пакетира цяла логическа част, а не една стъпка.

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

Обобщете тази публикация с: