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 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 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.
deletedUsersData.json
(télécharger)usersData.json
(télécharger)userSessionsData.json
(télécharger)
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
- Ouvrez la console GCP.
- Sélectionnez votre ensemble de données dans la liste des ressources.
Cliquez sur Create table (Créer une table).
Dans le champ Create table from (Créer une table à partir de) sélectionnez Upload (Importer).
Dans le champ Select file (Sélectionner un fichier), recherchez et sélectionnez le fichier que vous avez téléchargé.
Dans le champ Format de fichier, sélectionnez JSON (délimité par un retour à la ligne).
Choisissez un nom de table approprié.
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.
Cliquez sur Créer une table.
Les schémas des exemples de tables sont les suivants :
- DeletedUsers
- Nom
id
, TypeINTEGER
- Nom
- Users
- Nom
id
, TypeINTEGER
- Nom
date_joined
, TypeTIMESTAMP
- Nom
- UserSessions
- Nom
id
, TypeSTRING
- Nom
user_id
, TypeINTEGER
- Nom
login_time
, TypeTIMESTAMP
- Nom
logout_time
, TypeTIMESTAMP
- Nom
ip_address
, TypeSTRING
- Nom
UI classique
- Ouvrez l'UI Web de BigQuery.
- Passez la souris sur l'ID de votre ensemble de données.
- Cliquez sur la flèche (
) située à côté de l'ID de votre ensemble de données.
- Cliquez sur Créer une table.
- Dans le champ Emplacement, sélectionnez Importation de fichier.
- Dans le champ Format de fichier, sélectionnez JSON (délimité par un retour à la ligne).
- Choisissez le Nom de la table.
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.
Cliquez sur Créer une table.
Les schémas des exemples de tables sont les suivants :
- DeletedUsers
- Nom
id
, TypeINTEGER
- Nom
- Users
- Nom
id
, TypeINTEGER
- Nom
date_joined
, TypeTIMESTAMP
- Nom
- UserSessions
- Nom
id
, TypeSTRING
- Nom
user_id
, TypeINTEGER
- Nom
login_time
, TypeTIMESTAMP
- Nom
logout_time
, TypeTIMESTAMP
- Nom
ip_address
, TypeSTRING
- Nom
CLI
Vous pouvez utiliser l'outil de ligne de commande bq pour créer les tables à l'aide de la commande bq load
. Saisissez l'indicateur --location
, puis définissez la valeur correspondant à votre zone. L'indicateur --location
est facultatif. 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
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
- Consultez la page de référence sur le langage LMD.
- Reportez-vous à la page relative à la syntaxe LMD pour en savoir plus sur la syntaxe LMD et découvrir des exemples.