Documentation de référence de l'outil de ligne de commande bq
Ce document décrit la syntaxe, les commandes, les options et les arguments de bq
, l'outil de ligne de commande BigQuery.
Il est destiné aux utilisateurs qui connaissent bien BigQuery, mais qui souhaitent savoir comment utiliser une commande spécifique de l'outil de ligne de commande bq.
Pour obtenir des informations générales sur l'utilisation de l'outil de ligne de commande bq, consultez la page Utiliser l'outil de ligne de commande bq.
Synopsis
L'outil de ligne de commande bq utilise le format suivant :
bq COMMAND [FLAGS] [ARGUMENTS]
Certaines options peuvent être utilisées avec plusieurs commandes de l'outil de ligne de commande bq. Ces options sont décrites dans la section Options globales.
Les autres options sont spécifiques à une commande. Elles ne peuvent être utilisées qu'avec une commande spécifique de l'outil de ligne de commande bq. Les options propres à chaque commande sont décrites dans la section consacrée à chacune des commandes.
Options booléennes
Certaines options de l'outil de ligne de commande bq sont booléennes : vous pouvez définir la valeur de cette option sur true
ou false
.
L'outil de ligne de commande bq accepte les formats suivants pour définir des options booléennes.
Valeur | Format | Exemple |
---|---|---|
true |
--FLAGNAME=true |
--debug_mode=true |
true |
--FLAGNAME |
--debug_mode |
false |
--FLAGNAME=false |
--debug_mode=false |
false |
--noFLAGNAME |
--nodebug_mode |
Ce document utilise le format --FLAGNAME=VALUE
pour les options booléennes.
Toutes les options booléennes sont facultatives. Si aucune option booléenne n'est présente, BigQuery utilise la valeur par défaut de l'option.
Spécifier des valeurs pour les options
Lorsque vous spécifiez une valeur pour une option, le signe égal (=
) est facultatif. Par exemple, les deux commandes suivantes sont équivalentes :
bq ls --format prettyjson myDataset bq ls --format=prettyjson myDataset
Pour plus de clarté, ce document utilise le signe égal.
Aide en ligne
La documentation est disponible dans l'outil de ligne de commande bq, en procédant comme suit :
Description | Format des commandes d'aide | Exemple |
---|---|---|
Liste de toutes les commandes avec exemples | bq help |
bq help |
Description des options globales | bq --help |
bq --help |
Description d'une commande particulière | bq help COMMAND |
bq help mk |
Spécification des ressources
Le format de spécification d'une ressource dépend du contexte. Dans certains cas, le séparateur entre le projet et l'ensemble de données est le deux-points (:
) et, dans certains cas, le point (.
). Le tableau suivant explique comment spécifier une table BigQuery dans différents contextes.
Contexte | Format | Exemple |
---|---|---|
Outil de ligne de commande bq | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
Requête GoogleSQL | PROJECT.DATASET.TABLE |
myProject.myDataset.myTable |
Requête en ancien SQL | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
Si vous ne spécifiez pas de projet, BigQuery utilise le projet en cours. Par exemple, si le projet actuel est myProject
, BigQuery interprète myDataset.myTable
comme myProject:myDataset.myTable
(ou myProject.myDataset.myTable
).
Certains identifiants de ressources doivent être placés entre deux symboles d'accent grave (`
). Si l'identifiant de la ressource commence par une lettre ou un trait de soulignement et ne contient que des caractères tels que des lettres, des chiffres et des traits de soulignement, vous n'avez pas besoin des accents graves. Toutefois, si votre identifiant de ressource contient d'autres types de caractères ou des mots clés réservés, vous devez placer l'identifiant entre deux symboles d'accent grave (ou la partie de l'identifiant avec les caractères spéciaux ou les mots clés réservés). Pour en savoir plus, consultez la section Identifiants.
Options globales
Vous pouvez utiliser les options suivantes avec n'importe quelle commande bq
, le cas échéant :
--api=ENDPOINT
- Spécifie le point de terminaison de l'API à appeler. La valeur par défaut est
https://www.googleapis.com
. --api_version=VERSION
- Spécifie la version de l'API à utiliser. La valeur par défaut est
v2
. --apilog=FILE
Consigne toutes les requêtes et réponses de l'API dans le fichier spécifié par
FILE
Les valeurs possibles sont les suivantes :- le chemin d'accès à un fichier au sein du fichier spécifié
stdout
: journaux affichés dans la sortie standardstderr
: journaux affichés en erreur standardfalse
: les requêtes et les réponses de l'API ne sont pas consignées (par défaut)
--bigqueryrc=PATH
Indique le chemin d'accès au fichier de configuration de l'outil de ligne de commande bq. Si vous ne spécifiez pas l'option
--bigqueryrc
, la commande utilise la variable d'environnementBIGQUERYRC
. Si la variable d'environnement n'est pas définie,$HOME/.bigqueryrc
est utilisé. Si ce fichier n'existe pas, la valeur~/.bigqueryrc
est utilisée. Pour plus d'informations, consultez la section Définir des valeurs par défaut pour les options de ligne de commande.--ca_certificates_file=PATH
Indique l'emplacement de votre fichier de Certificate Authority Service (CA).
--dataset_id=DATASET_ID
Spécifie l'ensemble de données par défaut à utiliser avec la commande. Cette option est ignorée lorsqu'elle n'est pas applicable. Vous pouvez spécifier l'argument
DATASET_ID
au formatPROJECT:DATASET
ouDATASET
. Si la partiePROJECT
est manquante, le projet par défaut est utilisé. Vous pouvez remplacer le paramètre de projet par défaut en spécifiant l'option--project_id
.--debug_mode={true|false}
En cas de définition sur
true
, les traces des exceptions Python s'affichent. La valeur par défaut estfalse
.--disable_ssl_validation={true|false}
Si la valeur est
true
, active la validation du certificat HTTPS. La valeur par défaut estfalse
.--discovery_file=PATH
Spécifie le fichier JSON à lire pour la découverte.
--enable_gdrive={true|false}
Si la valeur est
false
, demande un nouveau jeton OAuth sans niveau d'accès Google Drive. La valeur par défaut esttrue
. Demande un nouveau jeton OAuth avec le niveau d'accès Drive.--fingerprint_job_id={true|false}
Pour utiliser un identifiant de tâche issu d'une empreinte de la configuration de la tâche, définissez cette valeur sur
true
. Cela empêche la même tâche de s'exécuter plusieurs fois par inadvertance. La valeur par défaut estfalse
.--format=FORMAT
Spécifie le format de sortie de la commande, Appliquez l'une des valeurs suivantes :
pretty
: sortie en tant que table formatéesparse
: sortie en tant que table simplifiéeprettyjson
: format JSON facile à lirejson
: format JSON le plus compact possiblecsv
: format CSV avec en-tête
Les formats
pretty
,sparse
etprettyjson
sont conçus pour être lisibles par l'humain. Les formatsjson
etcsv
sont destinés à être utilisés par un autre programme. Si la valeurnone
est spécifiée, alors la commande ne produit aucun résultat. Si l'option--format
est absente, alors un format de sortie approprié est choisi en fonction de la commande.--headless={true|false}
Pour exécuter la session
bq
sans interaction de l'utilisateur, définissez cette valeur surtrue
. Par exemple,debug_mode
n'interfère pas avec le débogueur et la fréquence d'impression des informations est réduite. La valeur par défaut estfalse
.--httplib2_debuglevel=DEBUG_LEVEL
Spécifie si les informations de débogage HTTP doivent être affichées. Si la valeur de
DEBUG_LEVEL
est supérieure à0
, la commande consigne les requêtes et les réponses du serveur HTTP dans stderr, en plus des messages d'erreur. SiDEBUG_LEVEL
n'est pas supérieur à 0 ou si l'option--httplib2_debuglevel
n'est pas utilisée, seuls les messages d'erreur sont fournis.Exemple :
--httplib2_debuglevel=1
--job_id=JOB_ID
Spécifie un identifiant de tâche pour une nouvelle tâche. Cette option ne s'applique qu'aux commandes destinées à créer des tâches :
cp
,extract
,load
etquery
. Si vous n'utilisez pas l'option--job_id
, alors les commandes génèrent un identifiant de tâche unique. Pour plus d'informations, consultez la section Exécuter des tâches par programmation.--job_property=KEY:VALUE
Paire clé/valeur à inclure dans le champ des propriétés de la configuration de la tâche. Répétez cette option pour spécifier des propriétés supplémentaires.
--location=LOCATION
Chaîne correspondant à votre région ou à un emplacement multirégional. L'option d'emplacement est nécessaire pour les commandes
bq cancel
etbq show
lorsque l'option--jobs
est utilisée pour afficher les informations de tâche. L'option d'emplacement est facultative pour les commandes ci-dessous :query
cp
load
extract
partition
update
wait
mk
lorsque vous utilisez les options--dataset
,--reservation
,--capacity_commitment
ou--reservation_assignment
ls
lorsque vous utilisez les options--reservation
,--capacity_commitment
ou--reservation_assignment
Toutes les autres commandes ignorent l'option
--location
.--max_rows_per_request=MAX_ROWS
Entier spécifiant le nombre maximal de lignes à renvoyer par opération de lecture.
--project_id=PROJECT
Spécifie le projet à utiliser pour les commandes.
--proxy_address=PROXY
Spécifie le nom ou l'adresse IP de l'hôte proxy à utiliser pour se connecter à Google Cloud.
--proxy_password=PASSWORD
Spécifie le mot de passe à utiliser pour s'authentifier avec l'hôte proxy.
--proxy_port=PORT
Spécifie le numéro de port à utiliser pour se connecter à l'hôte proxy.
--proxy_username=USERNAME
Spécifie le nom d'utilisateur à utiliser pour s'authentifier avec l'hôte proxy.
--quiet={true|false}
ou-q={true|false}
Pour supprimer les mises à jour de l'état pendant l'exécution des tâches, définissez cette valeur sur
true
. La valeur par défaut estfalse
.--synchronous_mode={true|false}
ou-sync={true|false}
Pour créer la tâche et renvoyer le résultat immédiatement, avec un état d'avancement réussi comme code d'erreur, définissez cette valeur sur
false
. Si défini surtrue
, la commande attend que la tâche soit terminée avant de renvoyer le résultat, et renvoie l'état d'avancement de la tâche en tant que code d'erreur. La valeur par défaut esttrue
.--trace=token:TOKEN
Spécifie un jeton de traçage à inclure dans les requêtes API.
--use_regional_endpoints={true|false}
Dans l'aperçu. Pour vous connecter à un point de terminaison régional, définissez l'option
--use_regional_endpoints
surtrue
et l'option--location
sur la région à laquelle vous souhaitez vous connecter. La valeur par défaut estfalse
.
Options globales obsolètes
L'option globale suivante permettant de spécifier des options de l'outil de ligne de commande bq à partir d'un fichier est obsolète. Pour spécifier des options à partir d'un fichier, utilisez l'option --bigqueryrc
.
--flagfile=PATH
Si une valeur est spécifiée, les définitions d'options du fichier fourni sont insérées dans l'outil de ligne de commande bq. La valeur par défaut est ''
. Pour plus d'informations, consultez la section
Définir des valeurs par défaut pour les options de ligne de commande.
Commandes
Les sections suivantes décrivent les commandes de l'outil de ligne de commande bq, ainsi que leurs options et arguments spécifiques aux commandes.
bq add-iam-policy-binding
Utilisez la commande bq add-iam-policy-binding
pour récupérer la stratégie Identity and Access Management (IAM) d'une table ou d'une vue, et ajouter une liaison à la stratégie en une seule étape.
Cette commande constitue une alternative au processus en trois étapes suivant :
- Utiliser la commande
bq get-iam-policy
pour récupérer le fichier de stratégie (au format JSON) - Modifier le fichier de stratégie
- Exécuter la commande
bq set-iam-policy
pour mettre à jour la stratégie avec une nouvelle liaison
Synopsis
bq add-iam-policy-binding [FLAGS] --member=MEMBER_TYPE:MEMBER --role=ROLE [--table] RESOURCE
Exemple
bq add-iam-policy-binding --member=user:myAccount@gmail.com \ --role=roles/bigquery.dataViewer myDataset.myTable
Options et arguments
La commande bq add-iam-policy-binding
utilise les options et les arguments suivants :
--member=MEMBER_TYPE:MEMBER
Obligatoire. Utilisez l'option
--member
pour spécifier la partie membre de la liaison de stratégie IAM. L'option--member
doit être spécifiée avec l'option--role
. Une combinaison des options--member
et--role
équivaut à une liaison.La valeur
MEMBER_TYPE
spécifie le type de membre dans la liaison de stratégie IAM. Appliquez l'une des valeurs suivantes :user
serviceAccount
group
domain
La valeur
MEMBER
spécifie l'adresse e-mail ou le domaine du membre dans la liaison de stratégie IAM.--role=ROLE
Obligatoire. Spécifie la partie de la liaison de stratégie IAM correspondant au rôle. L'option
--role
doit être spécifiée avec l'option--member
. Une combinaison des options--member
et--role
équivaut à une liaison.--table={true|false}
Pour renvoyer une erreur si l'argument
RESOURCE
n'est pas un identifiant de table ou de vue, définissez l'option--table
surtrue
. La valeur par défaut estfalse
. Cette option est compatible par souci de cohérence avec d'autres commandes.RESOURCE
Table ou vue dont vous souhaitez ajouter la stratégie.
Pour en savoir plus, consultez la documentation de référence sur les stratégies IAM.
bq cancel
Utilisez la commande bq cancel
pour annuler des tâches BigQuery.
Synopsis
bq [--synchronous_mode=false] cancel JOB_ID
Exemples
bq cancel bqjob_12345
bq --synchronous_mode=false cancel bqjob_12345
Options et arguments
La commande bq cancel
utilise les options et arguments suivants :
--synchronous_mode=false
- Si vous ne souhaitez pas attendre l'exécution de la commande
bq cancel
, définissez l'option globale--synchronous_mode
surfalse
. La valeur par défaut esttrue
. JOB_ID
- La tâche que vous souhaitez annuler.
Pour plus d'informations sur l'utilisation de la commande bq cancel
, consultez la page Gérer les tâches.
bq cp
Utilisez la commande bq cp
pour effectuer les tâches suivantes :
- Créez une copie d'une table, d'un clone de table ou d'un instantané de table.
- Créez un clone de table.
- Créez un instantané de table.
Synopsis
bq cp [FLAGS] SOURCE_TABLE DESTINATION_TABLE
Exemple
bq cp myDataset.myTable myDataset.myTableCopy
Options et arguments
La commande bq cp
utilise les options et arguments suivants :
--append_table={true|false}
ou-a={true|false}
Pour ajouter une table à une table existante, définissez cette valeur sur
true
. La valeur par défaut estfalse
.Vous ne pouvez pas utiliser les paramètres d'option
--append_table=true
et--clone=true
en même temps.--clone={true|false}
Pour créer un clone de table, définissez cette valeur sur
true
. La table de base peut être une table standard, un clone de table ou un instantané de table. La table de destination est un clone de table. La valeur par défaut estfalse
. Si aucune des valeurs--clone=true
et--snapshot=true
n'est spécifiée, la table de destination est du même type que la table de base.Vous ne pouvez pas utiliser les paramètres d'option
--append_table=true
et--clone=true
en même temps.--destination_kms_key=KEY
Spécifie un identifiant de ressource de clé Cloud KMS permettant de chiffrer les données de la table de destination.
Exemple :
--destination_kms_key=projects/myProject/locations/global/keyRings/myKeyRing/cryptoKeys/myKey
--expiration=SECONDS
Nombre de secondes avant l'expiration d'un instantané de table. Si cette valeur est omise, le délai d'expiration de l'instantané de table est défini sur le délai d'expiration par défaut de l'ensemble de données contenant le nouvel instantané de table. Utilisez cette option avec l'option
--snapshot
.--force={true|false}
ou-f={true|false}
Le cas échéant, définissez la table de destination sur
true
en l'absence d'invite. La valeur par défaut estfalse
. Si la table de destination existe, la commande vous invite à confirmer l'opération avant de l'écraser.--no_clobber={true|false}
ou-n={true|false}
Pour interdire l'écrasement de la table de destination, le cas échéant, définissez la table sur
true
. La valeur par défaut estfalse
. Si la table de destination existe, elle est remplacée.--restore={true|false}
Cette option est obsolète. Pour créer une table avec accès en écriture à partir d'un instantané de table, exécutez la commande
bq cp
oubq cp --clone
.--snapshot={true|false}
Pour créer un instantané de table de la table spécifiée dans l'argument
SOURCE_TABLE
, définissez ce paramètre surtrue
. La table de base peut être une table standard, un clone de table ou un autre instantané de table. La valeur par défaut estfalse
. Si aucune des valeurs--clone=true
et--snapshot=true
n'est spécifiée, la table de destination est du même type que la table de base. Ce paramètre nécessite l'option--no_clobber
.SOURCE_TABLE
La table vers laquelle vous souhaitez effectuer une copie.
DESTINATION_TABLE
La table vers laquelle vous souhaitez effectuer une copie.
Pour plus d'informations sur l'utilisation de la commande cp
, consultez les pages suivantes :
- Copier une table
- Créer des clones de table
- Créer des instantanés de table
- Restaurer des instantanés de table
bq extract
Utilisez la commande bq extract
pour exporter les données d'une table vers Cloud Storage.
Synopsis
bq extract [FLAGS] RESOURCE DESTINATION
Exemples
bq extract --compression=GZIP --destination_format=CSV --field_delimiter=tab \ --print_header=false myDataset.myTable gs://my-bucket/myFile.csv.gzip
bq extract --destination_format=CSV --field_delimiter='|' myDataset.myTable \ gs://myBucket/myFile.csv
Options et arguments
La commande bq extract
utilise les options et arguments suivants :
--compression=COMPRESSION_TYPE
Spécifie le type de compression à utiliser pour les fichiers exportés. Les valeurs possibles sont les suivantes :
GZIP
DEFLATE
SNAPPY
NONE
La valeur par défaut est
NONE
.Pour en savoir plus sur les formats compatibles avec chaque type de compression, consultez la section Formats d'exportation et types de compression.
--destination_format=FORMAT
Spécifie le format des données exportées. Les valeurs possibles sont les suivantes :
CSV
NEWLINE_DELIMITED_JSON
AVRO
PARQUET
La valeur par défaut est
CSV
.--field_delimiter=DELIMITER
Pour les exportations au format CSV, spécifie le caractère qui marque la délimitation entre les colonnes du fichier de sortie. Le délimiteur peut être n'importe quel caractère ISO-8859-1 à un octet. Vous pouvez utiliser
\t
outab
pour spécifier des délimiteurs de tabulation.--print_header={true|false}
Pour supprimer l'impression des lignes d'en-tête pour les formats comportant des en-têtes, définissez cette valeur sur
false
. La valeur par défaut esttrue
. Les lignes d'en-tête sont incluses.RESOURCE
La table à partir de laquelle vous exportez.
DESTINATION
L'emplacement de stockage qui reçoit les données exportées.
Pour plus d'informations sur l'utilisation de la commande bq extract
, consultez la page Exporter les données des tables.
bq get-iam-policy
Utilisez la commande bq get-iam-policy
pour récupérer la stratégie IAM d'une ressource et l'afficher dans stdout
. La ressource peut être une table ou une vue. La stratégie est au format JSON.
Synopsis
bq get-iam-policy [FLAGS] RESOURCE
Exemple
bq get-iam-policy myDataset.myTable
Options et arguments
La commande bq get-iam-policy
utilise les options et arguments suivants :
--table={true|false}
ou--t={true|false}
- Pour renvoyer une erreur si
RESOURCE
n'est pas un identifiant de table ou de vue, définissez l'option--table
surtrue
. La valeur par défaut estfalse
. Cette option est compatible par souci de cohérence avec d'autres commandes. RESOURCE
- La table ou la vue dont vous souhaitez obtenir la stratégie.
Pour en savoir plus sur la commande bq get-iam-policy
, consultez la page Contrôler l'accès aux ressources avec IAM.
bq head
Utilisez la commande bq head
pour afficher les lignes et les colonnes spécifiées d'une table.
Par défaut, toutes les colonnes des 100 premières lignes sont affichées.
Synopsis
bq head [FLAGS] [TABLE]
Exemple
bq head --max_rows=10 --start_row=50 --selected_fields=field1,field3 \ myDataset.myTable
Options et arguments
La commande bq head
utilise les options et arguments suivants :
--job=JOB or -j=JOB
- Pour lire les résultats d'une tâche de requête, spécifiez cette option avec un identifiant de tâche valide.
--max_rows=MAX or -n=MAX
- Entier indiquant le nombre maximal de lignes à afficher lors de l'affichage des données de la table. La valeur par défaut est
100
. --selected_fields=COLUMN_NAMES or -c=COLUMN_NAMES
- Liste séparée par des virgules spécifiant un sous-ensemble de champs à renvoyer (y compris les champs imbriqués et répétés) lors de l'affichage des données de la table. Si cette option n'est pas spécifiée, toutes les colonnes sont renvoyées.
--start_row=START_ROW or -s=START_ROW
- Entier qui spécifie le nombre de lignes à ignorer avant d'afficher les données de la table. La valeur par défaut est
0
, les données de la table commencent à la première ligne. --table={true|false}
ou-t={true|false}
- Pour renvoyer une erreur si l'argument de commande n'est ni une table ni une vue, définissez cette valeur sur
true
. La valeur par défaut estfalse
. Cette option est compatible par souci de cohérence avec d'autres commandes. TABLE
- Table dont vous souhaitez récupérer les données.
Pour plus d'informations sur l'utilisation de la commande bq head
, consultez la page Gérer des données de tables.
bq help
Utilisez la commande bq help
pour afficher la documentation de l'outil de ligne de commande bq.
Synopsis
bq help [COMMAND]
Options et arguments
La commande bq help
utilise les options et arguments suivants :
COMMAND
- Spécifie une commande d'outil de ligne de commande bq particulière pour laquelle vous souhaitez obtenir une aide en ligne.
bq insert
Utilisez la commande bq insert
pour insérer des lignes de données au format JSON délimitées par un retour à la ligne dans une table d'un fichier, en utilisant l'insertion en flux continu. Les types de données sont convertis pour correspondre aux types de colonnes de la table de destination. Cette commande est conçue à des fins de test uniquement. Pour diffuser des données en flux continu dans BigQuery, utilisez la méthode API insertAll
.
Synopsis
bq insert [FLAGS] TABLE FILE
Exemples
bq insert --ignore_unknown_values --template_suffix=_insert myDataset.myTable /tmp/myData.json
echo '{"a":1, "b":2}' | bq insert myDataset.myTable
Options et arguments
La commande bq insert
utilise les options et arguments suivants :
--ignore_unknown_values={true|false}
ou-i={true|false}
- Lorsque ce paramètre est défini sur
true
, BigQuery ignore les paires clé/valeur qui ne correspondent pas au schéma de la table, et insère la ligne avec les données qui correspondent à ce schéma. Lorsque la valeur estfalse
, les lignes dont les données ne correspondent pas au schéma de la table ne sont pas insérées. La valeur par défaut estfalse
. --skip_invalid_rows={true|false}
ou-s={true|false}
- En cas de définition sur
true
, BigQuery tente d'insérer des lignes valides, même si des lignes non valides sont présentes. En cas de définition surfalse
, la commande échoue si des lignes non valides sont présentes. La valeur par défaut estfalse
. --template_suffix=SUFFIX or -x=SUFFIX
- Si spécifié, traite la table de destination TABLE comme un modèle de base, puis insère les lignes dans une table d'instance nommée
{destination}{templateSuffix}
. BigQuery crée la table d'instance à l'aide du schéma du modèle de base. TABLE
- La table dans laquelle vous souhaitez insérer des données.
FILE
- Fichier contenant les données que vous souhaitez insérer.
Pour plus d'informations sur l'utilisation de la commande bq insert
, consultez la page Importer des données dans BigQuery.
bq load
Utilisez la commande bq load
pour charger des données dans une table.
Synopsis
bq load [FLAGS] DESTINATION_TABLE SOURCE_DATA [SCHEMA]
Exemple
bq load myDataset.newTable gs://mybucket/info.csv ./info_schema.json
Options et arguments
La commande bq load
utilise les options et arguments suivants :
--allow_jagged_rows={true|false}
- Pour autoriser les colonnes finales facultatives manquantes dans les données CSV, définissez cette valeur sur
true
. --preserve_ascii_control_characters={true|false}
- Pour autoriser les caractères de contrôle ASCII intégrés dans les données CSV, définissez cette valeur sur
true
. --allow_quoted_newlines={true|false}
- Pour autoriser les nouvelles lignes entre guillemets dans les données CSV, définissez cette valeur sur
true
. --autodetect={true|false}
- Pour activer la détection automatique de schéma pour les données CSV et JSON, définissez cette valeur sur
true
. La valeur par défaut estfalse
. Si la valeur de--autodetect
estfalse
, qu'aucun schéma n'est spécifié à l'aide de l'option--schema
, et que la table de destination existe, le schéma de la table de destination est utilisé. --clustering_fields=COLUMNS
- Liste contenant jusqu'à quatre noms de colonne séparés par une virgule, qui spécifie les champs à utiliser pour le clustering des tables.
--destination_kms_key=KEY
- Spécifie un identifiant de ressource de clé Cloud KMS pour chiffrer les données de la table de destination.
--encoding=ENCODING_TYPE or -E=ENCODING_TYPE
- Encodage de caractères utilisé dans les données. Utilisez l'une des valeurs suivantes :
ISO-8859-1
(également appelée Latin-1)UTF-8
--field_delimiter=DELIMITER or -F=DELIMITER
- Spécifie le caractère qui marque la délimitation entre les colonnes de données.
Le délimiteur peut être n'importe quel caractère ISO-8859-1 à un octet. Vous pouvez utiliser
\t
outab
pour spécifier les délimiteurs de tabulation. --ignore_unknown_values={true|false}
- Lorsque ce paramètre est défini sur
true
pour les fichiers CSV et JSON, les lignes dont les valeurs de colonnes supplémentaires ne correspondent pas au schéma de la table sont chargées, mais les colonnes supplémentaires sont ignorées. Lorsque la valeur esttrue
pour les fichiers Avro, Parquet et ORC, les champs du schéma de fichier qui n'existent pas dans le schéma de la table sont ignorés et ne sont pas chargés. --json_extension=JSON_TYPE
Indique le type de fichier JSON à charger. S'applique uniquement aux fichiers JSON. Les valeurs possibles sont les suivantes :
GEOJSON
: fichier GeoJSON délimité par un retour à la ligne.
Pour que cette option soit utilisée, l'option
--source_format
doit être définie surNEWLINE_DELIMITED_JSON
.Pour en savoir plus, consultez la section Charger des fichiers GeoJSON délimités par un retour à la ligne.
--max_bad_records=MAX
Entier spécifiant le nombre maximal d'enregistrements incorrects autorisés avant l'échec total de la tâche. La valeur par défaut est
0
. Au plus, cinq erreurs de n'importe quel type sont renvoyées, quelle que soit la valeur--max_bad_records
. Cette option ne s'applique qu'au chargement de données CSV, JSON et Google Sheets.--null_marker=STRING
Chaîne personnalisée facultative qui représente une valeur
NULL
dans les données CSV.--projection_fields=PROPERTY_NAMES
Si vous définissez
--source_format
surDATASTORE_BACKUP
, cette option indique les propriétés d'entité à charger à partir d'une exportation Datastore. Spécifiez les noms de propriété sous la forme d'une liste de valeurs séparées par des virgules. Les noms de propriétés sont sensibles à la casse et doivent faire référence à des propriétés de niveau supérieur. Vous pouvez également utiliser cette option avec les exportations Firestore.--quote=CHARACTER
Spécifie un caractère de guillemet pour entourer les champs des données CSV. L'argument
CHARACTER
peut être n'importe quel caractère de un octet. La valeur par défaut est un guillemet double ("
). Pour indiquer l'absence de caractère de guillemet, utilisez une chaîne vide""
.--replace={true|false}
Pour effacer les données et le schéma existants lorsque de nouvelles données sont chargées, définissez cette valeur sur
true
. Les clés Cloud KMS sont également supprimées, sauf si vous spécifiez l'option--destination_kms_key
. La valeur par défaut estfalse
.Équivaut à la valeur
WRITE_TRUNCATE
deJobConfigurationLoad.writeDisposition
.--schema={SCHEMA_FILE|SCHEMA
}Spécifie le chemin d'accès à un fichier de schéma JSON local, ou une liste de définitions de colonnes séparées par une virgule au format
FIELD:DATA_TYPE, FIELD:DATA_TYPE
, et ainsi de suite. Si vous utilisez un fichier de schéma, n'utilisez pas d'extension.Exemple :
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
Si aucun schéma n'est spécifié, que
--autodetect
est défini surfalse
et que la table de destination existe, le schéma de la table de destination est utilisé.--schema_update_option=OPTION
Lorsque vous ajoutez des données à une table (dans une tâche de chargement ou de requête) ou que vous remplacez une partition de table, spécifie comment mettre à jour le schéma de la table de destination. Appliquez l'une des valeurs suivantes :
ALLOW_FIELD_ADDITION
: autoriser l'ajout de nouveaux champsALLOW_FIELD_RELAXATION
: autoriser l'assouplissement des champsREQUIRED
surNULLABLE
Répétez cette option pour spécifier plusieurs options de mise à jour de schéma.
--skip_leading_rows=NUMBER_OF_ROWS
Entier qui spécifie le nombre de lignes à ignorer au début du fichier source. La valeur par défaut est
0
.--file_set_spec_type=FILE_SET_SPEC_TYPE
Spécifie comment interpréter les URI sources.
FILE_SYSTEM_MATCH
: développe les URI sources en répertoriant les fichiers du magasin d'objets. Il s'agit du comportement par défaut si FileSetSpecType n'est pas défini.NEW_LINE_DELIMITED_MANIFEST
: indique que les URI fournis sont des fichiers manifestes délimités par un retour à la ligne, avec un URI par ligne. Les URI génériques ne sont pas compatibles avec les fichiers manifestes, et tous les fichiers de données référencés doivent se trouver dans le même bucket que le fichier manifeste.
Par exemple, si vous disposez de l'URI source
"gs://bucket/path/file"
et quefile_set_spec_type
estFILE_SYSTEM_MATCH
, le fichier est utilisé directement en tant que fichier de données. Sifile_set_spec_type
est défini surNEW_LINE_DELIMITED_MANIFEST
, chaque ligne du fichier est interprétée comme un URI qui pointe vers un fichier de données.--source_format=FORMAT
Format des données source. Appliquez l'une des valeurs suivantes :
CSV
NEWLINE_DELIMITED_JSON
AVRO
DATASTORE_BACKUP
(utilisez cette valeur pour Filestore)PARQUET
ORC
--time_partitioning_expiration=SECONDS
Entier qui spécifie (en secondes) le moment où une partition temporelle doit être supprimée. Le délai d'expiration correspond à la date UTC de la partition plus la valeur entière. Un nombre négatif indique l'absence de délai d'expiration.
--time_partitioning_field=COLUMN_NAME
Spécifie le champ qui détermine la création d'une partition temporelle. Si le partitionnement temporel est activé sans cette valeur, la table est partitionnée en fonction du temps de chargement.
--time_partitioning_type=INTERVAL
Active le partitionnement temporel sur une table et définit le type de partition. Appliquez l'une des valeurs suivantes :
DAY
HOUR
MONTH
YEAR
Le type de partition par défaut pour le partitionnement temporel est
DAY
.--use_avro_logical_types={true|false}
Si l'option
--source_format
est définie surAVRO
, définissez-la surtrue
pour convertir les types logiques en types correspondants tels queTIMESTAMP
, au lieu de n'utiliser que leur type brut (par exemple,INTEGER
).--decimal_target_types=DECIMAL_TYPE
Détermine comment convertir un type logique
Decimal
. Équivaut àJobConfigurationLoad.decimalTargetTypes
. Répétez cette option pour spécifier plusieurs types de cibles.--parquet_enum_as_string={true|false}
Si l'option
--source_format
est définie surPARQUET
et que vous souhaitez que BigQuery déduise les types logiques ParquetENUM
en tant que valeursSTRING
, définissez cette option surtrue
. La valeur par défaut estfalse
.--parquet_enable_list_inference={true|false}
Si l'option
--source_format
est définie surPARQUET
, celle-ci indique s'il faut utiliser l'inférence de schéma pour les types logiquesLIST
de Parquet.--reference_file_schema_uri=URI
Spécifie le chemin d'accès à un fichier de référence avec le schéma de table attendu pour créer des tables externes. Équivaut à
ExternalDataConfiguration.referenceFileSchemaUri
. Cette option est activée pour les formats Avro, ORC et PARQUET.DESTINATION_TABLE
Table dans laquelle vous souhaitez charger des données.
SOURCE_DATA
URI Cloud Storage du fichier contenant les données que vous souhaitez charger.
SCHEMA
Schéma de la table de destination.
Pour en savoir plus sur le chargement de données depuis Cloud Storage à l'aide de la commande bq load
, consultez la section suivante :
- Charger des données Avro
- Charger des données CSV
- Charger des données JSON
- Charger des données ORC
- Charger des données Parquet
- Charger des données à partir d'exportations Cloud Datastore
- Charger des données à partir d'exportations Firestore
Pour plus d'informations sur le chargement de données à partir d'une source locale à l'aide de la commande bq load
, consultez les pages ci-dessous :
bq ls
Utilisez la commande bq ls
pour lister les objets d'une collection.
Synopsis
bq ls [FLAGS] [RESOURCE]
Exemple
bq ls myDataset
Options et arguments
La commande bq ls
utilise les options et arguments suivants :
--all={true|false}
ou-a={true|false}
- Pour afficher tous les résultats, définissez cette valeur sur
true
. Affiche les tâches de tous les utilisateurs ou de tous les ensembles de données, y compris ceux qui sont masqués. Cette option n'est pas nécessaire pour répertorier les configurations ou les exécutions de transferts. La valeur par défaut estfalse
. --capacity_commitment={true|false}
Pour répertorier les engagements de capacité, définissez ce paramètre sur
true
et utilisez l'option--location
pour spécifier l'emplacement. Pour en savoir plus, consultez la section Afficher les engagements achetés.Par exemple :
bq ls --capacity_commitment=true --location='us'
--datasets={true|false}
ou-d={true|false}
Pour lister les ensembles de données, définissez cette valeur sur
true
. La valeur par défaut estfalse
.--filter="FILTER"
Filtre les ressources répertoriées pour qu'elles correspondent à l'argument
FILTER
.Pour les ensembles de données,
FILTER
consiste en un ou plusieurs triples séparés par des espaces au formatlabels.KEY:VALUE
. Si plusieurs triples sont saisis, la commande ne renvoie que les ensembles de données correspondant à tous les triples (la commande utilise alors l'opérateur logiqueAND
, et nonOR
). Si vous souhaitez spécifier plusieurs triples, saisissez la valeurFILTER
entre guillemets.Pour effectuer un filtrage en fonction des libellés de l'ensemble de données, utilisez les clés et les valeurs que vous avez appliquées à ces ensembles de données.
Exemple :
--filter "labels.department:marketing labels.team:sales"
Pour les configurations de transfert, utilisez
dataSourceIds
comme clé et l'une des sources de données suivantes comme valeur :
amazon_s3
: transfert de données Amazon S3azure_blob_storage
: transfert de données Azure Blob Storagedcm_dt
: transfert de données Campaign Managergoogle_cloud_storage
: transfert de données Cloud Storagecross_region_copy
: copie de l'ensemble de donnéesdfp_dt
: transfert de données Google Ad Manageradwords
: transfert de données Google Adsgoogle_ads
: transfert de données Google Ads (preview)merchant_center
: transfert de données Google Merchant Centerplay
: transfert de données Google Playscheduled_query
: transfert de données des requêtes programméesdoubleclick_search
: transfert de données Search Ads 360youtube_channel
: transfert de données de chaîne YouTubeyoutube_content_owner
: transfert de données du propriétaire de contenu YouTuberedshift
: migration Amazon Redshifton_premises
: Migration de Teradata
Exemple :
--filter labels.dataSourceIds:dcm_dt
Pour les exécutions de transferts, utilisezstates
comme clé, et l'un des états de transfert suivants comme valeur : +SUCCEEDED
+FAILED
+PENDING
+RUNNING
+CANCELLED
For example:
<pre>
--filter labels.states:FAILED
</pre>
Pour les jobs, l'option de filtre n'est pas accepté.
--jobs={true|false}
ou-j={true|false}
- Pour lister les tâches, définissez le paramètre sur
true
. La valeur par défaut estfalse
. Par défaut, les résultats sont limités à 100 000. --max_creation_time=MAX_CREATION_TIME_MS
- Entier représentant un horodatage d'époque Unix en millisecondes.
Avec l'option
--jobs
, liste uniquement les tâches créées avant l'horodatage. --max_results=MAX_RESULTS or -n=MAX_RESULTS
- Entier indiquant le nombre maximal de résultats. La valeur par défaut est 50 et la valeur maximale 1 000. Si vous avez plus de 1 000 tâches, vous pouvez utiliser l'option
page_token
pour répertorier toutes les tâches à l'aide de la pagination. - --
min_creation_time=MIN_CREATION_TIME_MS
- Entier représentant un horodatage d'époque Unix en millisecondes. Avec l'option
--jobs
, liste uniquement les tâches créées après l'horodatage. --message_type=messageTypes:MESSAGE_TYPE
Pour répertorier uniquement les messages du journal d'exécution de transferts d'un type particulier, spécifiez
messageTypes:MESSAGE_TYPE
. Les valeurs possibles sont les suivantes :INFO
WARNING
ERROR
--models={true|false}
ou-m={true|false}
Pour lister les modèles BigQuery ML, définissez cette valeur sur
true
. La valeur par défaut estfalse
.--page_token=TOKEN
ou-k=TOKEN
Liste les éléments à partir du jeton de page spécifié.
--projects={true|false}
ou-p={true|false}
Pour afficher tous les projets, définissez cette valeur sur
true
. La valeur par défaut estfalse
.--reservation={true|false}
Pour répertorier toutes les réservations pour un projet et un emplacement donnés, définissez cette valeur sur
true
. La valeur par défaut estfalse
. Utilisez les options--project_id
et--location
.Exemple :
bq ls --reservation=true --project_id=myProject --location=us
--reservation_assignment={true|false}
Pour répertorier toutes les attributions de réservation pour un projet et un emplacement donnés, définissez la valeur sur
true
. La valeur par défaut estfalse
. Utilisez les options--project_id
et--location
.--routines={true|false}
Pour répertorier toutes les routines de l'ensemble de données spécifié, définissez la valeur sur
true
. La valeur par défaut estfalse
. Les routines incluent les Fonctions persistantes définies par l'utilisateur, les Fonctions de table (Bêta) et les procédures stockées.--row_access_policies
En cas de spécification, répertorie toutes les règles d'accès au niveau des lignes d'une table. Les règles d'accès au niveau des lignes sont utilisées pour la sécurité au niveau des lignes. Vous devez indiquer le nom de la table au format
dataset.table
.--run_attempt=RUN_ATTEMPT
Utilisez cette option avec l'option
--transfer_run
. Pour lister toutes les tentatives d'exécution de l'exécution de transfert spécifiée, définissez cette valeur surRUN_ATTEMPT_UNSPECIFIED
. Pour lister uniquement la dernière tentative d'exécution, définissez cette valeur surLATEST
. La valeur par défaut estLATEST
.--transfer_config={true|false}
Pour répertorier les configurations de transfert dans le projet et l'emplacement spécifiés, définissez cette valeur sur
true
. Utilisez les options--transfer_location
et--project_id
. La valeur par défaut estfalse
.--transfer_location=LOCATION
Répertorie les configurations de transfert à l'emplacement spécifié. Vous définissez l'emplacement de transfert lors de la création du transfert.
--transfer_log={true|false}
Utilisez cette option avec l'option
--transfer_run
. Pour lister les messages du journal de transfert pour l'exécution du transfert spécifiée, définissez cette valeur surtrue
. La valeur par défaut estfalse
.--transfer_run={true|false}
Liste les exécutions de transfert pour la configuration de transfert spécifiée.
Exemple :
bq ls --transfer_run=true projects/myProject/locations/us/transferConfigs/12345
RESOURCE
Collection dont vous souhaitez répertorier les objets. La ressource peut être un ensemble de données, un projet, une réservation ou une configuration de transfert.
Pour plus d'informations sur l'utilisation de la commande bq ls
, consultez les pages suivantes :
- Gérer les tâches
- Répertorier les ensembles de données dans un projet
- Créer et utiliser des tables
- Répertorier les vues dans un ensemble de données
- Utiliser les transferts
- Répertorier les instantanés de table dans un ensemble de données
bq mk
Exécutez la commande bq mk
pour créer une ressource BigQuery.
Synopsis
bq mk TYPE_FLAG [OTHER FLAGS] [ARGS]
Options et arguments
La commande bq mk
utilise une option de type em qui spécifie le type de ressource à créer et d'autres options qui dépendent du type de ressource.
TYPE_FLAG
: définissez l'une des options suivantes sur true
.
Votre sélection spécifie le type de ressource à créer.
--capacity_commitment
: acheter un engagement de capacité.--connection
: créer une connexion.--dataset
ou-d
: créer un ensemble de données.--materialized_view
: créer une vue matérialisée.--reservation
: créer une réservation.--reservation_assignment
: attribuer un dossier, un projet ou une organisation à une réservation.--table
ou-t
: créer une table.--transfer_config
: créer une configuration de transfert.--transfer_run
: créer une exécution de transfert pour une période donnée.--view
: créer une vue.
La commande bq mk
est compatible avec l'option suivante pour tous les types de ressources :
--force={true|false}
ou-f={true|false}
- Pour ignorer les erreurs si une ressource portant le même nom existe déjà, définissez cette valeur sur
true
. Si la ressource existe déjà, le code de sortie est 0, mais si vous définissez cette valeur surtrue
, la commandebq mk
n'écrase pas la ressource. La valeur par défaut estfalse
.
La commande bq mk
accepte des options supplémentaires suivant le type de ressource que vous créez, comme décrit dans les sections suivantes.
bq mk --capacity_commitment
Pour souscrire un engagement de capacité, définissez --capacity_commitment
sur true
et utilisez les options suivantes :
--location=LOCATION
- Spécifie l'emplacement de l'engagement.
--plan=PLAN_TYPE
Spécifie le type de forfait d'engagement. Il doit s'agir de l'une des options suivantes :
ANNUAL
THREE_YEAR
Les clients qui utilisent les anciens tarifs forfaitaires peuvent également utiliser l'une des valeurs suivantes :
FLEX
MONTHLY
ANNUAL
--renewal_plan=RENEWAL_TYPE
Spécifie le type de forfait de renouvellement. Obligatoire pour les forfaits d'engagement
ANNUAL
ouTHREE_YEAR
. Il doit s'agir de l'une des options suivantes :ANNUAL
THREE_YEAR
NONE
Les clients qui utilisent les anciens tarifs forfaitaires peuvent également utiliser l'une des valeurs suivantes :
FLEX
MONTHLY
ANNUAL
--project_id=PROJECT_ID
Spécifie le projet qui administre les emplacements.
--slots=NUMBER_OF_BASELINE_SLOTS
Spécifie le nombre d'emplacements de base à acheter.
--edition=EDITION
Édition associée à l'engagement de capacité. Doit être l'un des éléments suivants :
ENTERPRISE
ENTERPRISE_PLUS
Pour en savoir plus, consultez la section Acheter des emplacements.
bq mk --connection
Crée une connexion. Les options suivantes sont acceptées :
--connection_type=CONNECTION_TYPE
- Type de connexion, par exemple
CLOUD_SQL
pour les connexions Cloud SQL. --properties=PROPERTIES
Paramètres spécifiques à la connexion au format JSON.
instanceId
,database
ettype
doivent être spécifiés.Si vous créez une connexion Spanner et que vous souhaitez utiliser Data Boost, incluez les paires
"useParallelism":true
et"useDataBoost":true
.--connection_credential=CONNECTION_CREDENTIAL
Identifiants de la connexion au format JSON.
username
etpassword
doivent être spécifiés.--project_id=PROJECT_ID
Spécifie l'ID du projet auquel la connexion appartient.
--location=LOCATION
Spécifie l'emplacement de stockage de la connexion.
--display_name=DISPLAY_NAME
Spécifie un nom descriptif facultatif pour la connexion.
--description=DESCRIPTION
Spécifie une description facultative de la connexion.
--iam_role_id=ROLE_ID
Pour BigQuery Omni sur AWS, spécifie un rôle IAM permettant l'accès à la ressource.
Utilisez le format suivant :
"arn:aws:iam::AWS_ACCOUNT_ID:role/POLICY_NAME"
, où :- AWS_ACCOUNT_ID est le numéro d'identification de l'utilisateur IAM AWS à l'origine de la connexion ;
- POLICY_NAME est le nom de la règle.
Exemple :
"arn:aws:iam::0123456789AB:policy/s3-read-role"
--tenant_id=TENANT_ID
Pour BigQuery Omni sur Azure, spécifie l'ID de locataire du répertoire Azure contenant le compte Azure Storage.
CONNECTION_ID
Spécifie un ID de connexion facultatif pour la connexion. Si aucun ID de connexion n'est fourni, un ID unique est généré automatiquement. L'ID de connexion peut contenir des lettres, des chiffres et des traits de soulignement.
Pour en savoir plus, consultez la section Créer des connexions.
bq mk --dataset
Crée un ensemble de données. Les options suivantes sont acceptées :
--add_tags=TAGS
- Spécifie les tags que vous associez au nouvel ensemble de données, séparés par une virgule. Exemple :
556741164180/env:prod,myProject/department:sales
. Chaque tag doit porter le nom de l'espace de noms associé à la clé et le nom court de la valeur. --default_kms_key=KEY
- Spécifie l'identifiant de ressource de clé Cloud KMS par défaut pour le chiffrement des données de la table d'un ensemble de données si aucune clé explicite n'est fournie lors de la création de la table ou de la requête.
--default_partition_expiration=SECONDS
- Entier spécifiant le délai d'expiration par défaut en secondes pour toutes les partitions des tables partitionnées nouvellement créées dans l'ensemble de données. Le délai d'expiration d'une partition est défini sur la date UTC de la partition plus la valeur entière.
Si cette propriété est définie, alors sa valeur remplace le délai d'expiration de la table par défaut au niveau de l'ensemble de données, le cas échéant. Si vous spécifiez l'option
--time_partitioning_expiration
lors de la création ou de la mise à jour d'une table partitionnée, le délai d'expiration des partitions défini au niveau de la table est prioritaire sur le délai d'expiration des partitions défini par défaut au niveau de l'ensemble de données. --default_table_expiration=SECONDS
- Entier qui spécifie la durée de vie par défaut en secondes des tables nouvellement créées dans un ensemble de données. Le délai d'expiration correspond à l'heure UTC actuelle plus la valeur entière.
--description=DESCRIPTION
- Spécifie la description de l'ensemble de données.
--external_source=EXTERNAL_SOURCE
- Spécifie la source de données externe lorsque vous créez un ensemble de données fédéré.
--label=KEY:VALUE
- Spécifie un libellé pour l'ensemble de données. Répétez cette option pour spécifier plusieurs libellés.
--location=LOCATION
ou--data_location=LOCATION
- Spécifie l'emplacement de l'ensemble de données. De préférence, définissez l'option
--location
. L'option--data_location
est une ancienne option. --max_time_travel_hours=HOURS
- Spécifie la durée, en heures, de la fenêtre temporelle du nouvel ensemble de données. La valeur
--max_time_travel_hours
doit être un entier exprimé par des multiples de 24 (48, 72, 96, 120, 144, 168) entre 48 (2 jours) et 168 (7 jours). 168 heures est la valeur par défaut si cette option n'est pas spécifiée. --storage_billing_model=BILLING_MODEL
Spécifie le modèle de facturation du stockage d'un ensemble de données. Définissez la valeur
--storage_billing_model
surPHYSICAL
pour utiliser des octets physiques lors du calcul des frais de stockage, ou surLOGICAL
pour utiliser des octets logiques.LOGICAL
est la valeur par défaut.Lorsque vous modifiez le modèle de facturation d'un ensemble de données, la prise en compte de la modification prend 24 heures.
Une fois que vous avez modifié le modèle de facturation du stockage d'un ensemble de données, vous devez attendre 14 jours avant de pouvoir modifier à nouveau le modèle de facturation du stockage.
Pour en savoir plus, consultez la page Créer des ensembles de données.
bq mk --materialized_view
Crée une vue matérialisée. Les options suivantes sont acceptées :
--enable_refresh={true|false}
- Pour désactiver l'actualisation automatique d'une vue matérialisée, définissez cette valeur sur
false
. La valeur par défaut lors de la création d'une vue matérialisée esttrue
. --refresh_interval_ms=MILLISECONDS
- Spécifie le nombre de millisecondes de l'intervalle d'actualisation d'une vue matérialisée. Si cette option n'est pas spécifiée, l'intervalle d'actualisation par défaut d'une vue matérialisée pour laquelle l'actualisation est activée est de 1 800 000 millisecondes, soit 30 minutes.
Pour plus d'informations, consultez la page Créer et utiliser des vues matérialisées.
bq mk --reservation
Crée une réservation avec des emplacements dédiés. Les options suivantes sont acceptées :
--target_job_concurrency=CONCURRENCY
- Spécifie le nombre cible de requêtes à exécuter simultanément. La valeur par défaut est 0, ce qui signifie que la simultanéité est automatiquement calculée en fonction de la taille de la réservation. Pour en savoir plus, consultez la section Utiliser des files d'attente de requêtes.
--ignore_idle_slots={true|false}
- Pour limiter les tâches exécutées dans cette réservation afin de n'utiliser que les emplacements alloués à la réservation, définissez ce paramètre sur
true
. La valeur par défaut estfalse
. Les tâches de cette réservation peuvent utiliser des emplacements inactifs provenant d'autres réservations, ou des emplacements qui ne sont pas alloués à une réservation. Pour en savoir plus, consultez la section Emplacements inactifs. --location=LOCATION
- Spécifie le lieu de la réservation.
--project_id=PROJECT_ID
- Spécifie le projet propriétaire de la réservation.
--slots=NUMBER_OF_BASELINE_SLOTS
- Spécifie le nombre d'emplacements de base à allouer à cette réservation.
--edition=EDITION
- Édition associée à l'engagement de capacité. Il doit s'agir de l'une des options suivantes :
STANDARD
ENTERPRISE
ENTERPRISE_PLUS
--autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS
- Nombre d'emplacements d'autoscaling attribués à la réservation. Il est égal à la valeur de la taille de réservation maximale moins le nombre d'emplacements de base. Disponible uniquement avec l'option
--edition
.
Pour en savoir plus, consultez la section Créer une réservation avec des emplacements dédiés.
bq mk --reservation_assignment
Attribue un projet, un dossier ou une organisation à une réservation. Les options suivantes sont acceptées :
--assignee_id=ASSIGNEE_ID
- Spécifie l'ID du dossier, de l'organisation ou du projet.
--assignee_type=ASSIGNEE_TYPE
- Spécifie le type d'entité à attribuer à la réservation. Choisissez l'une des options suivantes :
FOLDER
ORGANIZATION
PROJECT
--job_type=JOB_TYPE
- Spécifie le type de tâche à attribuer à la réservation. Choisissez l'une des options suivantes :
QUERY
PIPELINE
ML_EXTERNAL
BACKGROUND
--location=LOCATION
- Spécifie le lieu de la réservation.
--project_id=PROJECT_ID
- Spécifie le projet propriétaire de la réservation.
--reservation_id=RESERVATION_ID
- Spécifie l'identifiant de la réservation.
Pour en savoir plus, consultez la section Utiliser des attributions de réservation.
bq mk --table
Crée une table. Les options suivantes sont acceptées :
--add_tags=TAGS
- Spécifie les tags que vous associez à la nouvelle table, séparés par une virgule. Exemple :
556741164180/env:prod,myProject/department:sales
. Chaque tag doit porter le nom de l'espace de noms associé à la clé et le nom court de la valeur. --clustering_fields=COLUMNS
- Liste contenant jusqu'à quatre noms de colonne séparés par une virgule, qui spécifie les champs à utiliser pour le clustering des tables. Si l'option est spécifiée avec le partitionnement, la table est d'abord partitionnée, puis chaque partition est mise en cluster à l'aide des colonnes fournies.
--description=DESCRIPTION
- Spécifie la description de la table.
--destination_kms_key=KEY
- Spécifie un identifiant de ressource de clé Cloud KMS pour chiffrer les données de la table de destination.
--expiration=SECONDS
- Spécifie la durée de vie de la table. Si vous ne spécifiez pas l'option
--expiration
, alors BigQuery crée la table avec la durée de vie par défaut de la table de l'ensemble de données. Dans le cas contraire, la table n'expire pas. --external_table_definition=STRING
Spécifie une définition de table pour créer une table externe.
Pour les tables externes Cloud Storage et Google Drive :
-
--external_table_definition={PATH_TO_FILE|DEFINITION}
- La valeur peut être un chemin d'accès à un fichier contenant une
définition de table
(
PATH_TO_FILE
) ou une définition de table intégrée (DEFINITION
).
- Le format du champ
DEFINITION
estSCHEMA@FORMAT=URI
. Le format de la valeur
SCHEMA
est une liste de définitions de colonnes séparées par des virgules au formatFIELD:DATA_TYPE, FIELD:DATA_TYPE
, etc. Vous pouvez omettre la valeurSCHEMA
si le format des données est auto-descriptif (tel que Avro) ou si vous utilisez la détection automatique de schéma.La valeur
FORMAT
spécifie le format de données. L'un des éléments suivants :AVRO
CSV
DATASTORE_BACKUP
(utilisez cette valeur pour Filestore)ICEBERG
NEWLINE_DELIMITED_JSON
ORC
PARQUET
Si vous spécifiez un fichier de définition de table, ne lui attribuez pas d'extension.
Exemple :
--external_table_definition=/tmp/tabledef
--external_table_definition=Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
Pour les tables externes Bigtable et les tables BigLake basées sur AWS et Azure :
--external_table_definition=PATH_TO_FILE
- La valeur doit être un chemin d'accès à un fichier contenant une définition de table.
Pour les tables BigLake basées sur Cloud Storage :
--external_table_definition=FORMAT=BUCKET_PATH@REGION.CONNECTION_NAME
:La valeur
FORMAT
spécifie le format de données. L'un des éléments suivants :AVRO
CSV
NEWLINE_DELIMITED_JSON
ICEBERG
ORC
PARQUET
BUCKET_PATH
est le chemin d'accès à un ou plusieurs fichiers dans Cloud Storage contenant les données de la table BigLake. Vous pouvez spécifierBUCKET_PATH
aux formats suivants :- Pour un seul fichier :
gs://bucket_name/[folder_name/]file_name
. - Pour plusieurs fichiers dans un même bucket :
gs://bucket_name/[folder_name/]*
. Pour plusieurs fichiers dans plusieurs buckets :
gs://mybucket1/*,gs://mybucket2/folder5/*
.Vous pouvez utiliser des caractères génériques pour limiter les fichiers inclus dans la table BigLake. Par exemple, si le bucket contient plusieurs types de données, vous pouvez demander à la table de n'utiliser que des fichiers PARQUET en spécifiant
gs://bucket_name/*.parquet
. Pour en savoir plus sur l'utilisation des caractères génériques, consultez la section Caractères génériques d'URI.
- Pour un seul fichier :
La valeur
REGION
spécifie la région ou l'emplacement multirégional contenant la connexion.La valeur
CONNECTION_NAME
spécifie le nom de la connexion à la ressource cloud à utiliser avec la table externe. La connexion détermine le compte de service utilisé pour lire les données depuis Cloud Storage.
Pour les tables d'objets :
--external_table_definition=BUCKET_PATH@REGION.CONNECTION_NAME
:BUCKET_PATH
est le chemin d'accès au bucket Cloud Storage contenant les objets représentés par la table d'objets, au formatgs://bucket_name/[folder_name/]*
. Vous pouvez spécifier plusieurs buckets en fournissant plusieurs chemins d'accès, par exemplegs://mybucket1/*,gs://mybucket2/folder5/*
.Vous pouvez utiliser des caractères génériques pour limiter les objets inclus dans la table d'objets. Par exemple, si le bucket contient plusieurs types de données non structurées, vous pouvez créer la table d'objets seulement pour des objets PDF en spécifiant
gs://bucket_name/*.pdf
. Pour en savoir plus sur l'utilisation des caractères génériques, consultez la section Caractères génériques d'URI.La valeur
REGION
spécifie la région ou l'emplacement multirégional contenant la connexion.La valeur
CONNECTION_NAME
spécifie le nom de la connexion à la ressource cloud à utiliser avec la table externe. La connexion détermine le compte de service utilisé pour lire les données depuis Cloud Storage.
-
--file_set_spec_type=FILE_SET_SPEC_TYPE
Spécifie comment interpréter les URI sources.
FILE_SYSTEM_MATCH
: développe les URI sources en répertoriant les fichiers du magasin d'objets. Il s'agit du comportement par défaut si FileSetSpecType n'est pas défini.NEW_LINE_DELIMITED_MANIFEST
: indique que les URI fournis sont des fichiers manifestes délimités par un retour à la ligne, avec un URI par ligne. Les URI génériques ne sont pas compatibles avec les fichiers manifestes, et tous les fichiers de données référencés doivent se trouver dans le même bucket que le fichier manifeste.
Par exemple, si vous disposez de l'URI source
"gs://bucket/path/file"
et quefile_set_spec_type
estFILE_SYSTEM_MATCH
, le fichier est utilisé directement en tant que fichier de données. Sifile_set_spec_type
est défini surNEW_LINE_DELIMITED_MANIFEST
, chaque ligne du fichier est interprétée comme un URI qui pointe vers un fichier de données.--reference_file_schema_uri=URI
Spécifie le chemin d'accès à un fichier de référence avec le schéma de table attendu pour créer des tables externes. Équivaut à
ExternalDataConfiguration.referenceFileSchemaUri
. Cette option est activée pour les formats Avro, ORC et PARQUET.--label=KEY:VALUE
Spécifie un libellé pour la table. Répétez cette option pour spécifier plusieurs libellés.
--max_staleness=INTERVAL
Indique si les métadonnées mises en cache sont utilisées par les opérations sur la table et indique le niveau nécessaire de fraîcheur des métadonnées mises en cache pour que l'opération puisse les utiliser.
Applicable aux tables BigLake et aux tables d'objets.
Pour désactiver la mise en cache des métadonnées, spécifiez 0. Il s'agit de la valeur par défaut.
Pour activer la mise en cache des métadonnées, spécifiez une valeur d'intervalle comprise entre 30 minutes et 7 jours, à l'aide du format
Y-M D H:M:S
décrit dans la documentation sur les type de donnéesINTERVAL
. Par exemple, spécifiez0-0 0 4:0:0
pour un intervalle d'obsolescence de quatre heures. Avec cette valeur, les opérations sur la table utilisent les métadonnées mises en cache si elles ont été actualisées au cours des quatre dernières heures. Si les métadonnées mises en cache sont plus anciennes, l'opération extrait les métadonnées de Cloud Storage.--object_metadata=STRING
Définissez la valeur de cette option sur
SIMPLE
lors de la création d'une table d'objets.Obligatoire seulement lors de la création d'une table d'objets.
--range_partitioning=COLUMN_NAME,START,END,INTERVAL
Spécifie les options pour une partition par plages d'entiers, comme suit :
column_name
est la colonne utilisée pour créer les partitions de la plage d'entiers.start
est la valeur de début inclusive du partitionnement par plages.end
est la valeur de fin exclusive du partitionnement par plages.interval
est la largeur de chaque plage au sein de la partition.
Exemple :
--range_partitioning=customer_id,0,10000,100
--require_partition_filter={true|false}
Pour exiger un filtre de partition pour les requêtes sur la table fournie, définissez cette valeur sur
true
. Cette option ne s'applique qu'aux tables partitionnées. La valeur par défaut estfalse
.--schema={SCHEMA_FILE|SCHEMA
}Spécifie le chemin d'accès à un fichier de schéma JSON local, ou une liste de définitions de colonnes séparées par une virgule au format
FIELD:DATA_TYPE, FIELD:DATA_TYPE
, et ainsi de suite. Si vous utilisez un fichier de schéma, n'utilisez pas d'extension.Exemples :
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--time_partitioning_expiration=SECONDS
Entier qui spécifie (en secondes) le moment où une partition temporelle doit être supprimée. Le délai d'expiration correspond à la date UTC de la partition plus la valeur entière. Un nombre négatif indique l'absence de délai d'expiration.
--time_partitioning_field=COLUMN_NAME
Spécifie le champ utilisé pour déterminer comment créer une partition temporelle. Si le partitionnement temporel est activé sans cette valeur, la table est partitionnée en fonction de la date de chargement.
--time_partitioning_type=INTERVAL
Active le partitionnement temporel sur une table et définit le type de partition. Appliquez l'une des valeurs suivantes :
DAY
HOUR
MONTH
YEAR
--use_avro_logical_types={true|false}
Si la partie
FORMAT
de l'option--external_table_definition
est définie surAVRO
, alors cette option spécifie s'il est nécessaire de convertir les types logiques dans les types correspondants (tels queTIMESTAMP
) au lieu d'utiliser uniquement leurs types bruts tels queINTEGER
.--parquet_enable_list_inference={true|false}
Si la partie
FORMAT
de l'option--external_table_definition
est définie surPARQUET
, alors cette option spécifie s'il est nécessaire d'utiliser l'inférence de schéma pour les types logiquesLIST
Parquet.--parquet_enum_as_string={true|false}
Si la partie
FORMAT
de l'option--external_table_definition
est définie surPARQUET
, alors cette option spécifie si l'inférence des types logiquesENUM
Parquet est nécessaire en tant que valeursSTRING
.
Pour en savoir plus, consultez la page Créer et utiliser des tables.
bq mk --transfer_config
Crée une configuration de transfert. Les options suivantes sont acceptées :
--data_source=DATA_SOURCE
- Spécifie la source de données. Obligatoire lors de la création d'une configuration de transfert. Utilisez l'une des valeurs suivantes :
amazon_s3
: transfert de données Amazon S3azure_blob_storage
: transfert de données Azure Blob Storagedcm_dt
: transfert de données Campaign Managergoogle_cloud_storage
: transfert de données Cloud Storagecross_region_copy
: copie de l'ensemble de donnéesdfp_dt
: transfert de données Google Ad Manageradwords
: transfert de données Google Adsgoogle_ads
: transfert de données Google Ads (preview)merchant_center
: transfert de données Google Merchant Centerplay
: transfert de données Google Playscheduled_query
: transfert de données des requêtes programméesdoubleclick_search
: transfert de données Search Ads 360youtube_channel
: transfert de données de chaîne YouTubeyoutube_content_owner
: transfert de données du propriétaire de contenu YouTuberedshift
: migration Amazon Redshifton_premises
: Migration de Teradata
--display_name=DISPLAY_NAME
- Spécifie le nom à afficher de la configuration de transfert.
--no_auto_scheduling={true|false}
- Désactive la programmation automatique des exécutions de transfert de données pour cette configuration.
La valeur par défaut est
false
. --params={"PARAMETER":"VALUE"}
ou-p={"PARAMETER":"VALUE"}
- Spécifie les paramètres pour la configuration de transfert au format JSON. Les paramètres varient en fonction de la source de données.
--refresh_window_days=DAYS
- Entier spécifiant la fenêtre d'actualisation pour la configuration de transfert en jours. La valeur par défaut est
0
. --service_account_name=SERVICE_ACCOUNT
- Spécifie un compte de service à utiliser comme identifiant pour la configuration de transfert.
--target_dataset=DATASET
- Spécifie l'ensemble de données cible pour la configuration de transfert.
--table_filter=TABLES
- Utilisé uniquement avec la source de données
google_ads
. Le paramètreTABLES
est une liste de tables séparées par une virgule à inclure dans le transfert. Pour exclure une table, ajoutez-lui un préfixe (-
). La valeur par défaut inclut toutes les tables du transfert.
Pour plus d'informations sur l'utilisation de la commande bq mk
avec le service de transfert de données BigQuery, consultez les pages suivantes :
- Configurer un transfert Amazon S3
- Configurer un transfert Campaign Manager
- Configurer un transfert Cloud Storage
- Configurer un transfert Google Ad Manager
- Configurer un transfert Google Ads
- Configurer un transfert Google Merchant Center (version bêta)
- Configurer un transfert Google Play
- Configurer un transfert Search Ads 360 (version bêta)
- Configurer un transfert de chaîne YouTube
- Configurer un transfert de propriétaire de contenu YouTube
- Migrer des données depuis Amazon Redshift
- Migrer des données depuis Teradata
bq mk --transfer_run
Crée une exécution de transfert de données à l'heure ou à la période spécifiée utilisant la configuration de transfert de données spécifiée.
Synopsis
bq mk --transfer_run [--run_time=RUN_TIME | --start_time=START_TIME --end_time=END_TIME] CONFIG
Les options suivantes sont acceptées :
--run_time=RUN_TIME
- Horodatage qui spécifie l'heure de planification de l'exécution du transfert de données.
--start_time=START_TIME
- Horodatage qui spécifie l'heure de début d'une plage d'exécutions de transferts de données.
--end_time=END_TIME
- Horodatage qui spécifie l'heure de fin d'une plage d'exécutions de transferts de données.
Le format de l'horodatage est : RFC3339 UTC "Zulu".
L'argument CONFIG
spécifie une configuration de transfert de données préexistante.
Exemples
bq mk --transfer_run \ --run_time=2021-01-20T17:00:00.00Z \ projects/p/locations/l/transferConfigs/c
bq mk --transfer_run \ --start_time=2020-12-19T16:39:57-08:00 \ --end_time=2020-12-19T20:39:57-08:00 \ projects/p/locations/l/transferConfigs/c
bq mk --view
Crée une vue. Les options suivantes sont acceptées :
--add_tags=TAGS
- Spécifie les tags que vous associez à la nouvelle vue, séparés par une virgule. Exemple :
556741164180/env:prod,myProject/department:sales
. Chaque tag doit porter le nom de l'espace de noms associé à la clé et le nom court de la valeur. --description=DESCRIPTION
- Spécifie la description de la vue.
--expiration=SECONDS
- Indique la durée de vie de la vue. En cas de définition de
SECONDS
sur0
, la vue n'expire pas. Si vous ne spécifiez pas l'option--expiration
, alors BigQuery crée la vue avec la durée de vie par défaut de la table de l'ensemble de données. --label=KEY:VALUE
- Spécifie un libellé pour la vue. Répétez cette option pour spécifier plusieurs libellés.
--use_legacy_sql={true|false}
- Définissez cet élément sur
false
pour utiliser une requête GoogleSQL afin de créer une vue. La valeur par défaut esttrue
; utilise l'ancien SQL. --view_udf_resource=FILE
- Spécifie l'URI Cloud Storage ou le chemin d'accès à un fichier de code local chargé et évalué immédiatement en tant que ressource de fonction définie par l'utilisateur utilisée par la requête SQL d'une vue. Répétez cet indicateur pour spécifier plusieurs fichiers.
Pour plus d'informations, consultez la page Créer des vues.
bq mkdef
Exécutez la commande bq mkdef
pour créer une définition de table au format JSON pour les données stockées dans Cloud Storage ou Google Drive.
Synopsis
bq mkdef [FLAGS] URI [ > FILE ]
Options et arguments
La commande bq mkdef
utilise les options et arguments suivants :
--autodetect={true|false}
- Indique s'il faut utiliser la détection automatique de schéma pour les données CSV et JSON. La valeur par défaut est
false
. --connection_id=CONNECTION_ID
- ID d'une ressource de connexion à utiliser pour l'authentification.
--hive_partitioning_mode
Indique comment déterminer le schéma de partitionnement lorsque BigQuery lit des données. Les modes suivants sont disponibles :
AUTO
: déduit automatiquement les noms et types de clés de partitionnement.STRINGS
: déduit automatiquement les noms des clés de partitionnement. Tous les types sont traités comme des chaînes.CUSTOM
: spécifie le schéma de partitionnement dans le préfixe d'URI source.
La valeur par défaut est
AUTO
.--hive_partitioning_source_uri_prefix
Spécifie le préfixe commun des URI sources. La valeur du préfixe commun correspond à la partie de l'URI qui précède immédiatement l'encodage de la clé de partitionnement. Si vous avez défini le mode
CUSTOM
, vous devez également identifier le schéma de partitionnement.Prenons l'exemple de fichiers dont la structure est la suivante :
gs://bucket/path_to_table/dt=2019-06-01/country=USA/id=7/file.avro
gs://bucket/path_to_table/dt=2019-05-31/country=CA/id=3/file.avro
Si vous utilisez les modes
AUTO
ouSTRINGS
, les valeurs suivantes sont acceptées :gs://bucket/path_to_table
gs://bucket/path_to_table/
Si vous utilisez le mode
CUSTOM
, les valeurs suivantes sont acceptées :gs://bucket/path_to_table/{dt:DATE}/{country:STRING}/{id:INTEGER}
gs://bucket/path_to_table/{dt:STRING}/{country:STRING}/{id:INTEGER}
gs://bucket/path_to_table/{dt:DATE}/{country:STRING}/{id:STRING}
Pour plus d'informations sur l'utilisation de la commande bq mkdef
, consultez la page Créer un fichier de définition de table pour une source de données externe.
--ignore_unknown_values={true|false}
ou-i={true|false}
- Indique s'il faut ignorer ou non les valeurs d'une ligne qui ne sont pas présentes dans le schéma. La valeur par défaut est
false
. --metadata_cache_mode=STRING
Indique si le cache de métadonnées de la table est actualisé automatiquement ou manuellement.
Définissez cet élément sur
AUTOMATIC
pour que le cache de métadonnées soit actualisé à un intervalle défini par le système, généralement entre 30 et 60 minutes.Définissez la valeur sur
MANUAL
si vous souhaitez actualiser le cache de métadonnées selon une programmation que vous déterminez. Dans ce cas, vous pouvez appeler la procédure systèmeBQ.REFRESH_EXTERNAL_METADATA_CACHE
pour actualiser le cache.Vous devez définir l'option
--metadata_cache_mode
si vous définissez l'option--max_staleness
avec la commandebq mk
.--parquet_enable_list_inference={true|false}
Si
source_format
est défini surPARQUET
, cette option spécifie s'il faut utiliser l'inférence de schéma pour les types logiquesLIST
Parquet. La valeur par défaut estfalse
.--parquet_enum_as_string={true|false}
Si
source_format
est défini surPARQUET
, cette option spécifie s'il faut déduire les types logiquesENUM
Parquet en tant que valeursSTRING
. La valeur par défaut estfalse
.--file_set_spec_type=FILE_SET_SPEC_TYPE
Spécifie comment interpréter les URI sources.
FILE_SYSTEM_MATCH
: développe les URI sources en répertoriant les fichiers du magasin d'objets. Il s'agit du comportement par défaut si FileSetSpecType n'est pas défini.NEW_LINE_DELIMITED_MANIFEST
: indique que les URI fournis sont des fichiers manifestes délimités par un retour à la ligne, avec un URI par ligne. Les URI génériques ne sont pas compatibles avec les fichiers manifestes, et tous les fichiers de données référencés doivent se trouver dans le même bucket que le fichier manifeste.
Par exemple, si vous disposez de l'URI source
"gs://bucket/path/file"
et quefile_set_spec_type
estFILE_SYSTEM_MATCH
, le fichier est utilisé directement en tant que fichier de données. Sifile_set_spec_type
est défini surNEW_LINE_DELIMITED_MANIFEST
, chaque ligne du fichier est interprétée comme un URI qui pointe vers un fichier de données.--source_format=FORMAT
Spécifie le format des données source. Appliquez l'une des valeurs suivantes :
AVRO
CSV
DATASTORE_BACKUP
(utilisez cette valeur pour Filestore)GOOGLE_SHEETS
NEWLINE_DELIMITED_JSON
ORC
PARQUET
La valeur par défaut est
CSV
.--use_avro_logical_types={true|false}
Si l'option
--source_format
est définie surAVRO
, cette option spécifie s'il faut convertir les types logiques dans leurs types correspondants tels queTIMESTAMP
, au lieu de n'utiliser que leurs types bruts (tels queINTEGER
). La valeur par défaut estfalse
.
bq partition
Utilisez la commande bq partition
pour convertir un groupe de tables comportant des suffixes d'unité de temps, tels que des tables se terminant par YYYYMMDD
pour le partitionnement de dates, en tables partitionnées.
Synopsis
bq partition [FLAGS] SOURCE_TABLE_BASE_NAME PARTITION_TABLE
Options et arguments
La commande bq partition
utilise les options et arguments suivants :
--no_clobber={true|false}
ou-n={true|false}
- Pour interdire l'écrasement d'une partition existante, définissez cette option sur
true
. La valeur par défaut estfalse
. Si la partition existe, elle est écrasée. --time_partitioning_expiration=SECONDS
- Entier qui spécifie (en secondes) le moment où une partition temporelle doit être supprimée. Le délai d'expiration correspond à la date UTC de la partition plus la valeur entière. Un nombre négatif indique l'absence de délai d'expiration.
--time_partitioning_type=INTERVAL
Spécifie le type de partition. Le tableau suivant fournit les valeurs possibles pour l'option
INTERVAL
et le format de suffixe d'unité de temps attendu pour chacune :INTERVAL
Suffixe HOUR
YYYYMMDDHH
DAY
YYYYMMDD
MONTH
YYYYMM
YEAR
YYYY
SOURCE_TABLE_BASE_NAME
Nom de base du groupe de tables avec des suffixes d'unité de temps.
PARTITION_TABLE
Nom de la table partitionnée de destination.
Pour plus d'informations sur l'utilisation de la commande bq partition
, consultez la page Convertir des tables segmentées par date en tables partitionnées par date d'ingestion.
bq query
Utilisez la commande bq query
pour créer une tâche de requête qui exécute la requête SQL spécifiée.
Synopsis
bq query [FLAGS] 'QUERY'
Options et arguments
La commande bq query
utilise les options et arguments suivants :
--allow_large_results={true|false}
- Afin d'activer des tailles de tables de destination importantes pour les requêtes en ancien SQL, définissez la valeur sur
true
. La valeur par défaut estfalse
. --append_table={true|false}
- Pour ajouter des données à une table de destination, définissez cette valeur sur
true
. La valeur par défaut estfalse
. --batch={true|false}
- Pour exécuter la requête en mode de traitement par lot, définissez la valeur sur
true
. La valeur par défaut estfalse
. --clustering_fields=COLUMNS
- Liste contenant jusqu'à quatre noms de colonne séparés par une virgule, qui spécifie les champs à utiliser pour mettre en cluster la table de destination dans une requête. Si l'option est spécifiée avec le partitionnement, la table est d'abord partitionnée, puis chaque partition est mise en cluster à l'aide des colonnes fournies.
--connection_property=KEY:VALUE
Une paire clé-valeur qui vous permet de spécifier des propriétés au niveau de la connexion pour personnaliser le comportement des requêtes. Répétez cette option pour spécifier des propriétés supplémentaires.
Les propriétés de connexion compatibles sont les suivantes :
dataset_project_id
: représente le projet par défaut pour les ensembles de données utilisés dans la requête (semblable à la variable système@@dataset_project_id
).query_label
: associe la requête à une étiquette de job donnée. Si cette option est définie, toutes les requêtes suivantes d'un script ou d'une session sont associées à cette étiquette. Pour en savoir plus sur les exigences de mise en forme des étiquettes de requête, consultez le champlabels
dans la ressourceJobConfiguration
.service_account
: indique un compte de service à utiliser pour exécuter la requête. Exemple :--connection_property=service_account=myserviceaccount@project.iam.gserviceaccount.com
.session_id
: associe la requête à une session donnée.time_zone
: représente le fuseau horaire par défaut à utiliser pour exécuter la requête.
--continuous={true|false}
Pour exécuter une requête continue (preview), définissez cette valeur sur
true
. La valeur par défaut estfalse
.--destination_kms_key=KEY
Spécifie un identifiant de ressource de clé Cloud KMS permettant de chiffrer les données de la table de destination.
--destination_schema={PATH_TO_FILE|SCHEMA}
Chemin d'accès à un fichier de schéma JSON local, ou liste de définitions de colonnes séparées par une virgule au format
FIELD:DATA_TYPE, FIELD:DATA_TYPE
.Les modifications de schéma se produisent dans une opération distincte de l'exécution de la requête. Si vous écrivez des résultats de requête dans une table en spécifiant l'option
--destination_table
et que la requête génère ensuite une exception, il est possible que toutes les modifications de schéma soient ignorées. Dans ce cas, vérifiez le schéma de la table de destination et mettez-le à jour manuellement si nécessaire.--destination_table=TABLE
Si spécifié, les résultats de la requête sont enregistrés dans
TABLE
. SpécifiezTABLE
au format suivant :PROJECT
:DATASET
.TABLE
. SiPROJECT
n'est pas spécifié, le projet actuel est utilisé. Si l'option--destination_table
n'est pas spécifiée, les résultats de la requête sont enregistrés dans une table temporaire.Exemples :
--destination_table myProject:myDataset.myTable
--destination_table myDataset.myTable
--dry_run={true|false}
Si spécifié, la requête est validée, mais pas exécutée.
--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}
Spécifie le nom de la table et la définition de table pour une requête de table externe. La définition de table peut être un chemin d'accès à un fichier de schéma JSON local ou à une définition de table intégrée. Le format de définition de la table intégrée est
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI
. La valeurSCHEMA
est une liste de définitions de colonnes séparées par des virgules au formatFIELD:DATA_TYPE, FIELD:DATA_TYPE
, etc. Si vous utilisez un fichier de définition de table, alors ne lui attribuez pas d'extension.Exemple :
--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
Répétez cette option pour interroger plusieurs tables.
--flatten_results={true|false}
Pour interdire l'aplatissement de champs imbriqués et répétés dans les résultats des requêtes en ancien SQL existantes, définissez cette valeur sur
false
. La valeur par défaut esttrue
.--label=KEY:VALUE
Spécifie un libellé pour la tâche de requête. Répétez cette option pour spécifier plusieurs libellés.
--max_rows=MAX_ROWS
ou-n=MAX_ROWS
Entier indiquant le nombre de lignes à renvoyer dans les résultats de la requête. La valeur par défaut est
100
.--maximum_bytes_billed=MAX_BYTES
Entier qui limite le nombre d'octets facturés pour la requête. Si la requête dépasse la limite, elle échoue (sans entraîner de frais). Si cette option n'est pas spécifiée, le nombre d'octets facturés est défini sur la valeur par défaut du projet.
--max_statement_results=VALUE
Nombre entier indiquant le nombre maximal d'instructions de script affichées pour les résultats de la requête. La valeur par défaut est
100
.--min_completion_ratio=RATIO
[Expérimental] Nombre compris entre 0 et 1.0 qui spécifie la fraction minimale de données à analyser avant le renvoi d'une requête. Si l'option n'est pas spécifiée, la valeur de serveur par défaut
1.0
est utilisée.--parameter={PATH_TO_FILE|PARAMETER}
Fichier JSON contenant une liste de paramètres de requête, ou un paramètre de requête au format
NAME:TYPE:VALUE
. Un nom vide crée un paramètre positionnel. SiTYPE
est omis, le typeSTRING
est utilisé.NULL
spécifie une valeur nulle. Répétez cette option pour spécifier plusieurs paramètres.Exemple :
--parameter=/tmp/queryParams
--parameter=Name::Oscar
--parameter=Count:INTEGER:42
--range_partitioning=COLUMN_NAME,START,END,INTERVAL
Utilisez cette option avec l'option
--destination_table
. Spécifie les options de partitionnement par plages d'entiers dans la table de destination. La valeur est une liste d'éléments séparés par une virgule au formatcolumn_name,start,end,interval
, oùcolumn_name
est la colonne utilisée pour créer les partitions de la plage d'entiers.start
est la valeur de début inclusive du partitionnement par plages.end
est la valeur de fin exclusive du partitionnement par plages.interval
est la largeur de chaque plage au sein de la partition.
Exemple :
--range_partitioning=customer_id,0,10000,100
--replace={true|false}
Pour écraser la table de destination avec les résultats de la requête, définissez la valeur sur
true
. Les données et les schémas existants sont effacés. Les clés Cloud KMS sont également supprimées, sauf si vous spécifiez l'option--destination_kms_key
. La valeur par défaut estfalse
.--require_cache={true|false}
Si spécifié, n'exécute la requête que si les résultats peuvent être récupérés du cache.
--require_partition_filter={true|false}
Si spécifié, un filtre de partition est nécessaire pour exécuter des requêtes sur la table fournie. Cette option ne peut être utilisée qu'avec une table partitionnée.
--rpc={true|false}
Pour utiliser l'API de requête de style RPC au lieu de la méthode
jobs.insert
de l'API REST, définissez cette valeur surtrue
. La valeur par défaut estfalse
.--schedule="SCHEDULE"
Définit une requête programmée récurrente. La fréquence programmée d'exécution de la requête est requise.
Exemples :
--schedule="every 24 hours"
--schedule="every 3 hours"
Pour obtenir une description de la syntaxe de programmation, consultez la section Mettre en forme l'élément schedule.
--schema_update_option=OPTION
Lorsque vous ajoutez des données à une table (dans une tâche de chargement ou de requête) ou que vous remplacez une partition de table, spécifie comment mettre à jour le schéma de la table de destination. Appliquez l'une des valeurs suivantes :
ALLOW_FIELD_ADDITION
: autoriser l'ajout de nouveaux champsALLOW_FIELD_RELAXATION
: autoriser l'assouplissement des champsREQUIRED
surNULLABLE
Répétez cette option pour spécifier plusieurs options de mise à jour de schéma.
--start_row=ROW_NUMBER
ou-s=ROW_NUMBER
Entier spécifiant la première ligne à renvoyer dans le résultat de la requête. La valeur par défaut est
0
.--target_dataset=DATASET
Si spécifié avec
--schedule
, met à jour l'ensemble de données cible pour une requête programmée. Il doit s'agir d'une requête LDD ou LMD.--time_partitioning_expiration=SECONDS
Utilisez cette option avec l'option
--destination_table
. Entier qui spécifie (en secondes) le délai au terme duquel une partition temporelle doit être supprimée. Le délai d'expiration correspond à la date UTC de la partition plus la valeur entière. Un nombre négatif indique l'absence de délai d'expiration.--time_partitioning_field=COLUMN_NAME
Utilisez cette option avec l'option
--destination_table
. Spécifie la colonne de partitionnement pour le partitionnement temporel. Si le partitionnement temporel est activé sans cette valeur, la table est partitionnée en fonction de la date d'ingestion.--time_partitioning_type=INTERVAL
Utilisez cette option avec l'option
--destination_table
. Spécifie le type de partition dans la table de destination. Appliquez l'une des valeurs suivantes :DAY
HOUR
MONTH
YEAR
--udf_resource=FILE
Cette option ne s'applique qu'aux requêtes en ancien SQL. Spécifie l'URI Cloud Storage ou le chemin d'accès à un fichier local contenant une ressource de fonction définie par l'utilisateur à utiliser par une requête en ancien SQL. Répétez cet indicateur pour spécifier plusieurs fichiers.
--use_cache={true|false}
Pour interdire la mise en cache des résultats de requête, définissez cette valeur sur
false
. La valeur par défaut esttrue
.--use_legacy_sql={true|false}
Pour exécuter une requête GoogleSQL, définissez cette valeur sur
false
. La valeur par défaut esttrue
. La commande utilise l'ancien SQL.--job_timeout_ms={string (Int64Value)}
Spécifie la durée maximale d'exécution d'une requête, en millisecondes. Si cette limite est dépassée, BigQuery tente d'arrêter le job.
QUERY
Requête que vous souhaitez exécuter. Vous pouvez spécifier la requête à l'aide de l'une des méthodes suivantes :
Spécifiez une chaîne contenant la requête.
Si vous devez utiliser des littéraux de chaîne supplémentaires dans la requête, vous devez respecter les règles relatives aux guillemets du shell que vous utilisez. Par exemple : Bash ou PowerShell.
L'exemple suivant illustre une approche typique dans Bash, qui consiste à utiliser des guillemets doubles pour indiquer les littéraux de chaîne dans la requête, puis à placer la requête elle-même entre guillemets simples :
'SELECT * FROM mydataset.mytable WHERE column1 = "value";'
Si vous copiez la requête à partir d'un autre emplacement, vous devez également supprimer tous les commentaires de la requête.
Transmettez un script SQL contenant la requête. L'exemple suivant montre comment transmettre un script SQL dans le shell Bash :
bq query --use_legacy_sql=false < query.sql
Pour en savoir plus sur l'utilisation de la commande bq query
, consultez Exécuter une requête.
bq remove-iam-policy-binding
Utilisez la commande bq remove-iam-policy-binding
pour récupérer la stratégie IAM d'une ressource et supprimer une liaison de la stratégie en une seule étape.
La ressource peut être une table ou une vue.
Cette commande constitue une alternative au processus en trois étapes suivant :
- Utiliser la commande
bq get-iam-policy
pour récupérer le fichier de stratégie (au format JSON) - Modifier le fichier de stratégie
- Exécuter la commande
bq set-iam-policy
pour mettre à jour la stratégie sans la liaison
Synopsis
bq remove-iam-policy-binding FLAGS --member=MEMBER_TYPE:MEMBER --role=ROLE RESOURCE
Options et arguments
La commande bq remove-iam-policy-binding
utilise les options et arguments suivants :
--member=MEMBER_TYPE:MEMBER
Obligatoire. Utilisez l'option
--member
pour spécifier la partie membre de la liaison de stratégie IAM. L'option--member
doit être spécifiée avec l'option--role
. Une combinaison des options--member
et--role
équivaut à une liaison.La valeur
MEMBER_TYPE
spécifie le type de membre dans la liaison de stratégie IAM. Appliquez l'une des valeurs suivantes :user
serviceAccount
group
domain
La valeur
MEMBER
spécifie l'adresse e-mail ou le domaine du membre dans la liaison de stratégie IAM.--role=ROLE
Obligatoire. Spécifie la partie de la liaison de stratégie IAM correspondant au rôle. L'option
--role
doit être spécifiée avec l'option--member
. Une combinaison des options--member
et--role
équivaut à une liaison.--table={true|false}
ou-t={true|false}
Facultatif. Pour supprimer une liaison de la stratégie IAM d'une table ou d'une vue, définissez cette valeur
true
. La valeur par défaut estfalse
.
RESOURCE
est la table ou la vue dont vous souhaitez supprimer la liaison de stratégie.
Pour en savoir plus, consultez la documentation de référence sur les stratégies IAM.
bq rm
Exécutez la commande bq rm
pour supprimer une ressource BigQuery.
Synopsis
bq rm [FLAGS] RESOURCE
Options et arguments
La commande bq rm
utilise les options et arguments suivants :
--capacity_commitment={false|true}
- Pour supprimer un engagement de capacité, définissez cette option sur
true
, spécifiez l'emplacement de l'engagement à supprimer à l'aide de l'option--location
et remplacezRESOURCE
par ID de l'engagement que vous souhaitez supprimer. --dataset={true|false}
ou-d={true|false}
- Pour supprimer un ensemble de données, définissez cette valeur sur
true
. La valeur par défaut estfalse
. --force={true|false}
ou-f={true|false}
- Pour supprimer une ressource sans invite de confirmation, définissez cette valeur sur
true
. La valeur par défaut estfalse
. --job={true|false}
ou-j={true|false}
- Pour supprimer une tâche, définissez la valeur sur "true". Elle est définie par défaut sur "false".
--model={true|false}
ou-m={true|false}
- Pour supprimer un modèle BigQuery ML, définissez cette valeur sur
true
. La valeur par défaut estfalse
. --recursive={true|false}
ou-r{true|false}
- Pour supprimer un ensemble de données et toutes les tables, les données de tables ou les modèles qu'il contient, définissez cette valeur sur
true
. La valeur par défaut estfalse
. --reservation={true|false}
- Pour supprimer une réservation, définissez cette valeur sur
true
. La valeur par défaut estfalse
. --reservation_assignment={true|false}
- Pour supprimer une attribution de réservation, définissez cette valeur sur
true
. La valeur par défaut estfalse
. --routine={true|false}
- Pour supprimer une routine, définissez-la sur
true
. La valeur par défaut estfalse
. Une routine peut être une fonction persistante définie par l'utilisateur, une fonction de table (Bêta) ou une procédure stockée. --table={true|false}
ou-t={true|false}
- Pour supprimer une table ou une vue, définissez cette valeur sur
true
. La valeur par défaut estfalse
. --transfer_config={true|false}
- Pour supprimer une configuration de transfert, définissez cette valeur sur
true
. La valeur par défaut estfalse
. RESOURCE
- La ressource que vous souhaitez supprimer.
Pour plus d'informations sur l'utilisation de la commande bq rm
, consultez les pages suivantes :
- Gérer les ensembles de données
- Gérer les tâches
- Gérer des tables
- Gérer les vues
- Utiliser les transferts
- Supprimer des instantanés de table
bq set-iam-policy
Utilisez la commande bq set-iam-policy
pour spécifier ou mettre à jour la stratégie IAM d'une ressource. La ressource peut être une table ou une vue.
Une fois la stratégie définie, la nouvelle stratégie est affichée sur stdout
. La stratégie est au format JSON.
Le champ etag
de la stratégie mise à jour doit correspondre à la valeur etag
de la stratégie actuelle. Sinon, la mise à jour échoue. Cette fonctionnalité empêche les mises à jour simultanées.
Vous pouvez connaître la stratégie actuelle et la valeur etag
d'une ressource à l'aide de la commande bq get-iam-policy
.
Synopsis
bq set-iam-policy [FLAGS] RESOURCE FILE_NAME
Options et arguments
La commande bq set-iam-policy
utilise les options et arguments suivants :
--table={true|false}
ou-t={true|false}
- Facultatif. Pour définir la stratégie IAM d'une table ou d'une vue, définissez cette valeur sur
true
. La valeur par défaut estfalse
.
RESOURCE est la table ou la vue dont vous souhaitez mettre à jour la stratégie.
FILE_NAME est un nom de fichier contenant la stratégie au format JSON.
Pour en savoir plus sur la commande bq set-iam-policy
, consultez la page Contrôler l'accès aux ressources avec IAM.
bq show
Utilisez la commande bq show
pour afficher les informations sur une ressource.
Synopsis
bq show [FLAGS] [RESOURCE]
Options et arguments
La commande bq show
utilise les options et arguments suivants :
--assignee_id=ASSIGNEE
- Avec l'option
--reservation_assignment
, spécifie l'ID d'un dossier, d'une organisation ou d'un projet. Utilisez l'option--assignee_type
pour spécifier le type de responsable à afficher. --assignee_type=TYPE
- Avec l'option
--reservation_assignment
, spécifie le type d'entité à afficher. Utilisez l'une des valeurs suivantes :FOLDER
ORGANIZATION
PROJECT
--connection={true|false}
- Pour afficher des informations sur une connexion, définissez cette valeur sur
true
. La valeur par défaut estfalse
. Pour en savoir plus, consultez la section Afficher une ressource de connexion. --dataset={true|false}
ou-d={true|false}
- Pour afficher des informations sur un ensemble de données, définissez cette valeur sur
true
. La valeur par défaut estfalse
. --encryption_service_account={true|false}
- Pour afficher le compte de service de chiffrement d'un projet, s'il existe, ou en créer un, définissez la valeur sur
true
. La valeur par défaut estfalse
. Utilisez cette option avec l'option--project_id
. --job={true|false}
ou-j={true|false}
- Pour afficher des informations sur une réservation, définissez cette valeur sur
true
. La valeur par défaut estfalse
. --job_type=JOB_TYPE
- Avec l'option
--reservation_assignment
, spécifie le type de tâche des attributions de réservation que vous souhaitez afficher. Utilisez l'une des valeurs suivantes :QUERY
PIPELINE
ML_EXTERNAL
--model={true|false}
ou-m={true|false}
- Pour afficher des informations sur un modèle BigQuery ML, définissez cette valeur sur
true
. La valeur par défaut estfalse
. --reservation={true|false}
- Pour afficher des informations sur une réservation, définissez cette valeur sur
true
. La valeur par défaut estfalse
. --reservation_assignment={true|false}
- En cas de définition sur
true
, la commande affiche les attributions de réservation pour un dossier, une organisation ou un projet spécifié. La commande affiche les attributions explicites de la ressource cible, le cas échéant. Sinon, elle affiche les attributions héritées des ressources parentes. Par exemple, un projet peut hériter des attributions de son dossier parent. Lorsque vous utilisez cette option, les options--job_type
,--assignee_type
et--assignee_id
s'appliquent. La valeur par défaut estfalse
. --routine={true|false}
- Pour afficher des informations sur une routine, définissez cette valeur sur
true
. La valeur par défaut estfalse
. Une routine peut être une fonction persistante définie par l'utilisateur, une fonction de table (Bêta) ou une procédure stockée. --schema={true|false}
- Pour n'afficher que le schéma de la table, définissez cette valeur sur
true
. La valeur par défaut estfalse
. --transfer_config={true|false}
- Pour afficher des informations sur une configuration de transfert, définissez cette valeur sur
true
. La valeur par défaut estfalse
. --transfer_run={true|false}
- Pour afficher des informations sur une exécution de transfert, définissez cette valeur sur
true
. La valeur par défaut estfalse
. --view={true|false}
- Pour afficher des informations sur une vue, définissez cette valeur sur
true
. La valeur par défaut estfalse
. RESOURCE
- Ressource dont vous souhaitez afficher les informations.
Pour plus d'informations sur l'utilisation de la commande bq show
, consultez les pages suivantes :
- Obtenir des informations sur les ensembles de données
- Créer et utiliser des tables
- Obtenir des informations sur les vues
- Utiliser les transferts
- Gérer les tâches
- Obtenir des informations sur un instantané de table
bq update
Utilisez la commande bq update
pour modifier une ressource.
Synopsis
bq update [FLAGS] [RESOURCE]
Options et arguments
La commande bq update
utilise les options et arguments suivants :
--add_tags=TAGS
- Uniquement disponible dans les ensembles de données et les tables. Spécifie les tags que vous associez à la ressource, séparés par une virgule. Exemple :
556741164180/env:prod,myProject/department:sales
. Chaque tag doit porter le nom de l'espace de noms associé à la clé et le nom court de la valeur. --autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS
- Nombre d'emplacements d'autoscaling attribués à la réservation. Il est égal à la valeur de la taille de réservation maximale moins le nombre d'emplacements de base. Disponible uniquement avec l'option
--reservation
et si la réservation a été créée avec une édition. --capacity_commitment={true|false}
- Pour mettre à jour un engagement de capacité, définissez cette valeur sur
true
. Utilisez cette option avec les options--merge
,--plan
,--renewal_plan
,--split
et--slots
. --clear_all_tags={true|false}
- Uniquement disponible dans les ensembles de données et les tables. Pour effacer tous les tags d'une ressource, définissez cette valeur sur
true
. La valeur par défaut estfalse
. --clear_label=KEY:VALUE
- Supprime un libellé de la ressource. Utilisez le format
KEY:VALUE
pour spécifier le libellé à supprimer. Répétez cette option pour supprimer plusieurs libellés. --clustering_fields=COLUMNS
- Met à jour la spécification de clustering d'une table. La valeur COLUMNS est une liste de noms de colonnes séparés par des virgules, à utiliser pour le clustering. Pour supprimer le clustering, définissez COLUMNS sur
""
(la chaîne vide). Pour en savoir plus, consultez la page Modifier la spécification du clustering. --target_job_concurrency=CONCURRENCY
- Avec l'option
--reservation
, spécifie le nombre cible de requêtes à exécuter simultanément. La valeur par défaut est 0, ce qui signifie que la simultanéité est automatiquement définie en fonction de la taille de la réservation. Pour en savoir plus, consultez la section Utiliser des files d'attente de requêtes. --dataset={true|false}
ou-d={true|false}
- Pour mettre à jour un ensemble de données, définissez cette valeur sur
true
. La valeur par défaut estfalse
. --default_kms_key=KEY
- Spécifie l'identifiant de ressource de clé Cloud KMS par défaut pour le chiffrement des données de la table dans un ensemble de données. La clé par défaut est utilisée si aucune clé explicite n'est fournie pour la création d'une table ou une requête.
--default_partition_expiration=SECONDS
Entier spécifiant le délai d'expiration par défaut en secondes pour toutes les partitions des tables partitionnées nouvellement créées dans l'ensemble de données. Aucune valeur minimale n'est définie pour cette option.
Le délai d'expiration d'une partition est défini sur la date UTC de la partition plus la valeur entière. Si cette propriété est définie, elle remplace le délai d'expiration de la table par défaut au niveau de l'ensemble de données, s'il existe. Si vous spécifiez l'option
--time_partitioning_expiration
lors de la création ou de la mise à jour d'une table partitionnée, le délai d'expiration des partitions défini au niveau de la table est prioritaire sur le délai d'expiration des partitions défini par défaut au niveau de l'ensemble de données. Spécifiez la valeur0
pour supprimer un délai d'expiration existant.--default_table_expiration=SECONDS
Entier qui met à jour la durée de vie par défaut en secondes des tables nouvellement créées dans un ensemble de données. Le délai d'expiration correspond à l'heure UTC actuelle plus la valeur entière. Spécifiez la valeur
0
pour supprimer le délai d'expiration existant.--description=DESCRIPTION
Met à jour la description d'un ensemble de données, d'une table, d'un instantané de table, d'un modèle ou d'une vue.
--destination_reservation_id=RESERVATION_ID
Avec l'option
--reservation_assignment
, déplace une attribution de réservation existante vers la réservation spécifiée. La valeur correspond à l'identifiant de la réservation de destination. Pour en savoir plus, consultez l'article Déplacer une attribution vers une autre réservation.--display_name=DISPLAY_NAME
Met à jour le nom à afficher pour une configuration de transfert.
--etag=ETAG
Agit comme un filtre ; met à jour la ressource uniquement si la ressource possède un ETag qui correspond à la chaîne spécifiée dans l'argument
ETAG
.--expiration SECONDS
Pour mettre à jour la date d'expiration d'une table, d'un modèle, d'un instantané de table ou d'une vue, spécifiez cette option. Remplacez
SECONDS
par le nombre de secondes entre l'heure de mise à jour et l'heure d'expiration. Pour supprimer le délai d'expiration d'une table, d'un modèle, d'un instantané de table ou d'une vue, définissez l'argumentSECONDS
sur 0.--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}
Met à jour une table externe avec la définition de table spécifiée. La définition de table peut être un chemin d'accès à un fichier de définition de table JSON local ou à une définition de table intégrée au format
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI
. La valeurSCHEMA
est une liste de définitions de colonnes séparées par une virgule au formatFIELD:DATA_TYPE, FIELD:DATA_TYPE
. Si vous utilisez un fichier de définition de table, alors ne lui attribuez pas d'extension.Exemple :
--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
--ignore_idle_slots={true|false}
Utilisez cette option avec l'option
--reservation
. Pour limiter les tâches exécutées dans la réservation spécifiée afin d'utiliser uniquement les emplacements alloués à cette réservation, définissez l'option surtrue
. La valeur par défaut estfalse
. Les tâches de la réservation spécifiée peuvent utiliser des emplacements inactifs provenant d'autres réservations, ou des emplacements qui ne sont pas alloués à une réservation. Pour en savoir plus, consultez la section Emplacements inactifs.--max_time_travel_hours=HOURS
Spécifie la durée, en heures, de la fenêtre temporelle du nouvel ensemble de données. La valeur
--max_time_travel_hours
doit être un entier exprimé par des multiples de 24 (48, 72, 96, 120, 144, 168) entre 48 (2 jours) et 168 (7 jours).--merge={true|false}
Pour fusionner deux engagements de capacité, définissez
--merge
surtrue
. Définissez l'option--capacity_commitment
surtrue
, spécifiez l'emplacement des engagements à fusionner à l'aide de l'option--location
et remplacezRESOURCE
par les ID. des deux engagements que vous souhaitez fusionner, séparés par une virgule. Pour plus d'informations, consultez la section Fusionner deux engagements.--model={true|false}
ou-m={true|false}
Pour mettre à jour les métadonnées d'un modèle BigQuery ML, définissez cette valeur sur
true
. La valeur par défaut estfalse
.--params={"PARAMETER":"VALUE"} or -p={"PARAMETER":"VALUE"}
Met à jour les paramètres d'une configuration de transfert. Les paramètres varient en fonction de la source de données. Pour plus d'informations, consultez la page Présentation du service de transfert de données BigQuery.
--plan=PLAN
Avec l'option
--capacity_commitment
, convertit un engagement de capacité en un forfait d'engagement de plus longue durée. RemplacezPLAN
par l'un des éléments suivants :ANNUAL
THREE_YEAR
--refresh_window_days=DAYS
Entier spécifiant une fenêtre d'actualisation en jours pour une configuration de transfert.
--remove_tags=TAG_KEYS
Disponible uniquement dans les ensembles de données et les tables. Spécifie les tags que vous supprimez de la ressource, séparés par une virgule (par exemple,
556741164180/env,myProject/department
). Chaque clé de tag doit porter le nom de l'espace de noms associé à la clé.--renewal_plan=PLAN
Avec l'option
--capacity_commitment
, met à jour le forfait de renouvellement pour un engagement annuel de capacité. RemplacezPLAN
par l'un des éléments suivants :ANNUAL
THREE_YEAR
NONE
Les clients qui utilisent les anciens tarifs forfaitaires peuvent également utiliser l'une des valeurs suivantes :
FLEX
MONTHLY
ANNUAL
--reservation={true|false}
Spécifie s'il faut mettre à jour une réservation. La valeur par défaut est
false
.--reservation_assignment={true|false}
Spécifie s'il faut mettre à jour une réservation. La valeur par défaut est
false
.--schema={SCHEMA_FILE|SCHEMA
}Spécifie le chemin d'accès à un fichier de schéma JSON local, ou une liste de définitions de colonnes séparées par une virgule au format
FIELD:DATA_TYPE, FIELD:DATA_TYPE
, et ainsi de suite. Si vous utilisez un fichier de schéma, n'utilisez pas d'extension.Exemple :
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--service_account_name=SERVICE_ACCOUNT
Spécifie un compte de service à utiliser comme identifiant pour une configuration de transfert.
--set_label=KEY:VALUE
Spécifie un libellé à mettre à jour. Pour mettre à jour plusieurs libellés, répétez cette option.
--slots=NUMBER_OF_BASELINE_SLOTS
Avec les options
--capacity_commitment
et--split
, spécifie le nombre d'emplacements de base d'un engagement de capacité existant à répartir dans un nouvel engagement. RemplacezRESOURCE
par l'ID de l'engagement à partir duquel vous souhaitez effectuer la répartition.Avec l'option
--reservation
, met à jour le nombre d'emplacements dans une réservation.--source=FILE
Chemin d'accès à un fichier JSON local contenant une charge utile utilisée pour mettre à jour une ressource. Par exemple, cette option permet de spécifier un fichier JSON contenant une ressource d'ensemble de données avec une propriété
access
mise à jour. Le fichier est utilisé pour remplacer les contrôles d'accès de l'ensemble de données. Le fichier JSON ne doit pas inclure d'indicateur d'ordre des octets (BOM).--split={true|false}
Lorsque ce paramètre est défini sur
true
et utilisé avec l'option--capacity_commitment
, indique que vous souhaitez diviser un engagement de capacité existant. Utilisez l'option--location
pour spécifier l'emplacement de l'engagement à partir duquel vous souhaitez effectuer la répartition, et l'option--slots
pour spécifier le nombre d'emplacements que vous souhaitez répartir. RemplacezRESOURCE
par l'ID de l'engagement à partir duquel vous souhaitez effectuer la répartition. Pour en savoir plus, consultez la section Diviser un engagement.--storage_billing_model=BILLING_MODEL
Spécifie le modèle de facturation du stockage d'un ensemble de données. Définissez la valeur
--storage_billing_model
surPHYSICAL
pour utiliser des octets physiques lors du calcul des frais de stockage, ou surLOGICAL
pour utiliser des octets logiques.Lorsque vous modifiez le modèle de facturation d'un ensemble de données, la prise en compte de la modification prend 24 heures.
Une fois que vous avez modifié le modèle de facturation du stockage d'un ensemble de données, vous devez attendre 14 jours avant de pouvoir modifier à nouveau le modèle de facturation du stockage.
--table={true|false}
ou-t={true|false}
Spécifie si une table doit être mise à jour. La valeur par défaut est
false
.--target_dataset=DATASET
Si spécifié, met à jour l'ensemble de données cible pour une configuration de transfert.
--time_partitioning_expiration=SECONDS
Entier mis à jour en secondes lorsqu'une partition temporelle doit être supprimée. Le délai d'expiration correspond à la date UTC de la partition plus la valeur entière. Un nombre négatif indique l'absence de délai d'expiration.
--time_partitioning_field=COLUMN_NAME
Met à jour le champ utilisé pour déterminer comment créer une partition temporelle. Si le partitionnement temporel est activé sans cette valeur, la table est partitionnée en fonction du temps de chargement.
--time_partitioning_type=INTERVAL
Spécifie le type de partitionnement. Appliquez l'une des valeurs suivantes :
DAY
HOUR
MONTH
YEAR
Vous ne pouvez pas modifier le type de partitionnement d'une table existante.
--transfer_config={true|false}
Spécifie si une configuration de transfert doit être mise à jour. La valeur par défaut est
false
.--update_credentials={true|false}
Indique s'il faut mettre à jour les identifiants de la configuration de transfert. La valeur par défaut est
false
.--use_legacy_sql={true|false}
Définissez cette valeur sur
false
pour mettre à jour la requête SQL d'une vue générée en ancien SQL vers GoogleSQL. La valeur par défaut esttrue
. La requête utilise l'ancien SQL.--vertex_ai_model_id=VERTEX_AI_MODEL_ID
Si elle est spécifiée, elle met à jour l'ID de modèle d'un modèle BigQuery ML enregistré dans Vertex AI Model Registry.
--view=QUERY
Si spécifié, met à jour la requête SQL d'une vue.
--view_udf_resource=FILE
Met à jour l'URI Cloud Storage ou le chemin d'accès à un fichier de code local chargé et évalué immédiatement en tant que ressource de fonction définie par l'utilisateur dans une requête SQL d'une vue. Répétez cet indicateur pour spécifier plusieurs fichiers.
RESOURCE
La ressource que vous souhaitez mettre à jour.
Pour plus d'informations sur l'utilisation de la commande bq update
, consultez les pages suivantes :
- Mettre à jour les propriétés des ensembles de données
- Gérer des tables
- Mettre à jour des vues
- Mettre à jour des libellés
- Utiliser les transferts
- Mettre à jour les métadonnées d'instantané de table
bq version
Utilisez la commande bq version
pour afficher le numéro de version de votre outil de ligne de commande bq.
Synopsis
bq version
bq wait
Utilisez la commande bq wait
pour attendre la fin d'une tâche dont le délai est spécifié en secondes. Si une tâche n'est pas spécifiée, la commande attend la fin de la tâche en cours.
Synopsis
bq wait [FLAGS] [JOB] [SECONDS]
Exemples
bq wait
bq wait --wait_for_status=RUNNING 12345 100
Options et arguments
La commande bq wait
utilise les options et arguments suivants :
--fail_on_error={true|false}
- Pour renvoyer la réussite en cas de complétion de la tâche pendant le temps d'attente, même si la tâche a échoué, définissez cette option sur
false
. La valeur par défaut esttrue
. Une fois le temps d'attente écoulé, la commande se termine avec une erreur si la tâche est toujours en cours d'exécution ou si la tâche est terminée, mais renvoie une erreur. --wait_for_status=STATUS
Si spécifié, attend un état particulier de la tâche avant de quitter. Appliquez l'une des valeurs suivantes :
PENDING
RUNNING
DONE
La valeur par défaut est
DONE
.JOB
Spécifie la tâche à attendre. Vous pouvez utiliser la commande
bq ls --jobs myProject
pour rechercher un identifiant de tâche.SECONDS
Spécifie le nombre maximal de secondes d'attente jusqu'à la fin de la tâche. Si vous spécifiez la valeur
0
, alors la commande vérifie si la tâche est terminée et affiche immédiatement le résultat. Si vous ne spécifiez pas de valeur entière, la commande attend la fin de la tâche.