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

Cette page explique comment mettre à jour et supprimer 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 concernant 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 de sa propre tarification.

Mettre à jour des 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 :

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.

Console

  1. Ouvrez Cloud Console.
  2. Sélectionnez votre ensemble de données dans la liste des ressources.
  3. Cliquez sur Create table (Créer une table).

    Créer un tableau

  4. Dans le champ Create table from (Créer une table à partir de) sélectionnez Upload (Importer).

  5. Dans le champ Select file (Sélectionner un fichier), recherchez et sélectionnez le fichier que vous avez téléchargé.

    Parcourir les fichiers

  6. Dans le champ Format de fichier, sélectionnez JSON (délimité par un retour à la ligne).

  7. Choisissez un nom de table approprié.

  8. Sous Schéma, cliquez sur Ajouter un champ et saisissez un nom pour chaque colonne du tableau, puis 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

UI classique

  1. Ouvrez l'UI Web de 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 Emplacement, 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

CLI

Vous pouvez utiliser l'outil de ligne de commande bq pour créer les tables à l'aide de la commande bq load. Spécifiez l'option --location et définissez la valeur correspondant à votre emplacement. L'option --location est facultative. 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 ...

Pour créer la table DeleteUsers, procédez comme suit :

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

Pour créer la table Users, procédez comme suit :

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

Pour créer la table UserSessions, procédez comme suit :

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

    DELETE FROM sample_db.UserSessions
    WHERE user_id in (SELECT id from sample_db.DeletedUsers)
    
  • Supprimer de Users

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

Étape suivante