Sie können einen Dataflow-Job-Builder-Blueprint verwenden, um vorhandene Apache Parquet-Dateien aus cloudbasiertem Speicher (Cloud Storage, Amazon S3 oder Azure Blob Storage) einer Apache Iceberg-Tabelle in einem grenzenlosen Lakehouse hinzuzufügen.
Bei diesem Prozess wird die IcebergAddFiles-Transformation verwendet.
Wenn sich Ihre Parquet-Dateien in Cloud Storage befinden, werden die Dateien mit dieser Transformation im 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 für schnellere Abfragen über Lakehouse in Cloud Storage kopiert und dann registriert.
Verwenden Sie die folgenden Verbindungsdetails, um Parquet-Dateien aus cloudbasiertem Speicher zu einer Apache Iceberg-Tabelle in Lakehouse hinzuzufügen.
Hinweis
Aktivieren Sie die Dataflow-, BigQuery- und Lakehouse-APIs.
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.
Lakehouse-Katalog, Namespace und Tabelle erstellen, in die Daten importiert werden sollen
Erstellen Sie einen cloudbasierten Speicher-Bucket (Cloud Storage, Amazon S3 oder Azure Blob Storage) und laden Sie Ihre Parquet-Dateien in den Bucket hoch.
Wenn der cloudbasierte Speicher-Bucket, den Sie verwenden, nicht Cloud Storage von Google ist, erstellen Sie einen Cloud Storage-Bucket zum Speichern Ihrer Job-Fehlerlogs.
Unterstützung und Einschränkungen
Beim Importieren von Parquet-Dateien in cloudbasierten 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 dem cloudbasierten Speicher in eine Iceberg-Tabelle in Lakehouse zu importieren. Verwenden Sie dazu die Dataflow-Job-Builder-UI.
Rufen Sie in der Google Cloud Console die Seite Lakehouse auf.
Wählen Sie den Katalog, den Namespace und die Tabelle aus, in die Sie Daten importieren möchten.
Klicken Sie auf der Seite Tabellendetails auf Tabelle importieren und wählen Sie dann Aus Apache Parquet-Dateien (Batch) aus.
Die Dataflow-Seite Job Builder wird geöffnet.
Im Abschnitt Quellen:
Öffnen Sie den bereits erstellten Quelleneintrag CreateGlobalInput.
Geben Sie im Editorbereich YAML-Quellkonfiguration einen oder mehrere Pfade zu Ihren Parquet-Dateien in der Sequenz
elementsein.Um die Effizienz des Imports zu verbessern, können Sie mehrere Dateigruppen (Globs) angeben, 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/*.parquetKlicken Sie auf Fertig.
Im Bereich Transformationen:
Klicken Sie auf den Transformationsabschnitt IcebergAddFiles, um ihn zu öffnen.
Geben Sie im Feld Iceberg-Tabelle den Namespace und den Tabellennamen ein. Beispiel: NAMESPACE .TABLE_NAME .
Konfigurieren Sie unter Katalogeigenschaften die folgenden Elemente:
warehouse: Der Cloud Storage-Speicherort Ihres Katalogs. Beispiel:
gs://CATALOG_PATH.header.x-goog-user-project: Ihre Google Cloud Projekt-ID:PROJECT_ID.
Klicken Sie auf Fertig.
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. Das ist nicht erforderlich, wenn sich Ihre Dateien bereits in Cloud Storage befinden.
Klicken Sie auf den Transformationsabschnitt CopyFilesToGCS, um ihn zu öffnen.
Legen Sie den Wert des Konfigurationsparameters gcs_file_path fest, um den vollständig qualifizierten Cloud Storage-Bucket anzugeben, in den temporäre Dateien kopiert werden sollen. Wir empfehlen, denselben Cloud Storage-Bucket wie für das Lakehouse-Data Warehouse zu verwenden.
Klicken Sie auf Fertig.
Klicken Sie auf den Abschnitt Dataflow-Optionen, um ihn zu öffnen.
Wenn sich Ihre Parquet-Dateien in Amazon S3 befinden, klicken Sie auf Zusätzliche Pipeline-Optionen hinzufügen, um Apache Beam Pipeline-Optionen für S3 bereitzustellen. Beispiele: s3_region_name, s3_access_key_id, s3_secret_access_key und die entsprechenden Werte.
Wenn sich Ihre Parquet-Dateien in Azure Blob Storage befinden, klicken Sie auf Zusätzliche Pipeline-Optionen hinzufügen, um Azure-bezogene Apache Beam-Pipeline-Optionen anzugeben. Beispiele: azure_connection_string, blob_service_endpoint, azure_managed_identity_client_id und die entsprechenden Werte.
Im Abschnitt Sinks:
Klicken Sie auf den Sink Write results (Ergebnisse schreiben), um ihn zu öffnen.
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.jsonKlicken Sie auf Fertig.
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üssen, können Sie das über das Job-Builder-Formular oder den 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.
Prüfen Sie in der Dataflow-Jobliste, ob der Jobstatus Erfolgreich lautet.
Wenn der Job fehlschlägt oder Fehler auftreten, sehen Sie sich die JSON-Fehlerlogdatei in Cloud Storage an, um weitere Informationen zu erhalten.
Rufen Sie in der Google Cloud Console die Seite BigQuery Studio auf.
Geben Sie im Abfrageeditor eine SQL-Abfrage ein, um die Tabelle zu untersuchen. Sie können die
PROJECT_ID.CATALOG.NAMESPACE.TABLE_NAME-Konvention für Abfragen verwenden.SELECT * FROM `PROJECT_ID.CATALOG.NAMESPACE.TABLE_NAME` LIMIT 10Klicken Sie auf Ausführen.
Prüfen Sie die Abfrageergebnisse, um sicherzustellen, dass die Daten korrekt verarbeitet wurden.
Nächste Schritte
- Weitere Informationen zum Lakehouse-Laufzeitkatalog
- Weitere Informationen zur Benutzeroberfläche des Dataflow-Job-Builders