Mettre à jour des données de table à l'aide du langage de manipulation de données

Cette page présente la mise à jour et la suppression des données dans les tables BigQuery à l'aide du LMD. Elle ne couvre pas l'ajout de lignes aux tables existantes avec le LMD. Pour plus d'informations à ce sujet, consultez l'instruction INSERT dans la documentation de référence relative à la syntaxe LMD.

Notez que le LMD de BigQuery présente quelques limites et des problèmes connus. Le LMD dispose également de ses propres quotas et prix.

Mettre à jour les données

Suivez les instructions ci-dessous en utilisant cet exemple de fichier. Il présente une table comportant une colonne d'adresses IP que vous souhaitez masquer pour l'anonymisation :

Les étapes suivantes permettent de charger les exemples de données dans une table et de mettre à jour les valeurs de la colonne ip_address :

Étape 1 : Chargez le fichier JSON dans une table UserSessions.

Étape 2 : Pour masquer le dernier octet de la colonne ip_address de chaque ligne, exécutez la requête LMD ci-dessous.

#standardSQL
UPDATE sample_db.UserSessions
SET ip_address = REGEXP_REPLACE(ip_address, r"(\.[0-9]+)$", ".0")
WHERE TRUE

Supprimer des données

Suivez les instructions ci-dessous en utilisant les exemples de fichiers. Ils présentent un ensemble de données comportant plusieurs tables de données analytiques concernant les sessions d'utilisateur et une table d'utilisateurs à supprimer.

Les étapes suivantes permettent de charger les données dans trois tables, puis de supprimer les utilisateurs répertoriés dans la table DeletedUsers.

Étape 1 : Chargez les fichiers JSON dans les tables DeletedUsers, Users et UserSessions.

UI Web

  1. Ouvrez l'UI Web Google BigQuery.
  2. Passez la souris sur l'ID de votre ensemble de données.
  3. Cliquez sur la flèche (Flèche à côté du nom de l'ensemble de données) située à côté de l'ID de votre ensemble de données.
  4. Cliquez sur Créer une table.
  5. Dans le champ Zone, sélectionnez Importation de fichier.
  6. Dans le champ Format de fichier, sélectionnez JSON (délimité par un retour à la ligne).
  7. Choisissez le Nom de la table.
  8. Sous Schéma, saisissez un Nom pour chaque colonne de la table et sélectionnez le Type approprié.

    • Cliquez sur Ajouter un champ, et continuez jusqu'à ce que vous ayez saisi toutes les colonnes de votre table.
  9. Cliquez sur Créer une table.

Les schémas des exemples de tables sont les suivants :

  • DeletedUsers
    • Nom id, Type INTEGER
  • Users
    • Nom id, Type INTEGER
    • Nom date_joined, Type TIMESTAMP
  • UserSessions
    • Nom id, Type STRING
    • Nom user_id, Type INTEGER
    • Nom login_time, Type TIMESTAMP
    • Nom logout_time, Type TIMESTAMP
    • Nom ip_address, Type STRING

Ligne de commande

Vous pouvez utiliser l'outil de ligne de commande bq pour créer les tables à l'aide de la commande bq load. Saisissez le paramètre --location, puis définissez la valeur correspondant à votre zone. Le paramètre --location est facultatif, si vos données se trouvent dans la zone multirégionale US ou EU. Par exemple, si vous utilisez BigQuery dans la région asia-northeast1 (Tokyo), la commande de charge se présentera comme suit :

bq --location=asia-northeast1 load ...

Créer la table DeleteUsers

bq --location=asia-northeast1 load --source_format=NEWLINE_DELIMITED_JSON \
    sample_db.DeletedUsers \
    deletedUsersData.json \
    id:integer

Créer la table Users

bq --location=asia-northeast1 load --source_format=NEWLINE_DELIMITED_JSON \
    sample_db.Users \
    usersData.json \
    id:integer,date_joined:timestamp

Créer la table UserSessions

bq --location=asia-northeast1 load --source_format=NEWLINE_DELIMITED_JSON \
    sample_db.UserSessions \
    userSessionsData.json \
    id:string,user_id:integer,login_time:timestamp,logout_time:timestamp,ip_address:string

Étape 2 : Pour supprimer les informations sur les utilisateurs dans la table DeletedUsers, exécutez les requêtes LMD ci-dessous.

  • Supprimer de UsersSessions

    #standardSQL
    DELETE FROM sample_db.UserSessions
    WHERE user_id in (SELECT id from sample_db.DeletedUsers)
    

  • Supprimer de Users

    #standardSQL
    DELETE FROM sample_db.Users
    WHERE id in (SELECT id from sample_db.DeletedUsers)
    

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…