Joins in tMap konfigurieren

In diesem Tutorial wird gezeigt, wie Sie Join-Outputs in einer tMap-Komponente konfigurieren.

Für diese Anleitung benötigen Sie Talend Open Studio Data Integration Version 6.

1. Join-Modell konfigurieren

  1. Doppelklicken Sie im jointMap-Job auf die tMap_1-Komponente, um den Assistenten zu öffnen.

    Hinweis: Wenn Sie für tMap auf Einstellungen klicken, wird eine Liste mit Parametern zur Konfiguration der Input- oder Outputflüsse angezeigt. Mit einer der für Inputflüsse verfügbaren Einstellungen können Sie die Standardeinstellung für „Join Model“ von „Left Outer Join“ in „Inner Join“ ändern.
    .
  2. Klicken Sie dazu auf die Standardeinstellung Left Outer Join, dann auf das Dreipunkt-Symbol [...] links neben „Left Outer Join“. Das Fenster „Options“ wird angezeigt, in dem Sie auf Inner Join und dann auf OK klicken.

    Hinweis: Wenn Sie die Standardeinstellungen ändern, wird im Einstellungen-Symbol von tMap ein roter Punkt mit der Ziffer 1 angezeigt. Dies zeigt an, dass ein Parameter von den Standardeinstellungen für tMap abweicht.
    .
  3. Schließen Sie den tMap-Assistenten und führen Sie den Job aus.

Im Job Designer können Sie sehen, dass die tMap-Komponente insgesamt 1.682 Datenzeilen aus dem linken Input verarbeitet. Die Outputdatei enthält aber nur 142 Zeilen. Das liegt am Inner Join, der nur 142 Treffer geliefert und die restlichen Zeilen verworfen hat.

Sie können sich den Zeilenausschuss in der Outputdatei „moviesComplete“ ansehen. Beachten Sie, dass für alle Filme in der Datei auch die Regisseure genannt sind.

2. Neuen Output in der tMap-Komponente erstellen, um nur den Ausschuss des Inner Join zu erfassen

  1. Öffnen Sie den Assistenten der tMap_1-Komponente und erstellen Sie eine zweite Outputkomponente namens joinRejects. Ein leerer Outputfluss wird erstellt.
  2. Wählen Sie in der „movies“-Komponente die fünf Felder „movieID“, „title“, „releaseYear“, „url“, und „directorID“ aus und ziehen Sie sie auf die Outputkomponente.
  3. Klicken Sie in der joinRejects-Outputdatei auf die Einstellungen für tMap.
  4. Als Nächstes passen Sie die Eigenschaft „Catch lookup inner join reject“ an. Klicken Sie auf die Standardeinstellung false und dann auf das Dreipunkt-Symbol [...] daneben. Klicken Sie im Fenster „Options“ auf true und bestätigen Sie mit OK.

    Hinweis: Indem Sie die Einstellung für die Eigenschaft „Catch lookup inner join reject“ auf „true“ setzen, werden im neuen Output auch alle Datenzeilen erfasst, die beim Inner Join verworfen wurden.
    .
  5. Fügen Sie eine tFileOutputDelimited-Komponente in Job Designer hinzu und verbinden Sie den joinRejects-Output der tMap_1-Komponente mit tFileOutputDelimited_2.
  6. Konfigurieren Sie jetzt die Outputkomponente, indem Sie in der Component-Ansicht den Pfad und Namen für die Outputdatei angeben. Aktivieren Sie die Option, mit der eine Header-Zeile eingefügt wird, und führen Sie den Job aus.

Im Job Designer sehen Sie, dass von den 1.682 Zeilen Inputdaten 142 Zeilen im joinedOutput-Output enthalten sind. Die 1.540 verworfenen Zeilen werden im joinRejects-Output gesammelt.

Die joinRejects-Outputdatei enthält die Filme, die der Join verworfen hat. Das sind Filme ohne directorID in der „movies“ -Datei sowie alle Filme mit directorID in der „movies“-Datei, die in der „directors“-Datei fehlen.