Configurer des tables Apache Iceberg dans BigQuery

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é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 de l'é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 transfert par flux vers des 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 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.
  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 aux ressources 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 de diffusion de données vers des tables Apache Iceberg à l'aide de REST, de Google Cloud CLI ou de Terraform, consultez Gérer les flux à l'aide de l'API.

Étapes suivantes