Daten mit einem Datenfluss aufnehmen und transformieren

Ein Datenfluss ist ein logisches Diagramm, das den Fluss der Daten von Quelldatenassets, wie einer Datenbank oder Flat File, zu Zieldatenassets darstellt, wie einem Data Lake oder Data Warehouse.

Der Datenfluss von Quelle zu Ziel kann eine Reihe von Transformationen durchlaufen, um die Daten zu aggregieren, zu bereinigen und zu modellieren. Data Engineers und ETL-Entwickler können dann Insights analysieren oder erfassen und diese Daten nutzen, um weitreichende Geschäftsentscheidungen zu treffen.

In diesem Tutorial führen Sie die folgenden Schritte aus:

  1. Erstellen Sie ein Projekt, in dem Sie den Datenfluss speichern können.
  2. Fügen Sie Quelloperatoren hinzu, und wählen Sie die Datenentitys aus, die im Datenfluss verwendet werden sollen.
  3. Verwenden Sie Modellierungsoperatoren, und wenden Sie Transformationen an.
  4. Identifizieren Sie das Zieldatenasset zum Laden der Daten.

Bevor Sie beginnen

Damit Sie Daten mit einem Datenfluss aufnehmen und transformieren können, müssen folgende Voraussetzungen erfüllt sein:

1. Projekt und Datenfluss erstellen

In Oracle Cloud Infrastructure Data Integration können Datenflüsse und Aufgaben nur in einem Projekt oder Ordner erstellt werden.

So erstellen Sie ein Projekt und einen Datenfluss:

  1. Wählen Sie auf der Homepage des Workspace die Option Projekte aus.
    Informationen zum Suchen des Data Integration-Workspace finden Sie unter Workspace erstellen und aufrufen.
  2. Wählen Sie auf der Seite Projekte die Option Projekt erstellen und dann Neu erstellen aus.
  3. Geben Sie auf der Seite Projekt erstellen DI_Lab als Name ein, und wählen Sie dann Erstellen aus.

    Nachdem Sie ein Projekt erstellt haben, erstellen Sie einen Datenfluss, um Daten aus zwei Quelldateien aufzunehmen, die Daten zu Kunden (CUSTOMERS.json) und Aufträgen (REVENUE.csv) enthalten.

  4. Wählen Sie in der Seite mit den Projektdetails für DI_Lab im Untermenü links die Option Datenflüsse aus.
    Wählen Sie auf der Seite Projekte die Option DI_Lab aus, um das Register mit den Projektdetails zu öffnen.
  5. Wählen Sie Datenfluss erstellen aus.

    Der Datenflussdesigner wird in einer neuen Registerkarte geöffnet.

  6. Geben Sie im Bereich Eigenschaften unter Name Load Customers and Revenue Data ein.

    Der Wert für die ID wird automatisch basierend auf dem Wert generiert, den Sie für den Datenflussnamen eingeben. Sie können den generierten Wert ändern. Nachdem Sie den Datenfluss gespeichert haben, dürfen Sie die ID jedoch nicht aktualisieren.

  7. Wählen Sie Erstellen.

    Der Designer bleibt offen, damit Sie mit der Bearbeitung fortfahren können.

2. Quelloperatoren hinzufügen

Sie fügen Quelloperatoren hinzu, um die Datenentitys zu identifizieren, die für den Datenfluss verwendet werden sollen. Eine Datenentity stellt eine Datenbanktabelle in diesem Tutorial dar.

  1. Löschen Sie im Bereich Operatoren den Operator Quelle auf der Leinwand.
  2. Wählen Sie auf der Leinwand SOURCE_1 aus, falls noch nicht ausgewählt.

    Im Bereich Eigenschaften werden die Details für den fokussierten Operator angezeigt.

  3. Klicken Sie auf der Registerkarte Details des Bereichs Eigenschaften neben jeder der folgenden Optionen auf Auswählen, um die Auswahl zu treffen:
    • Wählen Sie unter Datenasset die Option Data_Lake aus.
    • Klicken Sie unter Verbindung auf Standardverbindung.
    • Wählen Sie unter Schema das Compartment und dann den Bucket aus. Im Zusammenhang mit diesem Tutorial dient Object Storage als Quelldatenasset. Daher wählen Sie hier den Bucket aus.
    • Wählen Sie unter Datenentity die Option Nach Namen durchsuchen, und wählen Sie CUSTOMERS.json aus. Wählen Sie unter Dateityp JSON aus.
  4. Wenn Sie die Auswahl für SOURCE_1 abgeschlossen haben, wird der Operatorname entsprechend der Auswahl der Datenentity in CUSTOMERS_JSON geändert. Benennen Sie den Quelloperator im Feld ID in CUSTOMERS um.
  5. Wiederholen Sie die Schritte 1 bis 3, um einen zweiten Quelloperator mit den folgenden Werten hinzuzufügen:
    • Wählen Sie unter Datenasset die Option Data_Lake aus.
    • Klicken Sie unter Verbindung auf Standardverbindung.
    • Wählen Sie unter Schema das Compartment und dann den Bucket aus. Im Zusammenhang mit diesem Tutorial dient Object Storage als Quelldatenasset. Daher wählen Sie hier den Bucket aus.
    • Wählen Sie unter Datenentity die Option REVENUE.csv und dann CSV als Dateityp aus. Übernehmen Sie die Standardwerte für die restlichen Elemente.
  6. Wenn Sie die Auswahl für den zweiten Quelloperator abschließen, wird der Operatorname zu REVENUE_CSV, was die Datenentityauswahl widerspiegelt. Benennen Sie den Quelloperator im Feld ID in REVENUE um.
  7. (Optional) Wählen Sie Parameter zuweisen aus, damit die Quelldetails beim Veröffentlichen des Datenflusses nicht an den kompilierten Code gebunden werden.
  8. (Optional) Auf der Registerkarte Attribute können Sie die Attribute der Datenentity anzeigen und über das entsprechende Menü "Aktionen" (Menü "Aktionen") Ausschluss- oder Umbenennungsregeln auf die Attribute anwenden.
    Sie können auch das Filtersymbol in der Spalte "Name" oder "Typ" verwenden, um einen oder mehrere Filter auf die Attribute anzuwenden, die ausgeschlossen werden sollen.
  9. (Optional) Auf der Registerkarte Daten können Sie ein Sample von Daten aus der Quelldatenentity anzeigen und Transformationen auf die Daten anwenden oder Attribute auswählen, um ein Datenprofil anzuzeigen.
  10. (Optional) Auf der Registerkarte Validierung können Sie die Konfiguration der Quelloperatoren auf Warnungen oder Fehler prüfen.
  11. Um den Datenfluss zu speichern und mit dem Bearbeiten fortzufahren, wählen Sie Speichern aus.

3. Daten filtern und transformieren

Daten filtern

Der Filteroperator erstellt basierend auf einer Bedingung eine Teilmenge von Daten aus einem Upstreamoperator.

  1. Löschen Sie im Bereich Operatoren einen Operator vom Typ Filter auf der Leinwand.
  2. Verbinden Sie REVENUE mit FILTER_1:
    • Setzen Sie den Cursor auf REVENUE.
    • Ziehen Sie den Connector-Kreis neben REVENUE.

      Connector für Operatoren

    • Löschen Sie den Connector-Kreis auf FILTER_1.

      Drag-and-Drop-Aktion zwischen Connectors

  3. Wählen Sie FILTER_1 aus.
  4. Wählen Sie im Bereich Eigenschaften neben Filterbedingung die OptionErstellen aus.
  5. Geben Sie im Bereich Filterbedingung erstellen STA in das Feld Nach Name suchen ein.
  6. Doppelklicken Sie auf ORDER_STATUS, oder löschen Sie sie, um sie dem Filterbedingungseditor hinzuzufügen.
  7. Geben Sie im Bedingungseditor ='1-Booked' ein, sodass die Bedingung wie folgt lautet:

    FILTER_1.REVENUE_CSV.ORDER_STATUS='1-Booked'

    Hinweis

    Um Probleme mit den Anführungszeichen zu vermeiden, dürfen Sie diese nicht kopieren und einfügen.
  8. Wählen Sie Erstellen.
  9. Löschen Sie im Bereich Operatoren den Operator Filter auf der Leinwand, und platzieren Sie ihn nach KUNDEN.
  10. Stellen Sie eine Verbindung zwischen CUSTOMERS und FILTER_2 her:
    • Setzen Sie den Cursor auf CUSTOMERS.
    • Ziehen Sie den Connector-Kreis auf die rechte Seite von CUSTOMERS.
    • Löschen Sie den Connector-Kreis auf FILTER_2.
  11. Wählen Sie im Bereich Eigenschaften für FILTER_2 neben Filterbedingung die Option Erstellen aus.
  12. Geben Sie im Bereich Filterbedingung erstellen COU in das Feld Nach Name suchen ein.
  13. Doppelklicken Sie auf COUNTRY_CODE, um es dem Bedingungseditor hinzuzufügen.
  14. Geben Sie ='US' ein, damit die Bedingung wie folgt lautet:

    FILTER_2.CUSTOMERS_JSON.COUNTRY_CODE='US'

  15. Wählen Sie Erstellen.
  16. Um den Datenfluss zu speichern und mit dem Bearbeiten fortzufahren, wählen Sie Speichern aus.
Daten transformieren

Mit Data Xplorer können Sie ein Datenbeispiel explorieren, Profilingmetadaten prüfen und Transformationen auf der Registerkarte "Daten" des Bereichs "Eigenschaften" anwenden. Für jede angewendete Transformation werden der Leinwand Ausdrucksoperatoren hinzugefügt.

  1. Wählen Sie im Bereich Eigenschaften für FILTER_2 die Registerkarte Daten aus.
    Alle Datenzeilen und Attribute werden angezeigt. Mit der vertikalen Bildlaufleiste können Sie durch die Zeilen scrollen, und mit der horizontalen Bildlaufleiste können Sie durch die Attribute scrollen.
  2. Geben Sie im Feld Nach Muster suchen STATE* ein.
    Die Attribute in der Tabelle werden gefiltert. Nur die Attribute, die dem Muster entsprechen, werden angezeigt.
  3. Wählen Sie das Transformationsmenü (Transformationsmenü) für FILTER_2.CUSTOMERS_JSON.STATE_PROVINCE, und wählen Sie Groß-/Kleinschreibung ändern aus.

    Symbol für Transformationsmenü

  4. Wählen Sie im Dialogfeld Groß-/Kleinschreibung ändern im Menü Typ die Option Upper aus.
  5. Aktivieren Sie nicht das Kontrollkästchen Quellattribute beibehalten.
  6. Behalten Sie den Namen unverändert bei.
  7. Wählen Sie Anwenden aus.

    Dem Datenfluss wird ein Ausdrucksoperator hinzugefügt. Im Bereich Eigenschaften wird jetzt die Registerkarte Details mit den Details des Ausdrucksoperators angezeigt.

    In der Tabelle "Ausdrücke" wird der generierte Ausdruck UPPER(EXPRESSION_1.CUSTOMERS_JSON.STATE_PROVINCE) angezeigt.

  8. Ändern Sie im Bereich Eigenschaften für den Ausdrucksoperator den Namen im Feld ID in CHANGE_CASE.
  9. Wählen Sie die Registerkarte Daten aus, und scrollen Sie mit der horizontalen Bildlaufleiste an das Ende.

    CHANGE_CASE.STATE_PROVINCE wird am Ende des Datasets hinzugefügt. Auf der Registerkarte "Daten" können Sie eine Vorschau der transformierten Daten für CHANGE_CASE.STATE_PROVINCE anzeigen.

  10. Löschen Sie im Bereich Operatoren den Operator Ausdruck auf der Leinwand, und platzieren Sie ihn nach CHANGE_CASE.
  11. Verbinden Sie CHANGE_CASE mit dem neuen Operator EXPRESSION_1.
  12. Wählen Sie im Bereich Eigenschaften für EXPRESSION_1 in der Tabelle "Ausdrücke" die Option Ausdruck hinzufügen aus.
  13. Führen Sie im Bereich Ausdruck hinzufügen folgende Schritte aus:
    1. Benennen Sie den Ausdruck im Feld ID in FULLNAME um.
    2. Behalten Sie den Datentyp VARCHAR bei.
    3. Setzen Sie die Länge auf 200.
    4. Wechseln Sie unter Expression Builder von der Liste "Eingehend" zur Liste Funktionen.
    5. Geben Sie im Feld "Suchen nach Name" CON ein. Suchen Sie dann CONCAT unter String.
    6. Geben Sie CONCAT(CONCAT(EXPRESSION_1.CUSTOMERS_JSON.FIRST_NAME, ' '),EXPRESSION_1.CUSTOMERS_JSON.LAST_NAME) ein.

      Sie können die Platzhalter einer Funktion auch markieren und dann doppelklicken oder Attribute aus der Liste "Eingehend" löschen, um einen Ausdruck zu erstellen.

    7. Klicken Sie auf Hinzufügen.

    Der Ausdruck CONCAT wird jetzt in der Tabelle "Ausdrücke" für den Operator EXPRESSION_1 aufgeführt. Sie können beliebig viele Ausdrücke hinzufügen.

  14. Um den Datenfluss zu speichern und mit dem Bearbeiten fortzufahren, wählen Sie Speichern aus.

4. Daten verknüpfen

Nachdem Sie Filter und Transformationen angewendet haben, können Sie die Quelldatenentitys mit einer eindeutigen Kunden-ID verknüpfen und die Daten dann in eine Zieldatenentity laden.

  1. Um die Daten aus EXPRESSION_1 mit den Daten aus FILTER_1 zu verknüpfen, löschen Sie einen Join-Operator aus dem Bereich Operatoren auf der Leinwand, und platzieren Sie ihn nach EXPRESSION_1 und FILTER_1.
  2. Verbinden Sie EXPRESSION_1 mit JOIN_1. Danach verbinden Sie sich FILTER_1 mit JOIN_1.
  3. Wenn JOIN_1 ausgewählt sind, wählen Sie auf der Registerkarte Details des Bereichs Eigenschaften die Option Erstellen neben Join-Bedingung aus.
  4. Geben Sie im Bereich Join-Bedingung erstellen im Feld "Suchen nach Name" CUST ein.
    Sie möchten die Entitys mit CUST_ID und CUST_KEY verknüpfen.
  5. Geben Sie im Editor JOIN_1_1.CUSTOMERS_JSON.CUST_ID=JOIN_1_2.REVENUE_CSV.CUST_KEY ein.
  6. Wählen Sie Erstellen.
  7. Um den Datenfluss zu speichern und mit dem Bearbeiten fortzufahren, wählen Sie Speichern aus.

5. Zieloperator hinzufügen

  1. Löschen Sie im Bereich Operatoren den Operator Ziel auf der Leinwand.
  2. Stellen Sie eine Verbindung zu JOIN_1 mit TARGET_1 her.
  3. Wählen Sie auf der Leinwand TARGET_1 aus, falls noch nicht ausgewählt.
  4. Aktivieren Sie auf der Registerkarte Details des Bereichs Eigenschaften nicht das Kontrollkästchen Neue Datenentity erstellen.
  5. Klicken Sie anschließend für jede der folgenden Optionen auf Auswählen, um die Auswahl für eine Datenentity zu treffen:
    • Wählen Sie unter Datenasset die Option Data_Warehouse aus.
    • Klicken Sie unter Verbindung auf Standardverbindung.
    • Wählen Sie unter Schema die Option BETA aus.
    • Wählen Sie unter Datenentity die Option CUSTOMERS_TARGET aus.
  6. Wählen Sie unter Staging Area das Datenasset Data Lake, die zugehörige Standardverbindung und das Compartment aus. Wählen Sie dann unter Schema den Object Storage-Bucket aus, den Sie zum Importieren der Beispieldaten verwendet haben.
  7. Übernehmen Sie für die Integrationsstrategie den Wert Einfügen.
  8. Um das Mapping der Attribute zu prüfen, wählen Sie die Registerkarte Zuordnen aus.

    Standardmäßig werden alle Attribute nach Name zugeordnet.

    Beispiel: CUST_ID von JOIN_1 wird CUST_ID in der Zieldatenentity zugeordnet.

  9. Um noch nicht zugeordnete Attribute manuell zuzuordnen, wählen Sie in der Tabelle Zielattribute das Menü Alle aus, und wählen Sie dann Nicht zugeordnete Attribute aus.

    In der Tabelle Quellattribute (für die eingehenden Felder) können Sie genauso vorgehen.

  10. Löschen Sie jetzt FULLNAME von Quellattributen in FULL_NAME in Zielattributen.
  11. Wählen Sie in der Tabelle Zielattribute die Option Nicht zugeordnete Attribute und dann Alle aus.

    Alle Attribute sind jetzt zugeordnet.

  12. (Optional) Wählen Sie Aktionen aus, um die verschiedenen verfügbaren Zuordnungsoptionen zu prüfen.
  13. (Optional) Wählen Sie Regeln anzeigen aus, um die angewendeten Regeln anzuzeigen.
  14. Wenn Sie den Datenfluss speichern und den Designer beenden möchten, wählen Sie Speichern und schließen aus.