Metadaten erstellen und verwenden

In diesem Tutorial erstellen und verwenden Sie Metadaten, die Ihnen bei der Entwicklung viel Zeit sparen können.

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

Talend Open Studio umfasst vordefinierte Komponenten, mit denen Sie Java-ETL-Programme oder -Jobs erstellen und ausführen können.

Es gibt „Built-in“- und „Repository“-Komponenten.

Mit „Built-in“-Komponenten können Sie zum Beispiel Angaben zur Lesemethode oder zum Inhalt der Datei machen. Für sie gilt:

  • Sie werden in der Komponente definiert.
  • Sie gelten nur für diese Komponente.
  • Sie können für keine andere Komponente wiederverwendet werden.

Für die Informationen von „Repository“-Komponenten gilt:

  • Sie werden als Metadaten gespeichert.
  • Sie können flexibel wiederverwendet werden.
  • Sie lassen sich einfach pflegen, weil Änderungen an Metadaten auf alle Jobs übertragen werden können, die sie verwenden.

1. Metadatendefinition für eine zeichenbegrenzte Datei erstellen

  1. Klicken Sie im Project Repository auf Metadata. Klicken Sie mit der rechten Maustaste auf File delimited und dann auf Create file delimited.
  2. Geben Sie im Assistenten in das dafür vorgesehene Feld den Namen movies ein und klicken Sie auf Next.
  3. Als Nächstes wählen Sie eine Beispieldatei aus. Klicken Sie neben dem Feld „File“ auf Browse und wählen Sie die Datei moviesSorted auf der Festplatte aus. Klicken Sie auf Open. Die Datei wird im „File Viewer“ des Assistenten angezeigt.
  4. Jetzt legen Sie die Einstellungen für „Property Type“ fest. Klicken Sie auf Next. Im angezeigten Assistenten können Sie verschiedene Einstellungen vornehmen, zum Beispiel wie die Datei gelesen wird, wie viele Zeilen, sofern vorhanden, beim Lesen der Datei übersprungen werden sollen, und wie viele Zeilen maximal verarbeitet werden.
  5. Die erste Zeile der Datei enthält die Spaltentitel und soll daher ignoriert werden. Wählen Sie dazu auf dem Tab „Preview“ Set heading row as column names aus. Dabei wird automatisch das Kästchen für Header mit dem Wert 1 aktiviert.
  6. Klicken Sie auf Refresh Preview, um die Anzeige mit den Änderungen zu aktualisieren, und dann auf Next.
  7. Geben Sie im Feld „Name“ moviesSchema ein. Wenn die erste Zeile der Beispieldatei Spaltentitel enthält, werden diese angezeigt. Wenn nicht, werden die Spalten als „Column 0“, „Column 1“ usw. dargestellt und müssen manuell umbenannt werden.

    Beim Erstellen des Schemas liest Talend nur die fünfzig ersten Zeilen der Beispieldatei aus und bestimmt anhand der enthaltenen Daten die Spaltentypen und die Spaltenlänge. Prüfen Sie diese Einstellungen und nehmen Sie falls notwendig Korrekturen vor.
    .
  8. Passen Sie das Schema an die Struktur der Beispieldatei an. Ändern Sie die Länge der Felder „title“ und „url“ auf 100 bzw. 250. Ändern Sie außerdem den Typ für das „directorID“-Feld in Integer. Klicken Sie auf Finish.

Im Project Repository unter „Metadata“ sehen Sie jetzt, dass für den Eintrag movies 0.1 die Dateieigenschaften angezeigt werden. Unter dem Eintrag „movies 0.1“ befindet sich das Schema der Metadatendatei, moviesSchema.

Wenn Sie den Eigenschaftentyp oder das Schema ändern möchten, klicken Sie im Project Repository mit der rechten Maustaste auf die Komponente und wählen Sie „Edit File Delimited“ oder „Edit Schema“ aus.

2. Mit den Metadaten eine Komponente konfigurieren

  1. Erstellen Sie einen neuen Job, geben Sie den Namen useMetadata ein und fügen Sie eine tFileInputDelimited-Komponente hinzu.
    Hinweis: Die Komponente ist standardmäßig mit „Built-in“-Parametern konfiguriert.
  2. Wählen Sie im Feld „Property Type“ der Component-Ansicht Repository aus.
  3. Jetzt müssen Sie die Metadaten auswählen. Klicken Sie neben dem eingeblendeten Feld auf […], dann auf movies 0.1 und bestätigen Sie mit OK.

    Wie Sie sehen, werden die Parameter der Metadaten angezeigt. Alle Felder sind ausgegraut, was bedeutet, dass sie zu den Metadaten und nicht zur Komponente gehören.

    Zum Ändern des Schemas klicken Sie neben „Edit schema“ auf […] und wählen eine der Optionen aus:
    - „Change to built-in property“, um das Schema nur für diese Komponente zu bearbeiten.
    - „Update repository connection“, um das Metadatenschema im Repository zu bearbeiten.
    .
  4. Klicken Sie neben „Edit schema“ auf […] und wählen Sie View schema aus.

3. Mit den Metadaten eine weitere Komponente konfigurieren

Es gibt noch eine andere Methode, Metadaten in einem Job zu verwenden: Ziehen Sie die Metadaten einfach aus dem Repository in Designer und wählen Sie die Komponente aus, die damit definiert werden soll, in diesem Fall tFileInputDelimited.

Talend ermöglicht es, Metadaten auf Basis verschiedener Parameter wie Datenbanken, SAP-Verbindungen und einiger Dateitypen zu erstellen.

Hinweis: Im Folgenden Beispiel werden MySQL Workbench 6.3 CE und das Test-Dataset „talend_dq“ verwendet. Sie können entweder eine ähnliche Konfiguration oder eine Ihrer eigenen Datenbanken verwenden.

4. Eine Datenbankverbindung erstellen und als Metadaten definieren

  1. Klicken Sie im Project Repository auf Metadata. Klicken Sie mit der rechten Maustaste auf Db Connections und dann auf Create connection.
  2. Geben Sie im „Database Connection“-Assistenten in das dafür vorgesehene Feld den Namen MySql ein und klicken Sie auf Next.
  3. Wählen Sie im Feld „DB type“ MySQL aus.
  4. Geben Sie die Verbindungsparameter ein.
  5. Prüfen Sie die Verbindung, indem Sie auf Check klicken.
  6. Klicken Sie auf Finish, um den Assistenten zu beenden und die Metadaten zu erstellen.
  7. Um alle Tabellenschemas automatisch abzurufen, klicken Sie im Project Repository mit der rechten Maustaste auf die MySql 0.1-Metadaten und dann auf Retrieve Schema.
  8. Klicken Sie auf Next. Die verbundene Datenbank wird angezeigt.
  9. Aktivieren Sie das Kästchen links neben dem Datenbanknamen und klicken Sie auf Next, um alle Tabellen und Ansichten auszuwählen. Die Datenbank sowie alle Tabellen und Informationen dazu werden angezeigt.

Alle Tabellenschemas wurden als Metadaten importiert und können verwendet werden.

Die Tabellen und Ansichten werden unter der „mysql 0.1“-Verbindung im Project Repository angezeigt. Zum Anzeigen eines Felds in der Tabelle einfach auf die Tabelle klicken.

5. Eine Datenbanktabelle mithilfe der Metadaten lesen

  1. Um eine der Tabellen in der Liste zu lesen, ziehen Sie sie einfach in den Job Designer.
  2. Klicken Sie im Components-Fenster auf tMySqlInput und auf OK.
    Die tMysqlInput-Komponente wird mit den Informationen im Repository erstellt. Sie nutzt die „mysql 0.1“-Verbindung und für das Schema greift sie auf die Repository-Informationen in der Metadatentabelle „tdq_values“ zu.

    Talend erzeugt außerdem eine SQL-Abfrage und sendet sie an die Tabelle „tdq_values“.
    .
  3. Zum Anzeigen der Daten fügen Sie die „tLogRow“-Komponente hinzu und verbinden die „Ktdq_values“-Komponente mit der „tLogRow_1“-Komponente.
  4. Klicken Sie in der „Run“-Ansicht auf Run, um den Job auszuführen. Das Ergebnis sind die Daten aus der Tabelle „tdq_values“.