Konditionale Filter mithilfe der tMap-Komponente hinzufügen

In dieser Anleitung lernen Sie, wie man Filter für tMap-Outputs erstellt und konfiguriert.

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

1. Neuen Job erstellen und tMap-Komponente hinzufügen

  1. Fügen Sie im neuen Job die movies-Metadatendatei als InputDelimited-Komponente hinzu.
  2. Fügen Sie eine tMap-Komponente hinzu, um neue Filter anzulegen.
  3. Verbinden Sie die beiden Komponenten, indem Sie einen Datenfluss von der „movies“-Komponente zur „tMap_1“-Komponente ziehen. Nennen Sie die Verbindung „movies“.

2. Filter hinzufügen, um nur die Filme auszuwählen, die 1990 oder früher erschienen sind

  1. Als Nächstes erstellen Sie einen neuen Output. Klicken Sie doppelt auf die tMap_1-Komponente, klicken Sie im Output-Bereich des tMap-Assistenten auf die Schaltfläche [+] und nennen Sie den Output moviesFromThe90s.
  2. Wählen Sie alle Spalten von „movies“ (Input) aus und ziehen Sie sie auf „moviesFromThe90s“ (Output).
  3. Klicken Sie auf Activate Expression Filter, um einen neuen konditionalen Filter zu erstellen.
  4. Jetzt erstellen Sie die Filterbedingung. Ziehen Sie die Spalte releaseYear auf das Ausdrucksfilterfeld und geben Sie >=1990 ein.

3. Das Ergebnis in einer Datei speichern

  1. Fügen Sie dem Job eine tFileOutputXML-Komponente hinzu.
  2. Verknüpfen Sie den Output mit Row > moviesFromThe90s mit der tFileOutputXML_1-Komponente. Ändern Sie den Namen der tFileOutputXML_1-Komponente in movies>=1990.
  3. Zum Konfigurieren der „movies >= 1990“-Komponente geben Sie in der „Component“-Ansicht den Pfad und Namen der Outputdatei ein.
  4. Ändern Sie nun noch den Namen des Root-Dokuments. Geben Sie dazu im Feld „Row tag“ "movies" ein und führen Sie anschließend den Job aus.
  5. Prüfen Sie die resultierende „moviesFromThe90s.xml“-Datei. Öffnen Sie den Ordner, in dem die Datei erstellt wurde. Wenn Sie die Datei öffnen, erscheint jetzt eine Liste der Filme, die im Jahr 1990 oder davor erschienen sind.

4. Einen zweiten Filter mit zwei Bedingungen erstellen

  1. Erstellen Sie einen zweiten Filter, der nur Filme aus den 80ern filtert.
    Für konditionale Filter gelten die Syntaxregeln von Java. Sie können ganz einfach eine doppelte Bedingung erstellen, indem Sie den &&-Operator von Java verwenden (AND).
  2. Führen Sie den Job aus.

Die Datei mit einer Liste der Filme zwischen 1980 bis 1989 wird angezeigt.

5. Filter für den Ausschussoutput erstellen

  1. Für den dritten Filter legen Sie in der tMap_1-Oberfläche einen weiteren Output namens moviesBefore80s an und fügen diesem alle Spalten aus „movies“ (Input) hinzu.
  2. Klicken Sie auf tMap Settings, um den Filter für den Ausschussoutput zu erstellen.
  3. Klicken Sie im „value“-Feld der Eigenschaft „Catch output reject“ auf […] und wählen Sie true aus. Der resultierende Output enthält alle Datenzeilen, die keiner der beiden Bedingungen entsprechen.
  4. Fügen Sie eine tFileOutputXML-Komponente namens movies<1980 hinzu und verbinden Sie sie mit der Zeile „moviesBefore80s“ aus tMap_1.
  5. Zum Konfigurieren der „movies<1980“-Komponente geben Sie in der „Component“-Ansicht den Pfad und Namen der Outputdatei ein.
  6. Führen Sie den Job aus.
  7. Öffnen Sie den Ordner, in dem die Datei „filterRejects.xml“ erstellt wurde, und sehen Sie sich ihren Inhalt an.

Die Datei enthält eine Liste der Filme, die vor 1980 erschienen sind.