Configurer des tables Apache Iceberg dans BigQuery

Cette page explique comment configurer Datastream pour la réplication 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, mais stockent les données dans des buckets Cloud Storage appartenant au client au format de table Apache Iceberg et au format de fichier Parquet. Vous pouvez interroger et analyser des données à l'aide des fonctionnalités BigQuery tout en conservant les données dans vos propres buckets de stockage.

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ées STRING.
  • SOURCE_TIMESTAMP : ce champ est de type de données INTEGER.
  • CHANGE_SEQUENCE_NUMBER : ce champ est de type de données STRING. 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ées STRING. Il indique le type d'événement de modification. Pour le mode d'écriture "ajout uniquement", la valeur est INSERT.
  • SORT_KEYS : ce champ contient un tableau de valeurs STRING. Vous pouvez utiliser les valeurs pour trier les événements de modification.

Configurer le streaming vers les tables Apache Iceberg

Pour configurer votre flux afin d'ingérer des données dans des tables Apache Iceberg :

  1. Créez un bucket Cloud Storage dans lequel vous souhaitez stocker vos données.
  2. créer une connexion à une ressource cloud dans BigQuery ; Pour savoir comment créer ce type de connexion, consultez Créer et configurer une connexion de ressource Cloud.
  3. Obtenez l'identifiant du compte de service de connexion :

    bq show --location=LOCATION --connection --project_id=PROJECT_ID
    CONNECTION_NAME
    
  4. Accordez à votre connexion de ressource Cloud l'accès au bucket Cloud Storage que vous avez créé. Pour ce faire, ajoutez l'autorisation IAM storage.admin au 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.admin
    
  5. Cré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 permettant de diffuser des données dans des tables Apache Iceberg à l'aide de REST, Google Cloud CLI ou Terraform, consultez Gérer les flux à l'aide de l'API.

Étapes suivantes