Delta Lake-Tabellen mit dem Dataflow-Job-Builder in ein grenzenloses Lakehouse importieren

Mit dem Dataflow-Job-Builder können Sie Delta Lake-Tabellen aus Cloud Storage über eine Low-Code- oder No-Code-Schnittstelle direkt in Borderless Lakehouse importieren. Dadurch wird die Komplexität umfangreicher Datenmigrationen reduziert. Ein Dataflow-Batchjob mit Autoscaling kopiert Ihre Daten in die Apache Iceberg-Zieltabelle in Lakehouse und erstellt automatisch das Schema für neue Tabellen. Für vorhandene Tabellen ist ein übereinstimmendes Schema erforderlich.

Nachdem Sie Ihre Daten importiert haben, können Sie optional die kontinuierliche Migration aktivieren.

Hinweis

Zum Importieren von Delta Lake-Tabellendaten benötigen Sie Folgendes:

  1. Aktivieren Sie die Dataflow, BigQuery und Lakehouse APIs, falls sie noch nicht aktiviert sind.

    Erforderliche Rollen zum Aktivieren von APIs

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

    APIs aktivieren

  2. Bitten Sie Ihren Administrator, Ihnen die erforderlichen IAM-Rollen (Identity and Access Management) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen der Ressourcen benötigen.

  3. Eine vorhandene Delta Lake-Tabelle, die in einem Cloud Storage-Bucket gespeichert ist. Das Tabellenverzeichnis muss ein gültiges Delta Lake-Tabellenstammverzeichnis sein, das Ihre Parquet-Datendateien und das Transaktionslogverzeichnis _delta_log/ enthält.

  4. Einen Lakehouse Iceberg-Katalog, einen Namespace und eine Tabelle, in die die Daten importiert werden sollen.

Unterstützung und Einschränkungen

Für das Importieren von Delta Lake-Tabellendaten in Lakehouse mit Dataflow gelten die folgenden Einschränkungen:

  • Sie müssen einen Batch-Pipelinejob verwenden, um diese Funktion zu nutzen.
  • Bei vorhandenen Zieltabellen wird das Schema nicht geändert. Das Schema der Zieltabelle muss korrekt dem Schema der Delta Lake-Quelltabelle zugeordnet sein.
  • Die Quelldaten müssen eine gültige Delta Lake-Tabelle sein, die in Cloud Storage gespeichert ist. Das Stammverzeichnis der Tabelle muss die Parquet-Datendateien und das Transaktionsprotokollverzeichnis _delta_log/ (mit JSON- oder Parquet-Protokolldateien) enthalten, wie von Delta Lake erstellt.
  • Amazon S3 wird für Delta Lake-Tabellenquellen nicht unterstützt.

Delta Lake-Tabelle importieren

So importieren Sie eine Delta Lake-Tabelle in Lakehouse:

  1. Rufen Sie in der Google Cloud Console die Seite Lakehouse-Laufzeitkatalog auf.

    Zum Lakehouse-Laufzeitkatalog

  2. Wählen Sie den Katalog, den Namespace und die Tabelle aus, in die Sie Daten importieren möchten.

  3. Klicken Sie auf der Seite Tabellendetails auf Tabelle importieren und wählen Sie dann Aus Delta Lake (Batch) aus.

    Die Dataflow-Seite Job-Builder wird geöffnet und der Blueprint Delta Lake zu Lakehouse wird geladen.

  4. Im Abschnitt Quellen:

    1. Klicken Sie auf den Erweiterungspfeil, um den Quellbereich ReadFromDeltaLake Delta Lake-Tabelle zu maximieren.

    2. Geben Sie im Feld Tabellenpfad den Cloud Storage-URI des Stammverzeichnisses der Delta Lake-Tabelle ein (das Verzeichnis, das die Datendateien und das Verzeichnis _delta_log/ enthält). Beispiel: gs://BUCKET_NAME/tables/TABLE_NAME.

    3. Optional: Konfigurieren Sie im Feld Hadoop-Konfigurationsattribute alle zusätzlichen Hadoop-Konfigurationsattribute, die zum Lesen aus Cloud Storage erforderlich sind. Beispiel: fs.gs.impl=com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem.

    4. Klicken Sie auf Fertig.

  5. Im Abschnitt Senke:

    1. Optional: Sehen Sie sich den Bereich für die WriteToIceberg-Lakehouse-Tabelle-Senke an. Die Informationen in diesem Bereich, z. B. die Lakehouse-Tabelle, der Katalogname und der Warehouse-Standort, sind in der Regel bereits ausgefüllt.

    2. Klicken Sie auf Fertig.

  6. Klicken Sie im Abschnitt Dataflow-Optionen auf Job ausführen.

Wenn Sie die Dataflow-Pipeline, die zum Importieren von Delta Lake-Tabellen verwendet wird, weiter anpassen möchten, können Sie dazu das Job-Builder-Formular oder den YAML-Editor verwenden.

Jobausgabe prüfen

Nachdem der Job abgeschlossen ist, können Sie prüfen, ob die Daten in die Lakehouse-Tabelle kopiert wurden, indem Sie sie in BigQuery abfragen.

  1. Prüfen Sie in der Dataflow-Jobliste, ob der Jobstatus Erfolgreich lautet.

    ZU JOBS

  2. Wenn der Job fehlschlägt oder Fehler auftreten, finden Sie in den Job- oder Worker-Logs weitere Informationen.

  3. Öffnen Sie in der Google Cloud Console die Seite BigQuery Studio.

    BigQuery aufrufen

  4. Geben Sie im Abfrageeditor eine SQL-Abfrage ein, um die Tabelle zu prüfen. Sie können die PROJECT_ID.CATALOG.NAMESPACE.TABLE_NAME-Konvention verwenden, um Folgendes abzufragen:

    SELECT * FROM `PROJECT_ID`.`CATALOG`.`NAMESPACE`.`TABLE_NAME` LIMIT 10;
    
  5. Klicken Sie auf Ausführen.

  6. Prüfen Sie die Abfrageergebnisse, um sicherzustellen, dass die Daten korrekt verarbeitet wurden.

Optional. Kontinuierliche Migration aktivieren

Führen Sie die folgenden Schritte aus, um eine kontinuierliche End-to-End-Migration von Delta Lake zu Lakehouse einzurichten:

  1. Aktivieren Sie das Attribut delta.enableChangeDataFeed für die Delta Lake-Eingabetabelle.
  2. Führen Sie eine erste Tabellenmigration zu einer Commit-ID oder einem Zeitstempel durch, nachdem Sie das Attribut delta.enableChangeDataFeed festgelegt haben.
  3. Führen Sie geplante CDC-Jobs für nachfolgende Daten mit einer Häufigkeit (Commit-ID oder Zeitstempelbereich) aus, die Ihren Arbeitslastanforderungen entspricht.

Weitere Informationen finden Sie unter Delta Lake-CDC-Daten (Change Data Capture) mit Dataflow in Lakehouse migrieren.

Nächste Schritte