Apache Iceberg-Tabellen in BigQuery konfigurieren

Mit Datastream können Sie Daten aus Ihren Quellen in Apache Iceberg-Tabellen in BigQuery replizieren. Apache Iceberg-Tabellen bieten dieselbe vollständig verwaltete Umgebung wie Standard-BigQuery-Tabellen, speichern Daten jedoch im Parquet-Format in Ihren eigenen Cloud Storage-Buckets. Mit dieser Einrichtung können Sie Ihre Daten mit BigQuery abfragen und analysieren und gleichzeitig die volle Kontrolle über den zugrunde liegenden Speicher behalten.

Datastream unterstützt das Streaming in Apache Iceberg-Tabellen nur im Schreibmodus „Nur anhängen“. Weitere Informationen finden Sie unter Schreibmodus konfigurieren.

Tabellenmetadaten

Datastream hängt an jede Tabelle, die in das BigQuery-Ziel geschrieben wird, eine STRUCT-Spalte mit dem Namen datastream_metadata an.

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. Dies ist eine interne Sequenznummer, die von Datastream für jedes Änderungsereignis verwendet wird.
  • CHANGE_TYPE: Dieses Feld hat den Datentyp STRING. Er gibt den Typ des Änderungsereignisses an. Für den Nur-Anhängen-Schreibmodus 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. Cloud-Ressourcenverbindung in BigQuery erstellen Informationen zum Erstellen dieser Art von Verbindung finden Sie unter Cloud-Ressourcenverbindung erstellen und einrichten.
  3. Rufen Sie die Kennung 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 Apache Iceberg-Tabellenstreams mit der Google Cloud Console finden Sie unter Stream erstellen.

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

Nächste Schritte