Transformacja routera w informatyce: przykład wielu warunków

⚡ Inteligentne podsumowanie

Transformacja routera w Informatica to aktywny, połączony obiekt, który testuje przychodzące wiersze pod kątem kilku warunków filtru grupy jednocześnie i wysyła każdy wiersz do odpowiedniej grupy wyjściowej lub do grupy domyślnej.

  • 🔀 Wiele stanów: Jeden router zastępuje łańcuch transformacji filtrów, testując kilka warunków w jednym przejściu.
  • 📦 Struktura grupy: Pojedyncza grupa wejściowa zasila zdefiniowane przez użytkownika grupy wyjściowe oraz jedną automatyczną grupę domyślną.
  • 🗃️ Grupa domyślna: Wiersze, które nie spełniają wszystkich warunków, docierają tutaj, więc odrzucone dane mogą zostać przechwycone, zamiast zostać utracone.
  • 🧪 Przykład rozwiązania: Grupa o nazwie deptno_20 spełniająca warunek deptno=20 ładuje do EMP_TARGET tylko wiersze działu 20.
  • ♻️ zakładkaping zasady: Wiersz spełniający dwa warunki jest przekazywany jednokrotnie do każdej pasującej grupy wyjściowej.
  • Wydajność: Źródło jest odczytywane raz, co sprawia, że ​​użycie jednego routera jest tańsze niż użycie kilku transformacji filtrów odczytujących te same wiersze.

Transformacja routera w informatyce

Co to jest transformacja routera?

Transformacja routera jest aktywną i połączoną transformacją, podobną do transformacji filtru, stosowanej w celu filtrowania danych źródłowych.

Dodatkową funkcjonalnością, oprócz filtrowania, jest możliwość zebrania na mapie odrzuconych danych (danych odfiltrowanych)ping, a także można zastosować wiele warunków filtrowania w celu uzyskania wielu zestawów danych.

Na przykład, filtrując dane dla deptno = 10, możemy również uzyskać rekordy, dla których deptno nie jest równe 10. Zatem transformacja routera daje wiele grup wyjściowych, a każda grupa wyjściowa może mieć własny warunek filtrowania.

Dodatkowo istnieje również grupa domyślna. Ta grupa domyślna zawiera zestawy rekordów, które nie spełniają żadnego z warunków grupy. Na przykład, jeśli utworzono dwie grupy dla warunków filtrowania odpowiednio deptno=10 i deptno=20, to rekordy, które nie mają deptno 10 i 20, zostaną przekazane do tej grupy domyślnej.

Krótko mówiąc, dane odrzucone przez grupy filtrów będą gromadzone przez tę grupę domyślną, a czasami może zaistnieć potrzeba zapisania tych odrzuconych danych. W takich sytuacjach domyślna grupa wyjściowa może być przydatna.

Aby umożliwić stosowanie wielu warunków filtrowania, transformacja Router udostępnia opcję grupy.

  • Istnieje domyślna grupa wejściowa, która przyjmuje dane wejściowe.
  • Istnieje również domyślna grupa wyjściowa, która dostarcza wszystkie dane, które nie zostały uwzględnione w żadnym warunku filtru.
  • Dla każdego warunku filtru w transformacji routera tworzona jest grupa wyjściowa. Do tych różnych grup można łączyć różne cele.

Komponenty transformacji routera

Przed zbudowaniem mapypingWarto poznać cztery części tworzone przez Projektanta. Transformacja routera składa się z jednej grupy wejściowej, zestawu grup wyjściowych, portów w nich zawartych oraz warunków, które decydują o miejscu umieszczenia każdego wiersza.

Składnik Co to robi
Grupa wejściowa Pojedynczy punkt wejścia do transformacji. Każdy wiersz przychodzący trafia tu raz, niezależnie od liczby istniejących grup wyjściowych.
Grupa wyjściowa zdefiniowana przez użytkownika Grupę, którą sam utworzysz i nazwiesz, na przykład deptno_20. Każda z nich ma swój własny warunek filtru grupy.
Domyślna grupa wyjściowa Tworzone automatycznie, gdy tylko pojawi się pierwsza grupa zdefiniowana przez użytkownika. Nie ma warunku filtrowania i nie można go edytować ani usunąć.
Warunek filtra grupowego Wyrażenie boolowskie zapisane w Edytorze wyrażeń. Wiersze, dla których jest ono wartością TRUE, przechodzą przez tę grupę.

Projektant kopiuje definicje portów z grupy wejściowej do każdej grupy wyjściowej, dzięki czemu porty nie muszą być tworzone ponownie grupa po grupie. Z tego projektu wynikają dwie zasady:

  • Wiersze mogą być duplikowane. Jeśli wiersz spełnia więcej niż jeden warunek filtru grupowego, jest przekazywany jednokrotnie do każdej pasującej grupy. Z tego powodu obiekt docelowy zazwyczaj zawiera więcej wierszy niż obiekt źródłowy.
  • Wiersze można usuwać. Jeśli domyślna grupa pozostanie niepołączona, wiersze, które do niej dotrą, po prostu znikną z potoku, co jest najszybszym sposobem na pozbycie się niechcianych danych.

Transformacja routera kontra transformacja filtra

Oba obiekty testują dane pod kątem pewnego warunku i oba są aktywnymi transformacjami, więc wybór między nimi zależy od liczby zaangażowanych warunków i tego, czy odrzucone wiersze mają znaczenie.

Punkt porównania Transformacja filtra Transformacja routera
Warunki dla każdego obiektu jeden Jeden lub wiele, każdy w swojej własnej grupie
Odrzucone wiersze Usunięto i niedostępno Zebrano w grupie domyślnej
Grupy wyjściowe Pojedynczy kanał wyjściowy Jeden potok na grupę plus grupa domyślna
Źródło brzmi Jeden odczyt na filtr, gdy warunki są powiązane Jeden odczyt dla wszystkich warunków
Typowe zastosowanie Usuwanie wierszy, które nigdy nie są potrzebne Podział jednego źródła na kilka celów

Testowanie trzech warunków za pomocą transformacji filtrów oznacza trzy obiekty, a w projekcie łańcuchowym te same wiersze źródłowe są wielokrotnie oceniane. Jeden router wykonuje tę samą pracę w jednym przejściu, dlatego jest to zazwyczaj bardziej wydajna opcja, gdy pojawi się drugi warunek. W przypadku pojedynczego warunku jednorazowego, prostsze Transformacja filtra nadal jest lepszym rozwiązaniem.

Jak utworzyć transformację routera w Informatica

Poniższy przewodnik przedstawia budowę routera, który wysyła pracowników działu 20 do tabeli docelowej. Wykonaj kolejno dziewięć kroków opisanych na mapie.ping Projektant.

Krok 1) Stwórz mapaping mając źródło „EMP” i cel „EMP_TARGET”. Mapaping Następnie płótno projektanta zawiera definicję źródła, jego kwalifikator źródła i definicję celu, jak pokazano poniżej.

Mapaping Płótno projektanta zawierające źródło EMP, jego kwalifikator źródła i definicję celu EMP_TARGET

Krok 2) Następnie na mapieping

  1. Wybierz menu Transformacja
  2. Wybierz opcję tworzenia

Ścieżka menu służąca do uruchomienia kreatora została podświetlona na kolejnym zrzucie ekranu.

Menu transformacji otwarte na mapieping Projektant z wybraną opcją Utwórz

Krok 3) W oknie tworzenia transformacji

  1. Wybierz transformację routera
  2. Wprowadź nazwę transformacji „rtr_deptno_10”
  3. Wybierz opcję Utwórz

Krok 4) Transformacja routera zostanie utworzona na mapiepingWybierz opcję „Gotowe” w oknie. Okno „Utwórz transformację” używane w obu krokach pokazano poniżej.

Utwórz okno transformacji z wybranym routerem i wprowadzoną nazwą rtr_deptno_10

Krok 5) Przeciągnij i upuść wszystkie kolumny z Kwalifikator źródła do transformacji routera. Każdy port jest teraz połączony z nowym obiektem, jak pokazuje zrzut ekranu.

Wszystkie kolumny kwalifikatora źródła przeciągnięte do transformacji routera rtr_deptno_10

Krok 6) Double kliknij na transformację routera, a następnie we właściwości transformacji

  1. Wybierz kartę grupy
  2. Wpisz nazwę grupy „deptno_20”
  3. Kliknij warunek filtra grupy

Następnie wyświetlana jest karta Grupy z nową dodaną grupą.

Karta Grupy transformacji Routera z dodaną grupą zdefiniowaną przez użytkownika deptno_20

Krok 7) W Edytorze Wyrażeń wprowadź warunek filtru deptno=20 i kliknij przycisk OK. Edytor zawierający ten warunek pokazano poniżej.

Edytor wyrażeń przechowujący warunek filtru grupy deptno=20 dla grupy deptno_20

Krok 8) Kliknij przycisk OK w oknie grupy. Warunek pojawi się teraz dla grupy, jak pokazano na poniższym zrzucie ekranu.

Warunek filtru grupy zapisany dla grupy deptno_20 w oknie Edycja transformacji

Krok 9) Połącz porty z grupy deptno_20 transformacji routera z portami tabeli docelowej. Gotowa mapaping biegnie od źródła przez grupę do EMP_TARGET.

Porty grupy wyjściowej deptno_20 połączone z tabelą docelową EMP_TARGET

Teraz, gdy wykonasz tę mapęping, przefiltrowane rekordy zostaną załadowane do tabeli docelowej.

Najlepsze praktyki transformacji routerów i typowe błędy

Mapaping Powyższy przykład wykorzystuje jedną grupę, która ukrywa większość zachowań powodujących późniejsze zgłoszenia do pomocy technicznej. Poniższe punkty opisują zmiany, które zachodzą po pojawieniu się drugiej grupy.

  • Zwróć uwagę na powtarzające się wiersze. Warunki grupowe nie wykluczają się wzajemnie. Zapis sal>1000 w jednej grupie i deptno=20 w drugiej oznacza, że ​​pracownik spełniający oba warunki zostanie obciążony dwukrotnie. Należy stosować warunki wykluczające lub celowo zaakceptować duplikację.
  • Połącz domyślną grupę, gdy odrzucenia mają znaczenie. Wiersze, które nie spełniają żadnego warunku, są tracone, chyba że grupa domyślna jest powiązana z plikiem docelowym lub odrzuconym. Obciążenia z możliwością audytu zazwyczaj je zachowują.
  • Nazwy grup należy podawać według reguły, nie celu. Przykładowa grupa deptno_20 jest czytelna; grupa o nazwie group1 nie. Należy zauważyć, że sama transformacja nosi w tym przewodniku nazwę rtr_deptno_10, podczas gdy grupa filtruje według deptno 20, co jest dokładnie tym rodzajem niezgodności, której zapobiega standard nazewnictwa.
  • Przed wytyczeniem trasy przefiltruj ją tam, gdzie to możliwe. Wiersze, których żadna grupa nigdy nie będzie chciała usunąć, są tańsze w zapytaniu kwalifikatora źródła niż w przypadku przenoszenia ich do routera.
  • Nie traktuj Routera jako połączenia. Dzieli jeden rurociąg na kilka. Ponowne połączenie odgałęzień wymaga transformacji unii, a połączenie dwóch różnych źródeł wymaga Transformacja stolarza.

Grupa, której warunek zwraca wartość NULL zamiast PRAWDA lub FAŁSZ, jest traktowana jako niezgodna, więc wiersze z wartościami null w testowanej kolumnie trafiają do grupy domyślnej. Jawna obsługa wartości null w warunku pozwala uniknąć tego zaskoczenia podczas dostrajanie wydajności i testowania.

FAQ

Tak. Usługa integracji ocenia każdy warunek filtru grupy w odniesieniu do każdego wiersza, więc wiersz spełniający dwa warunki jest przepuszczany jednokrotnie przez każdą pasującą grupę.ping Warunki są najczęstszą przyczyną nieoczekiwanych duplikatów wierszy.

Wiersze kierowane do niej są usuwane z potoku. Pozostawienie domyślnej grupy niepołączonej to standardowy sposób odrzucania danych, których żaden warunek nie chce, i jest to również powód, dla którego odrzucone wiersze czasami znikają niezauważone.

Nie. Pojawia się automatycznie po utworzeniu pierwszej grupy zdefiniowanej przez użytkownika, nie zawiera warunku filtra grupowego, a Projektant nie pozwala na jej edycję ani usunięcie. Można dodawać, zmieniać nazwy i usuwać tylko grupy zdefiniowane przez użytkownika.

Dokładnie jeden. Każdy wiersz przechodzi przez tę pojedynczą grupę wejściową, a Projektant kopiuje definicje portów do każdej grupy wyjściowej, dzięki czemu porty nie muszą być tworzone ponownie dla każdej gałęzi mapy.ping.

Z transformacją Union, która akceptuje kilka grup wejściowych z pasującymi portami i zwraca jeden potok wyjściowy. Router rozdziela dane; tylko Union łączy gałęzie z powrotem w jeden cel.

Kolejność połączonych grup wyjściowych określa kolejność, w jakiej usługa integracji ocenia warunki. Nie uniemożliwia to dopasowania wiersza do kolejnych grup, więc kolejność wpływa na sekwencję, a nie na to, które wiersze zostaną wybrane.

Asystenci AI profilują dane źródłowe, aby ujawnić rzeczywisty rozkład wartości, a następnie sugerują warunki podziału i sygnalizują nakładanie się wierszy, które mogłoby je duplikować. Doradcy bazujący na uczeniu maszynowym wykrywają również kolumny z dużą liczbą wartości null, zanim wiersze te bezszelestnie trafią do grupy domyślnej.

Copilot szybko tworzy wyrażenia boolowskie i odpowiadający im kod SQL, co oszczędza czas na powtarzaniu reguł. Nie widzi nazw portów ani wolumenów danych, dlatego przed zapisaniem mapy należy sprawdzić każdą sugestię w Edytorze Wyrażeń.ping.

Podsumuj ten post następująco: