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 DatentypSTRING.SOURCE_TIMESTAMP: Dieses Feld hat den DatentypINTEGER.CHANGE_SEQUENCE_NUMBER: Dieses Feld hat den DatentypSTRING. Dies ist eine interne Sequenznummer, die von Datastream für jedes Änderungsereignis verwendet wird.CHANGE_TYPE: Dieses Feld hat den DatentypSTRING. Er gibt den Typ des Änderungsereignisses an. Für den Nur-Anhängen-Schreibmodus ist der WertINSERT.SORT_KEYS: Dieses Feld enthält ein Array vonSTRING-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:
- Erstellen Sie einen Cloud Storage-Bucket, in dem Sie Ihre Daten speichern möchten.
- Cloud-Ressourcenverbindung in BigQuery erstellen Informationen zum Erstellen dieser Art von Verbindung finden Sie unter Cloud-Ressourcenverbindung erstellen und einrichten.
Rufen Sie die Kennung des Dienstkontos der Verbindung ab:
bq show --location=LOCATION --connection --project_id=PROJECT_ID CONNECTION_NAMEGewähren Sie der Cloud-Ressourcenverbindung Zugriff auf den erstellten Cloud Storage-Bucket. Fügen Sie dazu dem Dienstkonto der Verbindung die IAM-Berechtigung
storage.adminhinzu:gcloud storage buckets add-iam-policy-binding gs://YOUR_GCS_BUCKET \ --member=serviceAccount:YOUR_SERVICE_ACCOUNT_ID \ --role=roles/storage.adminErstellen 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 CLIoder Terraform finden Sie unter Streams mit der API verwalten.
Nächste Schritte
- Weitere Informationen zu Streams finden Sie unter Stream-Lebenszyklus.
- Informationen zum Erstellen eines Streams finden Sie unter Stream erstellen.
- Informationen zum Erstellen eines Verbindungsprofils, das Sie mit einem Apache Iceberg-Tabellenstream verwenden können, finden Sie unter Verbindungsprofil für BigQuery erstellen.