Apache Iceberg-Tabellen in BigQuery konfigurieren

Auf dieser Seite wird beschrieben, wie Sie Datastream für die Replikation in Apache Iceberg-Tabellen in BigQuery konfigurieren.

Apache Iceberg-Tabellen bieten dieselbe vollständig verwaltete Erfahrung wie Standard-BigQuery-Tabellen, speichern Daten aber in kundeneigenen Cloud Storage-Buckets im Apache Iceberg-Tabellenformat und Parquet-Dateiformat. Sie können Daten mit BigQuery-Funktionen abfragen und analysieren, während die Daten in Ihren eigenen Speicher-Buckets verbleiben.

Tabellenmetadaten

Datastream fügt jeder Tabelle, die in das BigQuery-Ziel geschrieben wird, eine STRUCT-Spalte mit dem Namen datastream_metadata hinzu.

Die Spalte datastream_metadata enthält die folgenden Felder:

  • UUID: Dieses Feld hat den Datentyp STRING.
  • SOURCE_TIMESTAMP: Dieses Feld hat den Datentyp INTEGER.
  • CHANGE_SEQUENCE_NUMBER: Dieses Feld hat den Datentyp STRING. Es ist eine interne Sequenznummer, die von Datastream für jedes Änderungsereignis verwendet wird.
  • CHANGE_TYPE: Dieses Feld hat den Datentyp STRING. Es gibt den Typ des Änderungsereignisses an. Im Schreibmodus „Nur anhängen“ ist der Wert INSERT.
  • SORT_KEYS: Dieses Feld enthält ein Array von STRING-Werten. Sie können die Werte verwenden, um die Änderungsereignisse zu sortieren.

Streaming in Apache Iceberg-Tabellen konfigurieren

So richten Sie den Stream zum Aufnehmen von Daten in Apache Iceberg-Tabellen ein:

  1. Erstellen Sie einen Cloud Storage-Bucket, in dem Sie Ihre Daten speichern möchten.
  2. Erstellen Sie eine Cloud-Ressourcenverbindung in BigQuery. Informationen zum Erstellen dieser Art von Verbindung finden Sie unter Cloud-Ressourcenverbindung erstellen und einrichten.
  3. Rufen Sie die ID des Dienstkontos der Verbindung ab:

    bq show --location=LOCATION --connection --project_id=PROJECT_ID
    CONNECTION_NAME
    
  4. Gewähren Sie der Cloud-Ressourcenverbindung Zugriff auf den erstellten Cloud Storage-Bucket. Fügen Sie dazu dem Dienstkonto der Verbindung die IAM-Berechtigung storage.admin hinzu:

    gcloud storage buckets add-iam-policy-binding gs://YOUR_GCS_BUCKET \
    --member=serviceAccount:YOUR_SERVICE_ACCOUNT_ID \
    --role=roles/storage.admin
    
  5. Erstellen Sie einen Stream für Apache Iceberg-Tabellen.

    Informationen zum Erstellen eines Streams für Apache Iceberg-Tabellen über die Google Cloud Konsole finden Sie unter Stream erstellen.

    Informationen zum Erstellen einer Anfrage zum Streamen von Daten in Apache Iceberg-Tabellen mit REST, Google Cloud CLI oder Terraform finden Sie unter Streams mit der API verwalten.

Nächste Schritte