Joiner-Transformation in Informatica mit BEISPIEL
โก Intelligente Zusammenfassung
Die Joiner-Transformation in Informatica ist das aktive, verbundene Objekt, das zwei heterogene Datenquellen anhand einer รผbereinstimmenden Bedingung zusammenfรผhrt und dabei die Master-Pipeline im Speicher zwischenspeichert, wรคhrend die Detail-Pipeline sie durchlรคuft.

Was ist Joiner-Transformation?
Die Joiner-Transformation ist eine aktive und vernetzte Transformation, mit der Sie Joins in Informatica erstellen kรถnnen. Die mit der Joiner-Transformation erstellten Joins รคhneln den Joins in Datenbanken. Der Vorteil der Joiner-Transformation besteht darin, dass Joins fรผr heterogene Systeme (unterschiedliche Datenbanken) erstellt werden kรถnnen.
Bei der Joiner-Transformation gibt es zwei Datenquellen, die wir fรผr Joins verwenden werden. Diese beiden Datenquellen werden genannt
- Master-Quelle
- Detailquelle
In den Eigenschaften der Joiner-Transformation kรถnnen Sie auswรคhlen, welche Datenquelle als Master- und welche als Detaildatenquelle dienen soll.
Wรคhrend der Ausfรผhrung wird die Masterquelle fรผr den Join-Vorgang im Speicher zwischengespeichert. Daher empfiehlt es sich, die Quelle mit den wenigsten Datensรคtzen als Masterquelle auszuwรคhlen. Die Master-Pipeline wird in zwei Caches gehalten: einem Index-Cache fรผr die in der Join-Bedingung verwendeten Werte und einem Daten-Cache fรผr die รผbrigen Zeilendaten.
Arten von Joins in der Joiner-Transformation
Die Eigenschaft โVerknรผpfungstypโ auf der Registerkarte โEigenschaftenโ legt fest, was mit Zeilen geschieht, die keine รbereinstimmung finden. Die folgenden Verknรผpfungen kรถnnen mithilfe der Joiner-Transformation erstellt werden.
- Master-Outer-Join โ Bei einem Master Outer Join werden alle Datensรคtze aus der Detailquelle vom Join zurรผckgegeben, und es werden nur รผbereinstimmende Zeilen aus der Masterquelle zurรผckgegeben.
- Detaillierte รคuรere Verbindung โ Bei einem Detail Outer Join werden nur รผbereinstimmende Zeilen aus der Detailquelle und alle Zeilen aus der Masterquelle zurรผckgegeben.
- Vollstรคndiger รคuรerer Join โ Bei einem vollstรคndigen รคuรeren Join werden alle Datensรคtze aus beiden Quellen zurรผckgegeben.
- Normaler Beitritt โ Bei einem normalen Join werden nur รผbereinstimmende Zeilen aus beiden Quellen zurรผckgegeben.
Master-Auรenverbindungen und Detail-Auรenverbindungen entsprechen linken Auรenverbindungen in SQLJeder Typ speichert alle Zeilen der einen Quelle und nur die รbereinstimmungen der anderen. Die folgende Tabelle vergleicht die vier Typen mit ihren SQL-Entsprechungen.
| Join-Typ | Zeilen aus dem Master beibehalten | Zeilen, die vom Detail ferngehalten werden. | SQL-รquivalent |
|---|---|---|---|
| Normaler Beitritt | Nur passende | Nur passende | Innere Verbindung |
| Master-Outer-Join | Nur passende | Alle Zeilen | Linker รคuรerer Join auf der Detailquelle |
| Detaillierte รคuรere Verbindung | Alle Zeilen | Nur passende | Left Outer Join auf der Masterquelle |
| Vollstรคndiger รคuรerer Join | Alle Zeilen | Alle Zeilen | Vollstรคndiger รคuรerer Join |
Der Join-Typ ist eine Eigenschaft, keine strukturelle Entscheidung, daher kann er spรคter geรคndert werden, ohne die Karte neu erstellen zu mรผssen.ping oder das erneute Verbinden von Ports.
Wie man die Joiner-Transformation in Informatica verwendet
In diesem Beispiel verknรผpfen wir die Tabellen โempโ und โdeptโ mithilfe der Joiner-Transformation. Arbeiten Sie die folgenden acht Schritte in der Map durch.ping Designer.
Schritt 1) Erstellen Sie mithilfe des unten stehenden Skripts eine neue Zieltabelle EMP_DEPTNAME in der Datenbank und importieren Sie die Tabelle in die Informatica-Ziele.
Laden Sie die obige emp_deptname.sql-Datei herunter
Schritt 2) Erstelle eine neue Karteping Importieren Sie nun die Quelltabellen โEMPโ und โDEPTโ sowie die im vorherigen Schritt erstellte Zieltabelle. Alle drei Definitionen befinden sich nun auf der Arbeitsflรคche, wie unten dargestellt.
Schritt 3) Wรคhlen Sie im Menรผ โTransformationโ die Option โErstellenโ. Anschlieรend im unten angezeigten Fenster โTransformation erstellenโ
- Wรคhlen Sie Joiner-Transformation aus
- Geben Sie den Transformationsnamen โjnr_emp_deptโ ein.
- Wรคhlen Sie die Erstellungsoption
Schritt 4) Ziehen Sie alle Spalten aus beiden per Drag-and-Drop Quellenqualifizierer zur Joiner-Transformation. Beide Pipelines sind nun mit jnr_emp_dept verknรผpft, wie der Screenshot zeigt.
Schritt 5) Double Klicken Sie auf die Joiner-Transformation und anschlieรend im Fenster โTransformationen bearbeitenโ.
- Wรคhlen Sie die Registerkarte โBedingungโ aus
- Klicken Sie auf das Symbol โNeue Bedingung hinzufรผgenโ.
- Wรคhlen Sie in der Liste der Haupt- und Detailspalten die Abteilungsnummer aus
Die Registerkarte โBedingungโ enthรคlt nun die einzelne Verknรผpfungsbedingung fรผr deptno.
Schritt 6) Dann im selben Fenster
- Wรคhlen Sie die Registerkarte โEigenschaftenโ.
- Wรคhlen Sie als Join-Typ โNormal Joinโ aus.
- Wรคhlen Sie die Schaltflรคche โOKโ aus.
Im nรคchsten Schritt wird die Registerkarte โEigenschaftenโ mit der festgelegten Verbindungsart angezeigt.
Zur Leistungsoptimierung ordnen wir die Master-Quelle der Quelltabellen-Pipeline mit weniger Datensรคtzen zu. So fรผhren Sie diese Aufgabe aus:
Schritt 7) Double Klicken Sie auf die Joiner-Transformation, um das Fenster โTransformationen bearbeitenโ zu รถffnen, und dann
- Wรคhlen Sie die Registerkarte โPortsโ aus
- Wรคhlen Sie eine beliebige Spalte einer bestimmten Quelle aus, die Sie als Master erstellen mรถchten
- Klicken Sie auf OK
Auf der Registerkarte โPortsโ wird die ausgewรคhlte Pipeline als Master markiert, wie unten dargestellt.
Schritt 8) Verknรผpfen Sie die relevanten Spalten der Joiner-Transformation mit der Zieltabelle. Die Zuordnungping Die Verarbeitung erfolgt nun von beiden Quellen รผber den Join in EMP_DEPTNAME.
Speichere nun die Karteping und fรผhren Sie es nach dem Erstellen eines Session und Arbeitsablauf. Dafรผr wird der Join mithilfe des Informatica Joiners erstellt, und relevante Details werden aus beiden Tabellen abgerufen.
Eigenschaften der Joiner-Transformation
Die Registerkarte โEigenschaftenโ enthรคlt mehr Informationen als nur den Join-Typ. Die folgenden Einstellungen steuern, wie viel Speicherplatz der Join verwendet und wo die Cache-Dateien gespeichert werden.
| Rahmen | Was es steuert |
|---|---|
| Join-Typ | Normal, Master Outer, Detail Outer oder Full Outer. Legt fest, welche nicht รผbereinstimmenden Zeilen beibehalten werden. |
| Beitrittsbedingung | Die Liste der Master-Detail-Portpaare wird mit dem Gleichheitsoperator verglichen. Mehrere Bedingungen werden mit UND verknรผpft. |
| Sortierte Eingabe | Gibt an, dass beide Pipelines bereits nach den Bedingungsports sortiert ankommen, wodurch der Integrationsdienst die Festplatteneingabe und -ausgabe minimieren kann. |
| Hauptsortierreihenfolge | Die Sortierreihenfolge der Master-Quelldaten, verwendet zusammen mit den sortierten Eingabedaten. |
| Cache-Verzeichnis | Verzeichnis, in dem die Index- und Datencache-Dateien erstellt werden. Standardmรครig wird die Prozessvariable $PMCacheDir verwendet. |
| Grรถรe des Joiner-Daten-Caches | Grรถรe des Datencaches, der die Masterzeilendaten enthรคlt. Standardmรครig ist die Einstellung โAutoโ, wodurch der Integrationsdienst die Grรถรe festlegt. |
| Joiner-Index-Cache-Grรถรe | Grรถรe des Index-Caches, der die Master-Bedingungswerte enthรคlt. Standardwert: Auto. |
| Transformationsbereich | Wendet den Join auf jede Transaktion, auf alle eingehenden Daten oder auf einen Zeilenbereich an. |
Die Einstellung โSortierte Eingabeโ ist die erste Wahl. Wenn beide Pipelines nach den Bedingungsports sortiert eintreffen, muss der Integrationsdienst nicht die gesamte Masterquelle vor Beginn des Abgleichs speichern. Dies entspricht dem Prinzip, das auch bei der folgenden Verarbeitung angewendet wird: Leistungsoptimierung von anderen zwischengespeicherten Transformationen.
Regeln und Einschrรคnkungen der Joiner-Transformation
Manche Einschrรคnkungen treten erst zutage, wenn die Karteping wird validiert, daher ist es gรผnstiger, sie zu kennen, bevor die Ports verbunden werden.
- Nur Gleichheit. Eine Join-Bedingung vergleicht Ports mit dem Gleichheitsoperator. Vergleichsoperatoren wie grรถรer als, kleiner als oder ungleich werden in der Bedingung nicht akzeptiert.
- Passende Datentypen. Beide Ports einer Bedingung mรผssen denselben Datentyp aufweisen. Der Designer รผberprรผft dies, daher mรผssen nicht รผbereinstimmende Spalten zuerst konvertiert werden, รผblicherweise mithilfe einer Ausdruckstransformation.
- Keine Aktualisierungsstrategie im Upstream. Eine Joiner-Transformation kann nicht verwendet werden, wenn eine der Eingabepipelines eine Update Strategy-Transformation enthรคlt.
- Keine Sequenz Generator unmittelbar davor. Verbinden einer Sequenz Generator Eine Transformation unmittelbar vor dem Joiner wird nicht unterstรผtzt.
- Zwischenspeicherung kann nicht deaktiviert werden. Die Master-Pipeline wird immer zwischengespeichert, weshalb die kleinere Datenquelle auf der Master-Seite liegt und die Cache-Grรถรe bei groรen Joins eine Rolle spielt.
Das Zusammenfรผhren von drei Datenquellen erfordert zwei verkettete Joiner-Transformationen, da jede genau eine Master- und eine Detail-Pipeline akzeptiert. Wenn die zweite Datenquelle stattdessen eine kleine Referenztabelle ist, die zeilenweise gelesen wird, โฆ Lookup-Transformation ist oft die einfachere Ausfรผhrung.







