Eine Datei lesen

Die Datenbeschaffung – egal ob aus einer Datenbank oder aus einer Datei – ist einer der grundlegendsten und wichtigsten Aspekte der DatenintegrationTalend Open Studio for Data Integration unterstützt Sie mit einer Vielzahl von Komponenten beim Zugriff auf Ihre Daten, egal ob diese in Datenbanken oder in Dateien vorliegen. Talend Open Studio for Data Integration unterstützt Datenbankverbindungen sowie einfache und komplexe Dateiformate.  In diesem Tutorial erfahren Sie, wie einfach Sie auf die Daten in einer kommagetrennten Datei zugreifen können. 

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

1. Einen neuen Job erstellen

  1. Wählen Sie die Ansicht Integration aus.
  2. Klicken Sie im Project Repository mit der rechten Maustaste auf Job Designs und wählen Sie im Menü Create Standard Job aus.
  3. Geben Sie im Feld „Name“ des Assistenten den Namen readCSVFile für den Job ein.
  4. Alternativ können Sie auch einen Zweck (Purpose) und eine Beschreibung (Description) eingeben. Klicken Sie dann auf „Finish“, um den Job zu erstellen.

Im Job Designer wird ein leerer Job geöffnet.

2. Eine tFileInputDelimited-Komponente hinzufügen

3. Die Komponente „tFileInputDelimited_1“ konfigurieren

  1. Klicken Sie im Job Designer auf tFileInputDelimited_1.
  2. Die „Basic Settings“ der Komponente werden in der Component-Ansicht festgelegt. Klicken Sie auf Component.
    In „Property Type“ legen Sie fest, wie die Datenquelle gelesen wird.
    „File Name/Stream“ enthält den vollständigen Input- oder Outputdateipfad. Sie können den Pfad entweder manuell eingeben oder auf das Dreipunkt-Symbol [..] klicken und den Pfad auswählen.
    In den Feldern „Row Separator“ und „Field Separator“ geben Sie die Trennzeichen für Zeilen und Felder an.
    In „Header“ und „Footer“ wird angegeben, wie viele Zeilen in der Datei ignoriert werden sollen.
    „Limit“ gibt an, wie viele Zeilen in der Datei maximal gelesen werden sollen.
    „Schema“ beschreibt die Datenstruktur der Datei.
  3. Um Pfad und Namen der Datei anzugeben, die gelesen werden soll, klicken Sie neben dem Feld „File Name“ auf [...], wählen Sie die Datei auf der Festplatte aus, und klicken Sie auf Open.

4. Das Schema für die Komponente „tFileInputDelimited_1“ definieren

  1. Klicken Sie neben dem Feld „Edit schema“ auf [...], um das Schema für die Komponente „tFileInputDelimited_1“ zu definieren.

    Der Assistent mit dem Schema von „tFileInputDelimited_1“ wird geöffnet.

    Mit der Schaltfläche [+] fügen Sie eine Spalte ein.
    Mit der Schaltfläche [x] entfernen Sie ausgewählte Elemente aus dem Schema-Assistenten.
    Mit den Schaltflächen [↑] und [↓] verschieben Sie die Auswahl im Assistenten nach oben oder unten.
    .
  2. Klicken Sie im Schema-Assistenten auf das [+]-Symbol, um eine Spalte einzufügen.
  3. Geben Sie unter „Column“ den Feldnamen movieID ein.
  4. Kennzeichnen Sie das Feld als Schlüssel, indem Sie Key aktivieren.
  5. Klicken Sie unter „Type“ auf Integer.
  6. Deaktivieren Sie die Spalte Nullable, damit Nullwerte für diese Spalte verworfen werden.
  7. Geben Sie unter „Length“ den Wert 4 ein.
  8. Wiederholen Sie die Schritte b bis g für jedes weitere Feld in der CSV-Datei.
  9. Klicken Sie auf OK, um den Schema-Assistenten zu schließen.

5. Die Logging-Komponente hinzufügen und die Daten verteilen

  1. Fügen Sie dem Job eine tLogRow-Komponente hinzu. Diese Komponente zeigt alle Datenzeilen, die sie empfängt, in der Konsole an.
  2. Um Daten von der Komponente „tFileInputDelimited_1“ in die Komponente „tLogRow_1“ zu übertragen, klicken Sie im Job Designer mit der rechten Maustaste auf tFileInputDelimited_1. Anschließend ziehen Sie eine Verbindung auf tLogRow_1.

Alternativ: Klicken Sie mit der rechten Maustaste auf die Quellkomponente und wählen Sie Row > Main aus, um die beiden Komponenten zu verbinden.

6. Job ausführen

Klicken Sie in der Run-Ansicht des Jobs „readCSVFile“ auf Run.

Die Datei wird von der „tFileInputDelimited“-Komponente gelesen und ihre Inhalte werden von der „tLogRow“-Komponente in der Konsole ausgegeben.