Datastream vous permet de répliquer les données de vos sources dans des tables Apache Iceberg dans BigQuery. Les tables Apache Iceberg offrent la même expérience entièrement gérée que les tables BigQuery standards, tout en stockant les données au format Parquet dans vos propres buckets Cloud Storage. Cette configuration vous permet d'interroger et d'analyser vos données à l'aide de BigQuery tout en conservant un contrôle total sur votre stockage sous-jacent.
Datastream n'est compatible avec le streaming vers des tables Apache Iceberg qu'en mode d'écriture "append-only" (ajout uniquement). Pour en savoir plus, consultez Configurer le mode d'écriture.
Métadonnées de table
Datastream ajoute une colonne STRUCT nommée datastream_metadata à chaque table écrite dans la destination BigQuery.
La colonne datastream_metadata contient les champs suivants :
UUID: ce champ est de type de donnéesSTRING.SOURCE_TIMESTAMP: ce champ est de type de donnéesINTEGER.CHANGE_SEQUENCE_NUMBER: ce champ est de type de donnéesSTRING. Il s'agit d'un numéro de séquence interne utilisé par Datastream pour chaque événement de modification.CHANGE_TYPE: ce champ est de type de donnéesSTRING. Il indique le type de l'événement de modification. Pour le mode d'écriture "Ajout uniquement", la valeur estINSERT.SORT_KEYS: ce champ contient un tableau de valeursSTRING. Vous pouvez utiliser les valeurs pour trier les événements de modification.
Configurer le transfert par flux vers des tables Apache Iceberg
Pour configurer votre flux afin d'ingérer des données dans des tables Apache Iceberg :
- Créez un bucket Cloud Storage dans lequel vous souhaitez stocker vos données.
- Créer une connexion aux ressources Cloud dans BigQuery Pour en savoir plus sur la création de ce type de connexion, consultez Créer et configurer une connexion aux ressources Cloud.
Obtenez l'identifiant du compte de service de connexion :
bq show --location=LOCATION --connection --project_id=PROJECT_ID CONNECTION_NAMEAccordez à votre connexion aux ressources Cloud l'accès au bucket Cloud Storage que vous avez créé. Pour ce faire, ajoutez l'autorisation IAM
storage.adminau compte de service de la connexion :gcloud storage buckets add-iam-policy-binding gs://YOUR_GCS_BUCKET \ --member=serviceAccount:YOUR_SERVICE_ACCOUNT_ID \ --role=roles/storage.adminCréez un flux de tables Apache Iceberg.
Pour savoir comment créer un flux de tables Apache Iceberg à l'aide de la console Google Cloud , consultez Créer un flux.
Pour savoir comment créer une requête de diffusion de données vers des tables Apache Iceberg à l'aide de REST, de
Google Cloud CLIou de Terraform, consultez Gérer les flux à l'aide de l'API.
Étapes suivantes
- Pour en savoir plus sur les flux, consultez Cycle de vie des flux.
- Pour savoir comment créer un flux, consultez Créer un flux.
- Pour savoir comment créer un profil de connexion que vous pouvez utiliser avec un flux de tables Apache Iceberg, consultez Créer un profil de connexion pour BigQuery.