Parquet-Dateien mit Dataflow aus dem Speicher in ein grenzenloses Lakehouse importieren

Mit einer Dataflow-Job-Builder-Blaupause können Sie vorhandene Apache Parquet-Dateien aus cloudbasiertem Speicher (Cloud Storage, Amazon S3 oder Azure Blob Storage) einer Apache Iceberg-Tabelle in einem grenzenlosen Lakehouse hinzufügen.

Bei diesem Vorgang wird die IcebergAddFiles Transformation verwendet. Wenn sich Ihre Parquet-Dateien in Cloud Storage befinden, werden sie durch diese Transformation in Lakehouse registriert, ohne dass die zugrunde liegenden Daten verschoben oder neu geschrieben werden. Wenn sich Ihre Dateien in einem externen Speichersystem wie Amazon S3 befinden, werden sie zur schnelleren Abfrage über Lakehouse in Cloud Storage kopiert und dann registriert.

Verwenden Sie die folgenden Verbindungsdetails, um Parquet-Dateien aus cloudbasiertem Speicher einer Apache Iceberg-Tabelle in Lakehouse hinzuzufügen.

Hinweis

  1. Aktivieren Sie die Dataflow, BigQuery und Lakehouse APIs.

  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. Erstellen Sie einen Lakehouse-Katalog, einen Namespace und eine Tabelle, in die Sie Daten importieren möchten.

  4. Erstellen Sie einen cloudbasierten Speicher-Bucket (Cloud Storage, Amazon S3 oder Azure Blob Storage) und laden Sie Ihre Parquet-Dateien in den Bucket hoch.

  5. Wenn der von Ihnen verwendete cloudbasierte Speicher-Bucket nicht Cloud Storage von Google ist, erstellen Sie einen Cloud Storage-Bucket, in dem Sie Ihre Jobfehlerlogs speichern können.

Unterstützung und Einschränkungen

Beim Importieren von Parquet-Dateien in cloudbasiertem Speicher in Lakehouse mit Dataflow gelten die folgenden Einschränkungen:

  • Die Quelldaten müssen im Apache Parquet-Format vorliegen und in Cloud Storage, Amazon S3 oder Azure Blob Storage gespeichert sein.
  • Diese Funktion unterstützt nur Batchpipelines.

Parquet-Dateien in Lakehouse importieren

Führen Sie die folgenden Schritte aus, um Parquet-Dateien aus cloudbasiertem Speicher mit der Dataflow-Job-Builder-UI in eine Iceberg-Tabelle in Lakehouse zu importieren.

  1. Öffnen Sie in der Google Cloud Console die Seite Lakehouse.

    Lakehouse aufrufen

  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 Apache Parquet-Dateien (Batch) aus.

    Die Seite Job-Builder von Dataflow wird geöffnet.

  4. Im Abschnitt Quellen:

    1. Öffnen Sie den bereits erstellten Quelleneintrag CreateGlobalInput.

    2. Geben Sie im Editorbereich YAML-Quellkonfiguration einen oder mehrere Pfade zu Ihren Parquet-Dateien in der Sequenz elements ein.

      Um die Importeffizienz zu verbessern, geben Sie mehrere Dateisätze (Globs) an, wenn Sie eine große Anzahl von Dateien registrieren. Beispiel:

      reshuffle: true
      elements:
        -   gs://BUCKET_NAME/restaurant-data/2023/*.parquet
        -   gs://BUCKET_NAME/restaurant-data/2024/*.parquet
      
    3. Klicken Sie auf Fertig.

  5. Im Abschnitt Transformationen:

    1. Klicken Sie auf den Transformationsabschnitt IcebergAddFiles , um ihn zu öffnen.

    2. Geben Sie im Feld Iceberg-Tabelle den Namespace und den Tabellennamen ein. Beispiel: NAMESPACE .TABLE_NAME .

    3. Konfigurieren Sie unter Katalog eigenschaften die folgenden Elemente:

      1. warehouse: Der Cloud Storage-Speicherort Ihres Katalogs. Beispiel: gs://CATALOG_PATH.

      2. header.x-goog-user-project: Ihre Google Cloud Projekt-ID: PROJECT_ID.

      3. Klicken Sie auf Fertig.

    4. Wenn Sie von Amazon S3 oder Azure Blob Storage migrieren, müssen Sie zusätzliche Konfigurationen angeben, um Parquet-Dateien in Cloud Storage zu kopieren. Dies ist nicht erforderlich, wenn sich Ihre Dateien bereits in Cloud Storage befinden.

      1. Klicken Sie auf den Transformationsabschnitt CopyFilesToGCS , um ihn zu öffnen.

      2. Legen Sie den Wert des Konfigurationsparameters gcs_file_path fest, um den voll qualifizierten Cloud Storage-Bucket anzugeben, in den temporäre Dateien kopiert werden sollen. Wir empfehlen, denselben Cloud Storage-Bucket zu verwenden, der auch vom Lakehouse-Warehouse verwendet wird.

      3. Klicken Sie auf Fertig.

      1 Klicken Sie auf den Abschnitt Dataflow-Optionen , um ihn zu öffnen.

      1. Wenn sich Ihre Parquet-Dateien in Amazon S3 befinden, klicken Sie auf Zusätzliche Pipelineoptionen hinzufügen, um Apache Beam Pipelineoptionen für S3anzugeben. Beispiel: s3_region_name, s3_access_key_id, s3_secret_access_key und die entsprechenden Werte.

      2. Wenn sich Ihre Parquet-Dateien in Azure Blob Storage befinden, klicken Sie auf Zusätzliche Pipelineoptionen hinzufügen , um Apache Beam Pipelineoptionen für Azure anzugeben. Beispiel: azure_connection_string, blob_service_endpoint, azure_managed_identity_client_id und die entsprechenden Werte.

  6. Im Abschnitt Senken:

    1. Klicken Sie auf die Senke Ergebnisse schreiben , um sie zu öffnen.

    2. Geben Sie im Feld JSON-Speicherort den Cloud Storage-Speicherort und den Dateinamen an, in die Fehlerergebnisse geschrieben werden sollen. Beispiel:

      gs://BUCKET_NAME/errors/errors.json
      
    3. Klicken Sie auf Fertig.

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

Wenn Sie die Dataflow-Pipeline, die zum Registrieren von Parquet-Dateien verwendet wird, weiter anpassen möchten, können Sie das mit dem Job-Builder-Formular oder dem YAML-Editor tun.

Jobausgabe prüfen

Nach Abschluss des Jobs können Sie prüfen, ob die Daten in der Iceberg-Tabelle registriert wurden, indem Sie sie in BigQuery abfragen.

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

    Jobs aufrufen

  2. Wenn der Job fehlschlägt oder Fehler aufweist, finden Sie weitere Informationen in der JSON-Fehlerlogdatei in Cloud Storage.

    Buckets aufrufen

  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 Konvention PROJECT_ID.CATALOG>NAMESPACE.TABLE_NAME verwenden, um eine Abfrage auszuführen.

    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.

Nächste Schritte