Referencia de la herramienta de línea de comandos de bq
En este documento, se describen la sintaxis, los comandos, las marcas y los argumentos de bq, la herramienta de línea de comandos basada en Python para BigQuery.
Para ver un instructivo sobre el uso de la herramienta de línea de comandos de bq, consulta Carga y consulta datos con la herramienta de bq.
Formas de usar la herramienta de línea de comandos de bq
Puedes ingresar los comandos de la herramienta de línea de comandos de bq en Cloud Shell desde la consola de Google Cloud o desde una instalación local de Google Cloud CLI.
Para usar la herramienta de línea de comandos de bq desde la consola de Google Cloud , activa Cloud Shell:
Para usar la herramienta de línea de comandos de bq de forma local, instala y configura la CLI de gcloud. Para mantener tu instalación actualizada, consulta Administra una instalación en la documentación de gcloud CLI.
Formato del comando
La herramienta de línea de comandos de bq usa el siguiente formato:
bq COMMAND [FLAGS] [ARGUMENTS]
Algunas marcas pueden usarse con varios comandos de la herramienta de línea de comandos de bq. Estas marcas se describen en la sección Marcas globales.
Otras marcas son específicas del comando, solo se pueden usar con un comando de herramienta de línea de comandos de bq en particular. Las marcas específicas de comandos se describen en las secciones de comandos.
Especifica valores para marcas
Cuando especificas un valor para una marca, el signo igual (=) es opcional. Por ejemplo, los siguientes dos comandos son equivalentes:
bq ls --format prettyjson myDataset bq ls --format=prettyjson myDataset
En este documento, se usa el signo igual para brindar mayor claridad.
Algunas marcas de herramientas de línea de comandos de bq son booleanas. Puedes configurar el valor de la marca como
true o false.
La herramienta de línea de comandos de bq acepta los siguientes formatos para configurar marcas booleanas.
| Valor | Formato | Ejemplo |
|---|---|---|
true |
--FLAGNAME=true |
--debug_mode=true |
true |
--FLAGNAME |
--debug_mode |
false |
--FLAGNAME=false |
--debug_mode=false |
false |
--noFLAGNAME |
--nodebug_mode |
En este documento, se usa el formato --FLAGNAME=VALUE para marcas booleanas.
Todas las marcas booleanas son opcionales. Si no hay una marca, BigQuery usa el valor predeterminado de la marca.
Cómo especificar recursos de BigQuery en argumentos
El formato para especificar un recurso depende del contexto. En algunos casos, el separador entre el proyecto y el conjunto de datos es de dos puntos (:) y, en otros casos, un punto (.). En la siguiente tabla, se describe cómo especificar una tabla de BigQuery en diferentes contextos.
| Contexto | Formato | Ejemplo |
|---|---|---|
| Herramienta de línea de comandos de bq | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
| Consulta de GoogleSQL | PROJECT.DATASET.TABLE |
myProject.myDataset.myTable |
| Consulta de SQL heredado | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
Si no especificas un proyecto, BigQuery usa el proyecto actual. Por ejemplo, si el proyecto actual es myProject, BigQuery interpreta myDataset.myTable como myProject:myDataset.myTable (o myProject.myDataset.myTable).
Algunos identificadores de recursos deben estar entre comillas simples (`). Si tu identificador de recursos comienza con una letra o un carácter de guion bajo y contiene solo caracteres que son letras, números y guiones bajos, no es necesario que los cites. Sin embargo, si el identificador de recursos contiene otros tipos de caracteres o palabras clave reservadas, debes rodear el identificador (o la parte del identificador con caracteres especiales o palabras clave reservadas) con acentos graves. Para obtener más información, consulta Identificadores.
Cómo ejecutar comandos
Coloca las marcas globales antes del comando bq y, luego, incluye las marcas específicas del comando. Puedes incluir varias marcas globales o específicas del comando. Por ejemplo:
bq --location=us mk --reservation --project_id=project reservation_name
Puedes especificar argumentos de comando de las siguientes maneras:
--FLAG ARGUMENT(como se muestra en los ejemplos anteriores)--FLAG=ARGUMENT--FLAG='ARGUMENT'--FLAG="ARGUMENT"--FLAG 'ARGUMENT'--FLAG "ARGUMENT"
Reemplaza lo siguiente:
FLAG: una marca global o específica de comandoARGUMENT: el argumento de la marca
Algunos comandos requieren el uso de comillas alrededor de los argumentos. Si se requieren comillas, se aceptan tanto las simples como las dobles. Los argumentos que requieren comillas suelen ser valores que contienen espacios, comas o algún otro carácter especial. Si tu argumento contiene un recurso de BigQuery, asegúrate de seguir las reglas para especificar nombres de recursos en los comandos.
En este ejemplo, se muestra cómo ejecutar una consulta de GoogleSQL en la línea de comandos:
bq query --nouse_legacy_sql \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
Las marcas con valores booleanos se pueden especificar sin un argumento. Si especificas true o false, debes usar el formato FLAG=ARGUMENT.
Por ejemplo, en este comando se especifica “false” para la marca booleana --use_legacy_sql porque se coloca no al frente de la marca:
bq query --nouse_legacy_sql \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
De manera alternativa, para especificar false como el argumento de la marca, puedes ingresar lo siguiente:
bq query --use_legacy_sql=false \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
Ejecuta comandos en una secuencia de comandos
Puedes ejecutar la herramienta de línea de comandos de bq en un script, tal como lo harías con un comando de Google Cloud CLI. El siguiente es un ejemplo de los comandos de gcloud y bq en una secuencia de comandos de bash:
#!/bin/bash
gcloud config set project myProject
bq query --use_legacy_sql=false --destination_table=myDataset.myTable \
'SELECT
word,
SUM(word_count) AS count
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word LIKE "%raisin%"
GROUP BY
word'
Usa una cuenta de servicio
Puedes usar una cuenta de servicio para realizar llamadas autorizadas a la API o ejecutar trabajos de consulta en tu nombre. Para usar una cuenta de servicio en la herramienta de línea de comandos de bq, autoriza el acceso a Google Cloud desde la cuenta de servicio. Para obtener más información, consulta gcloud auth activate-service-account.
Para comenzar a ejecutar comandos de bq mediante el uso de la identidad de la cuenta de servicio, ejecuta el siguiente comando:
gcloud config set auth/impersonate_service_account SERVICE_ACCOUNT_NAME
Reemplaza SERVICE_ACCOUNT_NAME por el nombre de tu cuenta de servicio.
Los comandos de bq que ejecutas ahora usan las credenciales de la cuenta de servicio.
Para dejar de ejecutar los comandos de bq desde una cuenta de servicio, ejecuta el siguiente comando:
gcloud config unset auth/impersonate_service_account
Cómo establecer valores predeterminados para marcas de línea de comandos
Puedes configurar valores predeterminados para las marcas de línea de comandos si los incluyes en el archivo de configuración de la herramienta de línea de comandos de .bigqueryrc. Antes de configurar tus opciones predeterminadas, debes crear un archivo .bigqueryrc. Puedes usar tu editor de texto preferido para crear el archivo. Luego de crear el archivo .bigqueryrc, puedes especificar la ruta al archivo con la marca global --bigqueryrc.
Si no se especifica la marca --bigqueryrc, se usa la variable de entorno BIGQUERYRC. Si no se especifica la variable, se usa la ruta de acceso ~/.bigqueryrc. La ruta predeterminada es $HOME/.bigqueryrc.
Cómo agregar marcas a .bigqueryrc
A fin de agregar valores predeterminados para las marcas de línea de comandos a .bigqueryrc, haz lo siguiente:
- Coloca las marcas globales en la parte superior del archivo sin un encabezado.
- Para las marcas específicas de comando, ingresa el nombre del comando (entre paréntesis) y agrega las marcas específicas de comando (una por línea) después del nombre del comando.
Por ejemplo:
--apilog=stdout --format=prettyjson --location=US [query] --use_legacy_sql=false --max_rows=100 --maximum_bytes_billed=10000000 [load] --destination_kms_key=projects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey
En el ejemplo anterior, se configuran valores predeterminados para las siguientes marcas:
- La marca global
--apilogse configura comostdoutpara imprimir el resultado de depuración en laGoogle Cloud consola. - La marca global
--formatse configura comoprettyjsonpara mostrar el resultado del comando en un formato JSON legible. - La marca global
--locationse configuró en la ubicación multirregiónUS. La marca
--use_legacy_sqlespecífica del comandoqueryse configura comofalsepara que GoogleSQL sea la sintaxis de consulta predeterminada.La marca
--max_rowsespecífica del comandoqueryse configura como100para controlar la cantidad de filas en el resultado de la consulta.La marca
--maximum_bytes_billedespecífica del comandoqueryse configura en 10,000,000 bytes (10 MB) para que fallen las consultas que leen más de 10 MB de datos.La marca
--destination_kms_keyespecífica del comandoloadse configura comoprojects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey.
Ayuda de la CLI
Puedes obtener ayuda con la herramienta de línea de comandos de bq ejecutando los siguientes comandos:
| Descripción | Formato del comando de ayuda | Ejemplo |
|---|---|---|
| Versión instalada | bq version |
bq version |
| Lista de todos los comandos con ejemplos | bq help |
bq help |
| Descripción de las marcas globales | bq --help |
bq --help |
| Descripción de un comando en particular | bq help COMMAND |
bq help mk |
Solución de problemas de comandos de la CLI
- Para registrar las solicitudes enviadas y recibidas, haz lo siguiente:
Agrega la marca
--apilog=PATH_TO_FILEpara guardar un registro de operaciones en un archivo local. ReemplazaPATH_TO_FILEpor la ubicación en la que deseas guardar el registro. La herramienta de línea de comandos de bq funciona mediante llamadas a la API basadas en REST estándar, que pueden ser útiles de ver cuando se solucionan problemas. También es útil adjuntar este registro cuando informas problemas a la Atención al cliente de Cloud.Si se usa
-ostdouten lugar de una ruta de acceso, se imprimirá el registro en la Google Cloud consola. La configuración de--apilogcomostderrda como resultado el archivo de error estándar. Para registrar más solicitudes, usa la marca--httplib2_debuglevel=LOG_LEVEL. UnLOG_LEVELsuperior registra más información sobre las solicitudes HTTP.- Para solucionar errores, haz lo siguiente:
Ingresa la marca
--format=prettyjsoncuando obtengas el estado de un trabajo o cuando veas información detallada sobre recursos, como tablas y conjuntos de datos. El uso de esta marca genera la respuesta en formato JSON, incluida la propiedadreason. Puedes usar la propiedadreasonpara encontrar mensajes de error.Para obtener más información sobre los errores que se producen cuando ejecutas un comando, usa la marca
--debug_mode.
Marcas globales
Puedes usar las siguientes marcas con cualquier comando bq, cuando corresponda:
--api=ENDPOINT- Especifica el extremo de API al que se llamará. El valor predeterminado es
https://www.googleapis.com. --api_version=VERSION- Especifica la versión de la API que se usará. El predeterminado es
v2. --apilog=FILERegistra todas las solicitudes y respuestas a la API en el archivo que especifica
FILE. Los valores posibles son los siguientes:- la ruta de acceso de un archivo: los registros al archivo especificado
stdout: los registros de la salida estándarstderr: los registros de un error estándarfalse: las solicitudes y respuestas de API no se registran (predeterminado)
--use_google_auth={true|false}Si se establece como
true, habilita la autenticación con las bibliotecas de Google Auth. El valor predeterminado estrue.--bigqueryrc=PATHEspecifica la ruta al archivo de configuración de la herramienta de línea de comandos de bq. Si no especificas la marca
--bigqueryrc, el comando usa la variable de entornoBIGQUERYRC. Si no se configura la variable de entorno, se usa$HOME/.bigqueryrc. Si ese archivo no existe, se usa~/.bigqueryrc. Si deseas obtener más información, consulta Configura los valores predeterminados para marcas de línea de comandos.--ca_certificates_file=PATHEspecifica la ubicación del archivo de Certificate Authority Service (CA).
--dataset_id=DATASET_IDEspecifica el conjunto de datos predeterminado que se usará con el comando. Esta marca se ignora cuando no es aplicable. Puedes especificar el argumento
DATASET_IDcon el formatoPROJECT:DATASEToDATASET. Si falta la partePROJECT, se usa el proyecto predeterminado. Puedes anular la configuración predeterminada del proyecto si especificas la marca--project_id.--debug_mode={true|false}Si se configura como
true, se muestran objetos traceback en las excepciones de Python. El valor predeterminado esfalse.--disable_ssl_validation={true|false}Si se establece como
true, habilita la validación del certificado HTTPS. El valor predeterminado esfalse.--discovery_file=PATHEspecifica el archivo JSON que se debe leer para la detección.
--enable_gdrive={true|false}Si se configura como
false, solicita un token de OAuth nuevo sin permiso de Google Drive. El valor predeterminado estrue. Solicita un token de OAuth nuevo con alcance de Drive. Para establecer esta marca enfalsecuando se autentica con una cuenta de usuario, la marca--use_google_authdebe establecerse enfalse.--fingerprint_job_id={true|false}Para usar un ID de trabajo derivado de una huella digital de la configuración del trabajo, configúralo como
true. Esto evita que el mismo trabajo se ejecute varias veces por accidente. El valor predeterminado esfalse.--format=FORMATEspecifica el formato del resultado del comando. Usa uno de los siguientes valores:
pretty: genera una tabla con formatosparse: genera una tabla más simpleprettyjson: formato JSON fácil de leerjson: JSON lo más compacto posiblecsv: formato csv con encabezado
Las opciones
pretty,sparseyprettyjsonestán diseñadas para que las pueda leer un ser humano.jsonycsvestán diseñados para que los use otro programa. Si se especificanone, el comando no produce ningún resultado. Si la marca--formatestá ausente, se elige un formato de resultado apropiado según el comando.--headless={true|false}Para ejecutar la sesión
bqsin interacción del usuario, configúrala comotrue. Por ejemplo,debug_modeno accederá al depurador, y la frecuencia de impresión de la información se disminuirá. El valor predeterminado esfalse.--httplib2_debuglevel=DEBUG_LEVELEspecifica si se debe mostrar la información de depuración HTTP. Si
DEBUG_LEVELes mayor que0, entonces el comando registra las solicitudes y respuestas del servidor HTTP a stderr, además de los mensajes de error. SiDEBUG_LEVELno es > 0, o si no se usa la marca--httplib2_debuglevel, solo se proporcionan los mensajes de error.Por ejemplo:
--httplib2_debuglevel=1
--job_id=JOB_IDEspecifica un identificador de trabajo para un trabajo nuevo. Esta marca solo se aplica a los comandos que crean trabajos:
cp,extract,loadyquery. Si no usas la marca--job_id, los comandos generan un identificador de trabajo único. Para obtener más información, consulta Ejecuta trabajos de manera programática.--job_property=KEY:VALUEUn par clave-valor para incluir en el campo de propiedades de la configuración del trabajo. Repite esta marca para especificar propiedades adicionales.
--location=LOCATIONUna string correspondiente a tu región o ubicación multirregión. La marca de ubicación es obligatoria para los comandos
bq cancely para los comandosbq showcuando usas la marca--jobsa fin de mostrar información sobre los trabajos. La marca de ubicación es opcional para los siguientes comandos:querycploadextractpartitionupdatewaitmkcuando usas las marcas--dataset,--reservation,--capacity_commitmento--reservation_assignmentlscuando usas las marcas--reservation,--capacity_commitmento--reservation_assignment
Todos los demás comandos ignoran la marca
--location.--max_rows_per_request=MAX_ROWSUn número entero que especifica la cantidad máxima de filas que se mostrarán por lectura.
--project_id=PROJECTEspecifica el proyecto que se usará para los comandos.
--proxy_address=PROXYEspecifica el nombre o la dirección IP del host del proxy que se usará para conectarse a Google Cloud.
--proxy_password=PASSWORDEspecifica la contraseña que se usará para la autenticación con el host del proxy.
--proxy_port=PORTEspecifica el número de puerto que se usará para la conexión al host del proxy.
--proxy_username=USERNAMEEspecifica el nombre de usuario que se usará para la autenticación con el host del proxy.
--quiet={true|false}o-q={true|false}Para suprimir las actualizaciones de estado mientras se ejecutan los trabajos, configúralo como
true. El valor predeterminado esfalse.--synchronous_mode={true|false}o-sync={true|false}Para crear el trabajo y volver de inmediato, con un estado de finalización correcto como código de error, configúralo como
false. Si se configura comotrue, el comando espera a que se complete el trabajo antes de mostrar el estado de finalización del trabajo como código de error. El valor predeterminado estrue.--trace=token:TOKENEspecifica un token de seguimiento para incluir en las solicitudes a la API.
--use_regional_endpoints={true|false}En vista previa. Para conectarte a un extremo regional, establece la marca
--use_regional_endpointsentruey la marca--locationen la región a la que deseas conectarte. El valor predeterminado esfalse.
Marcas globales obsoletas
La siguiente marca global para especificar marcas
de herramienta de línea de comandos de bq desde un archivo
está
obsoleta. Para especificar marcas de un archivo, usa la
marca --bigqueryrc.
--flagfile=PATH
Cuando se especifica, las definiciones de marcas del archivo que se proporcionó se insertan
en la
herramienta de línea de comandos de bq. El valor predeterminado es ''. Si deseas obtener más información, consulta
Configura
los valores predeterminados para marcas de línea de comandos.
Comandos
En las siguientes secciones, se describen los comandos de la herramienta de línea de comandos de bq, además de las marcas y los argumentos específicos de cada comando.
bq add-iam-policy-binding
Usa el comando bq add-iam-policy-binding a fin de recuperar la
política de Identity and Access Management (IAM)
para una tabla o vista, y agrega una vinculación a la
política en un solo paso.
Este comando es una alternativa al siguiente proceso de tres pasos:
- Usar el comando
bq get-iam-policypara recuperar el archivo de políticas (en formato JSON). - Editar el archivo de políticas.
- Usar el comando
bq set-iam-policypara actualizar la política con una vinculación nueva.
Sinopsis
bq add-iam-policy-binding [FLAGS] --member=MEMBER_TYPE:MEMBER --role=ROLE [--table] RESOURCE
Ejemplo
bq add-iam-policy-binding --member=user:myAccount@gmail.com \ --role=roles/bigquery.dataViewer myDataset.myTable
Marcas y argumentos
El comando bq add-iam-policy-binding usa los siguientes argumentos y marcas:
--member=MEMBER_TYPE:MEMBERObligatorio. Usa la marca
--memberpara especificar la parte del miembro de la vinculación de la política de IAM. La marca--memberes obligatoria junto con la marca--role. Una combinación de las marcas--membery--roleequivale a una vinculación.El valor
MEMBER_TYPEespecifica el tipo de miembro en la vinculación de política de IAM. Usa uno de los siguientes valores:userserviceAccountgroupdomain
El valor
MEMBERespecifica la dirección de correo electrónico o el dominio del miembro en la vinculación de política de IAM.--role=ROLEObligatorio. Especifica la parte de la función que pertenece a la vinculación de política de IAM. La marca
--rolees obligatoria junto con la marca--member. Una combinación de las marcas--membery--roleequivale a una vinculación.--table={true|false}Para mostrar un error si el argumento
RESOURCEno es un identificador de tabla o vista, establece la marca--tableentrue. El valor predeterminado esfalse. Esta marca es compatible para mantener la coherencia con otros comandos.RESOURCELa tabla o vista a cuya política deseas agregar.
Para obtener más información, consulta la referencia de la política de IAM.
bq cancel
Usa el comando bq cancel para cancelar trabajos de BigQuery.
Sinopsis
bq [--synchronous_mode=false] cancel JOB_ID
Ejemplos
bq cancel bqjob_12345
bq --synchronous_mode=false cancel bqjob_12345
Marcas y argumentos
El comando bq cancel usa los siguientes argumentos y marcas:
--synchronous_mode=false- Si no quieres esperar a que se complete el comando
bq cancel, establece la marca global--synchronous_modeenfalse. El valor predeterminado estrue. JOB_ID- El trabajo que deseas cancelar.
Para obtener más información sobre el uso del comando bq cancel, consulta Administra trabajos.
bq cp
Usa el comando bq cp para las siguientes tareas:
- Crea una copia de una tabla, una clonación de tabla o una instantánea de tabla.
- Crea una clonación de tabla.
- Crea una instantánea de tabla.
Sinopsis
bq cp [FLAGS] SOURCE_TABLE DESTINATION_TABLE
Ejemplo
bq cp myDataset.myTable myDataset.myTableCopy
Marcas y argumentos
El comando bq cp usa los siguientes argumentos y marcas:
--append_table={true|false}o-a={true|false}Para agregar una tabla a una tabla existente, configúrala como
true. El valor predeterminado esfalse.No puedes usar la configuración de marca
--append_table=truey--clone=trueal mismo tiempo.--clone={true|false}Para crear una clonación de tabla, configúrala como
true. La tabla base puede ser una tabla estándar, una clonación de tabla o una instantánea de tabla. La tabla de destino es una clonación de tabla. El valor predeterminado esfalse. Si no se especifica--clone=trueni--snapshot=true, la tabla de destino es del mismo tipo de tabla que la tabla base. Requiere la marca--no_clobber.No puedes usar la configuración de marca
--append_table=truey--clone=trueal mismo tiempo.--destination_kms_key=KEYEspecifica un ID de recurso de clave de Cloud KMS para encriptar los datos de la tabla de destino.
Por ejemplo:
--destination_kms_key=projects/myProject/locations/global/keyRings/myKeyRing/cryptoKeys/myKey
--expiration=SECONDSLa cantidad de segundos hasta que vence una instantánea de tabla. Si no se incluye, el vencimiento de la instantánea de tabla se establece en el vencimiento predeterminado del conjunto de datos que contiene la nueva instantánea de tabla. Úsalo con la marca
--snapshot.--force={true|false}o-f={true|false}Para reemplazar la tabla de destino, si existe, sin solicitarla, configúrala como
true. El valor predeterminado esfalse. Si la tabla de destino existe, entonces el comando solicita confirmación antes de reemplazarla.--no_clobber={true|false}o-n={true|false}Para inhabilitar el reemplazo de la tabla de destino, si existe, configúrala como
true. El valor predeterminado esfalse. Si la tabla de destino existe, se reemplaza.--restore={true|false}Esta marca quedará obsoleta. Para crear una tabla que admita escritura a partir de una instantánea de tabla, usa los comandos
bq cpobq cp --clone.--snapshot={true|false}Para crear una instantánea de la tabla que se especifica en el argumento
SOURCE_TABLE, configúrala comotrue. La tabla base puede ser una tabla estándar, una clonación de tabla u otra instantánea de tabla. El valor predeterminado esfalse. Si no se especifica--clone=trueni--snapshot=true, la tabla de destino es del mismo tipo de tabla que la tabla base. Requiere la marca--no_clobber.SOURCE_TABLEEs la tabla que deseas copiar.
DESTINATION_TABLELa tabla a la que deseas copiar.
Para obtener más información sobre el uso del comando cp, consulta los siguientes vínculos:
- Copia una tabla
- Crea clonaciones de tablas
- Crea instantáneas de tablas
- Restablece las instantáneas tablas
bq extract
Usa el comando bq extract para exportar datos de la tabla a Cloud Storage.
Sinopsis
bq extract [FLAGS] RESOURCE DESTINATION
Ejemplos
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
Marcas y argumentos
El comando bq extract usa los siguientes argumentos y marcas:
--compression=COMPRESSION_TYPEEspecifica el tipo de compresión que se usará para los archivos exportados. Los valores posibles son los siguientes:
GZIPDEFLATESNAPPYNONE
El valor predeterminado es
NONE.Para obtener información sobre qué formatos son compatibles con cada tipo de compresión, consulta Exporta formatos y tipos de compresión.
--destination_format=FORMATEspecifica el formato de los datos exportados. Los valores posibles son los siguientes:
CSVNEWLINE_DELIMITED_JSONAVROPARQUET
El valor predeterminado es
CSV.--field_delimiter=DELIMITERPara las exportaciones de archivos CSV, especifica el carácter que marca el límite entre columnas en el archivo de salida. El delimitador puede ser cualquier carácter ISO-8859-1 de un solo byte. Puedes usar
\totabpara especificar delimitadores de tabulaciones.--print_header={true|false}A fin de eliminar la impresión de filas de encabezados para formatos que tienen encabezados, configúralos como
false. El valor predeterminado estrue; se incluyen las filas de encabezado.RESOURCELa tabla desde la que exportas.
DESTINATIONLa ubicación de almacenamiento que recibe los datos exportados.
Para obtener más información sobre el uso del comando bq extract, consulta Exporta datos de tablas.
bq get-iam-policy
Usa el comando bq get-iam-policy a fin de recuperar la política de IAM para un recurso y, luego, imprimirla en stdout. El recurso puede ser una tabla, una vista o una reserva de ranura.
La política está en formato JSON.
Sinopsis
bq get-iam-policy [FLAGS] RESOURCE
Ejemplos
bq get-iam-policy myDataset.myTable
bq get-iam-policy --reservation myReservation
Marcas y argumentos
El comando bq get-iam-policy usa los siguientes argumentos y marcas:
--table={true|false}o--t={true|false}- Para mostrar un error si
RESOURCEno es un identificador de tabla o vista, establece la marca--tableentrue. El valor predeterminado esfalse. Esta marca es compatible para mantener la coherencia con otros comandos. --reservation={true|false}- Para obtener la política de IAM de una reserva, configúrala como
true(versión preliminar). El valor predeterminado esfalse. Cuando se usa esta marca,RESOURCEse trata como un identificador de reserva. La reserva puede tener prefijos opcionales de proyecto y ubicación:myProject:myLocation.myReservation. RESOURCE- La tabla o vista cuya política deseas obtener.
Para obtener más información sobre el comando bq get-iam-policy, consulta
Controla el acceso a los recursos con IAM.
bq head
Usa el comando bq head para mostrar las filas y columnas especificadas de una tabla.
De forma predeterminada, muestra todas las columnas de las primeras 100 filas.
Sinopsis
bq head [FLAGS] [TABLE]
Ejemplo
bq head --max_rows=10 --start_row=50 --selected_fields=field1,field3 \ myDataset.myTable
Marcas y argumentos
El comando bq head usa los siguientes argumentos y marcas:
--job=JOB or -j=JOB- Para leer los resultados de un trabajo de búsqueda, especifica esta marca con un ID de trabajo válido.
--max_rows=MAX or -n=MAX- Un número entero que indica la cantidad máxima de filas que se deben imprimir cuando
se muestran los datos de la tabla. El valor predeterminado es
100. --selected_fields=COLUMN_NAMES or -c=COLUMN_NAMES- Una lista separada por comas que indica un subconjunto de campos (incluidos los campos anidados y repetidos) que deben incluirse cuando se muestren los datos de la tabla. Si no se especifica esta marca, se muestran todas las columnas.
--start_row=START_ROW or -s=START_ROW- Un número entero que especifica la cantidad de filas que se deben omitir
antes de mostrar los datos de la tabla. El valor predeterminado es
0. Los datos de la tabla comienzan en la primera fila. --table={true|false}o-t={true|false}- Para mostrar un error si el argumento del comando no es una tabla o una vista, configúralo como
true. El valor predeterminado esfalseEsta marca es compatible para mantener la coherencia con otros comandos. TABLE- La tabla cuyos datos deseas recuperar.
Para obtener más información sobre el uso del comando bq head, consulta Cómo administrar datos de tablas
bq help
Usa el comando bq help para mostrar la documentación de la herramienta de línea de comandos de bq dentro de la herramienta.
Sinopsis
bq help [COMMAND]
Marcas y argumentos
El comando bq help usa los siguientes argumentos y marcas:
COMMAND- Especifica un comando de herramienta de línea de comandos de bq en particular para el que deseas obtener ayuda en línea.
bq insert
Usa el comando bq insert para insertar filas de datos con formato JSON delimitado por saltos de línea en una tabla desde un archivo mediante la inserción de transmisión. Los tipos de datos se convierten para que coincidan con los tipos de columna de la tabla de destino. Este comando debe usarse solo para hacer pruebas. Si quieres transmitir datos a BigQuery, usa el método de API insertAll.
Sinopsis
bq insert [FLAGS] TABLE FILE
Ejemplos
bq insert --ignore_unknown_values --template_suffix=_insert myDataset.myTable /tmp/myData.json
echo '{"a":1, "b":2}' | bq insert myDataset.myTable
Marcas y argumentos
El comando bq insert usa los siguientes argumentos y marcas:
--ignore_unknown_values={true|false}o-i={true|false}- Cuando se establece en
true, BigQuery ignora cualquier par clave-valor que no coincida con el esquema de la tabla y, luego, inserta la fila con los datos que sí coinciden. Cuando se establece enfalse, no se insertan las filas con datos que no coinciden con el esquema de la tabla. El valor predeterminado esfalse. --skip_invalid_rows={true|false}o-s={true|false}- Cuando se establece en
true, BigQuery intenta insertar todas las filas válidas, incluso si hay filas que no lo son. Cuando se establece enfalse, el comando falla si hay filas no válidas. El valor predeterminado esfalse. --template_suffix=SUFFIX or -x=SUFFIX- Cuando se especifica, trata a la tabla de destino TABLE como una plantilla base y, también, inserta las filas en una tabla de instancias llamada
{destination}{templateSuffix}. BigQuery crea la tabla de instancias con el esquema de la plantilla base. TABLE- La tabla en la que deseas insertar los datos.
FILE- El archivo que contiene los datos que deseas insertar.
Para obtener más información sobre el uso del comando bq insert, consulta Transmite datos a BigQuery.
bq load
Usa el comando bq load para cargar datos en una tabla.
Sinopsis
bq load [FLAGS] DESTINATION_TABLE SOURCE_DATA [SCHEMA]
Ejemplo
bq load myDataset.newTable gs://mybucket/info.csv ./info_schema.json
Marcas y argumentos
El comando bq load usa los siguientes argumentos y marcas:
--allow_jagged_rows={true|false}- Para permitir que falten columnas opcionales finales en los datos CSV, configúralas como
true. --preserve_ascii_control_characters={true|false}- Para permitir los caracteres de control ASCII incorporados en los datos CSV, configúralo como
true. --allow_quoted_newlines={true|false}- Para permitir saltos de línea en secciones entrecomilladas en los datos CSV, configúralos como
true. --autodetect={true|false}- A fin de habilitar la detección automática de esquemas para los datos de formato CSV y JSON, configúralos como
true. El valor predeterminado esfalse. Si--autodetectesfalse, y no se especifica ningún esquema mediante la marca--schema, y la tabla de destino existe, se usa el esquema de la tabla de destino. --clustering_fields=COLUMNS- Una lista separada por comas de hasta cuatro nombres de columna que especifica los campos que se usarán para el agrupamiento en clústeres de la tabla.
--column_name_character_map=SCOPE- Define el alcance y el manejo de los caracteres en los nombres de las columnas, con la opción de habilitar nombres de columnas flexibles.
Requiere la opción
--autodetectpara los archivos CSV. Para obtener una lista de los valores posibles, consultaload_option_list. --destination_kms_key=KEY- Especifica un ID de recurso de clave de Cloud KMS para encriptar los datos de la tabla de destino.
--encoding=ENCODING_TYPE or -E=ENCODING_TYPE- La codificación de caracteres que se usa en los datos. Usa uno de los siguientes valores:
ISO-8859-1(también conocido como Latin-1)UTF-8
--field_delimiter=DELIMITER or -F=DELIMITER- Especifica el carácter que marca el límite entre las columnas en los datos.
El delimitador puede ser cualquier carácter ISO-8859-1 de un solo byte. Puedes usar
\totabpara especificar delimitadores de tabulación. --ignore_unknown_values={true|false}- Cuando se configura como
truepara los archivos CSV y JSON, se cargan las filas con valores de columna adicionales que no coinciden con el esquema de la tabla, pero se ignoran las columnas adicionales. Cuando se configura comotruepara los archivos Avro, Parquet y ORC, los campos del esquema de archivos que no existen en el esquema de la tabla se ignoran y no se cargan. --json_extension=JSON_TYPEEspecifica el tipo de archivo JSON que se cargará. Solo se aplica a archivos JSON. Los valores posibles son los siguientes:
GEOJSON: archivo GeoJSON delimitado por saltos de línea
Para usar esta marca, la marca
--source_formatdebe configurarse comoNEWLINE_DELIMITED_JSON.Para obtener más información, consulta Carga archivos GeoJSON delimitados por saltos de línea.
--max_bad_records=MAXUn número entero que especifica la cantidad máxima de registros incorrectos permitidos antes de que falle todo el trabajo. El valor predeterminado es
0. Como máximo, se muestran cinco errores de cualquier tipo, sin importar el valor--max_bad_records. Esta marca solo se aplica para cargar datos de CSV, JSON y Hojas de cálculo de Google.--null_marker=STRINGUna string personalizada opcional que representa un valor
NULLen los datos de formato CSV.--projection_fields=PROPERTY_NAMESSi estableces
--source_formatenDATASTORE_BACKUP, esta marca indica qué propiedades de la entidad se deben cargar a partir de una exportación de Datastore. Especifica los nombres de las propiedades en una lista separada por comas. Los nombres de las propiedades distinguen entre mayúsculas y minúsculas, y deben referirse a propiedades de nivel superior. También puedes usar esta marca con las exportaciones de Firestore.--quote=CHARACTEREspecifica un carácter de comillas en los campos de los datos del archivo CSV. El argumento
CHARACTERpuede ser cualquier carácter de un solo byte. El valor predeterminado son las comillas dobles ("). Para especificar que no hay caracteres de comillas, usa una string vacía"".--replace={true|false}Para borrar cualquier dato y esquema existentes cuando se cargan datos nuevos, configúralos como
true. También se quita cualquier clave de Cloud KMS, a menos que especifiques la marca--destination_kms_key. El valor predeterminado esfalse.Equivale al valor
WRITE_TRUNCATEparaJobConfigurationLoad.writeDisposition.--schema={SCHEMA_FILE|SCHEMA}Especifica la ruta de acceso a un archivo de esquema JSON local o una lista de definiciones de columnas separadas por comas con el formato
FIELD:DATA_TYPE, FIELD:DATA_TYPE. Si usas un archivo de esquema, no le agregues una extensión al nombre del archivo.Por ejemplo:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
Si no se especifica ningún esquema y
--autodetectesfalse, y la tabla de destino existe, se usa el esquema de la tabla de destino.--schema_update_option=OPTIONCuando se agregan datos a una tabla (en un trabajo de carga o de consulta) o se reemplaza una partición de una tabla, especifica cómo actualizar el esquema de la tabla de destino. Usa uno de los siguientes valores:
ALLOW_FIELD_ADDITION: Permite que se agreguen campos nuevos.ALLOW_FIELD_RELAXATION: Permite disminuir la rigurosidad de los camposREQUIREDaNULLABLE.
Repite esta marca para especificar varias opciones de actualización del esquema.
--skip_leading_rows=NUMBER_OF_ROWSUn número entero que especifica la cantidad de filas que se deben omitir al principio del archivo de origen. El valor predeterminado es
0.--file_set_spec_type=FILE_SET_SPEC_TYPEEspecifica cómo interpretar los URI de origen.
FILE_SYSTEM_MATCH: Expande los URI de origen enumerando los archivos del almacén de objetos. Este es el comportamiento predeterminado si FileSetSpecType no está configurado.NEW_LINE_DELIMITED_MANIFEST: Indica que los URI proporcionados son archivos de manifiesto delimitados por saltos de línea, con un URI por línea. Los URI comodín no son compatibles con los archivos de manifiesto y todos los archivos de datos a los que se hace referencia deben estar en el mismo bucket que el manifiesto.
Por ejemplo, si tienes un URI de origen de
"gs://bucket/path/file"yfile_set_spec_typeesFILE_SYSTEM_MATCH, el archivo se usará directamente como un archivo de datos. Sifile_set_spec_typeesNEW_LINE_DELIMITED_MANIFEST, cada línea del archivo se interpreta como un URI que apunta a un archivo de datos.--source_format=FORMATEl formato de los datos de origen. Usa uno de los siguientes valores:
CSVNEWLINE_DELIMITED_JSONAVRODATASTORE_BACKUP(usa este valor para Filestore)PARQUETORC
--time_partitioning_expiration=SECONDSUn número entero que especifica (en segundos) cuándo se debe borrar una partición basada en el tiempo. La fecha y hora de vencimiento se evalúa según la suma de la fecha de la partición en formato UTC más el valor del número entero. Si el número es negativo, no hay vencimiento.
--time_partitioning_field=COLUMN_NAMEEspecifica el campo que determina cómo crear una partición basada en el tiempo. Si la partición basada en el tiempo se habilita sin este valor, la tabla se particiona en función del tiempo de carga.
--time_partitioning_type=INTERVALHabilita las particiones basadas en el tiempo en una tabla y establece el tipo de partición. Usa uno de los siguientes valores:
DAYHOURMONTHYEAR
El tipo de partición predeterminado para la partición basada en el tiempo es
DAY.--use_avro_logical_types={true|false}Si la marca
--source_formatse establece enAVRO, establece esta marca entruepara convertir tipos lógicos en sus tipos correspondientes (comoTIMESTAMP) en lugar de usar solo sus tipos sin procesar (comoINTEGER).--decimal_target_types=DECIMAL_TYPEDetermina cómo convertir un tipo
Decimalde lógica. Equivale aJobConfigurationLoad.decimalTargetTypes. Repite esta marca para especificar varios tipos de destino.--parquet_enum_as_string={true|false}Si la marca
--source_formatse establece enPARQUETy deseas que BigQuery infiera los tipos lógicos de ParquetENUMcomo valoresSTRING, establece esta marca entrue. El predeterminado esfalse.--parquet_enable_list_inference={true|false}Si la marca
--source_formatse configura comoPARQUET, indica si se debe usar la inferencia de esquema para los tipos lógicosLISTde Parquet.--reference_file_schema_uri=URIEspecifica la ruta a un archivo de referencia con el esquema de tabla esperado para crear tablas externas. Equivale a
ExternalDataConfiguration.referenceFileSchemaUri. Esta marca está habilitada para los formatos Avro, ORC y PARQUET.DESTINATION_TABLELa tabla en la que deseas cargar los datos.
SOURCE_DATAEl URI de Cloud Storage del archivo que contiene los datos que deseas cargar.
SCHEMAEl esquema de la tabla de destino.
Para obtener más información sobre cómo cargar datos de Cloud Storage mediante el comando bq load, consulta los siguientes vínculos:
- Cargar datos de Avro
- Cargar datos de CSV
- Cargar datos de JSON
- Cargar datos de ORC
- Cargar datos de Parquet
- Cómo cargar datos de exportaciones de Datastore
- Carga datos de exportaciones de Cloud Firestore
Para obtener más información sobre cómo cargar datos de una fuente local con el comando bq load, consulta los siguientes vínculos:
bq ls
Usa el comando bq ls para enumerar objetos en una colección.
Sinopsis
bq ls [FLAGS] [RESOURCE]
Ejemplo
bq ls myDataset
Marcas y argumentos
El comando bq ls usa los siguientes argumentos y marcas:
--all={true|false}o-a={true|false}- Para mostrar todos los resultados, configúralo como
true. Muestra trabajos de todos los usuarios o de todos los conjuntos de datos, incluidos los ocultos. Esta marca no es necesaria cuando se muestra una lista de configuraciones de transferencia o ejecuciones de transferencia. El valor predeterminado esfalse. --capacity_commitment={true|false}Para enumerar los compromisos de capacidad, establece el valor
truey usa la marca--locationa fin de especificar la ubicación. Para obtener más información, consulta Ve los compromisos comprados.Por ejemplo:
bq ls --capacity_commitment=true --location='us'.--datasets={true|false}o-d={true|false}Para enumerar conjuntos de datos, configúralo como
true. El valor predeterminado esfalse.--filter="FILTER"Filtra los recursos enumerados para que coincidan con el argumento
FILTER.Para los conjuntos de datos,
FILTERconsta de uno o más triples separados por espacios en el formatolabels.KEY:VALUE. Si se proporciona más de un triple, el comando solo muestra conjuntos de datos que coincidan con todos los triples (es decir, el comando utiliza el operador lógico deAND, noOR). Si deseas especificar más de un triple, encierra el valor deFILTERentre comillas.Para filtrar según etiquetas de conjuntos de datos, usa las claves y los valores que aplicaste a tus conjuntos de datos.
Por ejemplo:
--filter "labels.department:marketing labels.team:sales"
Para las configuraciones de transferencia, usa
dataSourceIdscomo clave y una de las siguientes fuentes de datos como valor:
amazon_s3: Transferencia de datos de Amazon S3azure_blob_storage: Transferencia de datos de Azure Blob Storagedcm_dt: Transferencia de datos de Campaign Managergoogle_cloud_storage: Transferencia de datos de Cloud Storagecross_region_copy: Copia de conjunto de datosdfp_dt- Transferencia de datos de Google Ad Managerdisplayvideo- Transferencia de datos de Display & Video 360google_ads- Transferencia de datos de Google Adsmerchant_center: Transferencia de datos de Google Merchant Centermysql- Transferencia de datos de MySQLplay- Transferencia de datos de Google Playscheduled_query: Transferencia de datos de consultas programadassearch_ads- Transferencia de datos de Search Ads 360youtube_channel: Transferencia de datos de canal de YouTubeyoutube_content_owner: Transferencia de datos de propietario del contenido de YouTuberedshift: Migración de Amazon Redshifton_premises- Migración desde Teradata
Por ejemplo:
--filter labels.dataSourceIds:dcm_dt
Para las ejecuciones de transferencia, usa states como clave y uno o más de los siguientes estados de transferencia como el valor:
SUCCEEDEDFAILEDPENDINGRUNNINGCANCELLED
Por ejemplo:
--filter="states:FAILED"
En el caso de los trabajos, usa states como clave y uno o más de los siguientes estados de trabajo como valor:
RUNNINGPENDINGDONE
Por ejemplo:
bq ls --jobs --filter="states:RUNNING" bq ls --jobs --filter="states:RUNNING,PENDING"
--jobs={true|false}o-j={true|false}- Para enumerar los trabajos, configúralos como
true. El valor predeterminado esfalse. De forma predeterminada, tienes un límite de 100,000 resultados. --max_creation_time=MAX_CREATION_TIME_MS- Es un número entero que representa una marca de tiempo ciclo de entrenamiento de Unix en milisegundos.
Cuando se especifica con la marca
--jobs, esta marca solo enumera los trabajos creados antes de la marca de tiempo. --max_results=MAX_RESULTS or -n=MAX_RESULTS- Es un número entero que indica la cantidad máxima de resultados. El valor predeterminado es 50 y el valor máximo es 1,000. Si tienes más de 1,000 trabajos, puedes usar la marca
page_tokenpara enumerar todos los trabajos mediante la paginación. - --
min_creation_time=MIN_CREATION_TIME_MS - Es un número entero que representa una marca de tiempo ciclo de entrenamiento de Unix en milisegundos. Cuando se especifica con la marca
--jobs, muestra una lista solo de los trabajos creados después de la marca de tiempo. --message_type=messageTypes:MESSAGE_TYPEPara mostrar solo una lista de mensajes de registro de ejecución de transferencia pertenecientes a un tipo determinado, especifica
messageTypes:MESSAGE_TYPE. Los valores posibles son los siguientes:INFOWARNINGERROR
--models={true|false}o-m={true|false}Para enumerar los modelos de BigQuery ML, configúralo como
true. El valor predeterminado esfalse.--page_token=TOKENo-k=TOKENMuestra una lista de los elementos a partir del token de la página especificado.
--projects={true|false}o-p={true|false}Para mostrar todos los proyectos, configúralo como
true. El valor predeterminado esfalse.--reservation={true|false}Para enumerar todas las reservas de un proyecto y una ubicación determinados, configúralo como
true. El valor predeterminado esfalse. Úsalo con las marcas--project_idy--location.Por ejemplo:
bq ls --reservation=true --project_id=myProject --location=us
--reservation_assignment={true|false}Para enumerar todas las asignaciones de reserva de una ubicación y un proyecto determinados, configúralos como
true. El valor predeterminado esfalse. Úsalo con las marcas--project_idy--location.--routines={true|false}Para enumerar todas las rutinas en el conjunto de datos especificado, configúrala como
true. El valor predeterminado esfalse. Las rutinas incluyen lo siguiente: funciones persistentes definidas por el usuario, funciones de tabla (Vista previa) y procedimientos almacenados.--row_access_policiesCuando se especifique, enumera todas las políticas de acceso a nivel de fila en una tabla. Las políticas de acceso a nivel de fila se usan para la seguridad a nivel de fila. Debes proporcionar el nombre de la tabla en el formato
dataset.table.--run_attempt=RUN_ATTEMPTÚsalo con la marca
--transfer_run. Para enumerar todos los intentos de ejecución de la ejecución de la transferencia especificada, configúrala comoRUN_ATTEMPT_UNSPECIFIED. Para enumerar solo el intento de ejecución más reciente, estableceLATEST. El valor predeterminado esLATEST.--transfer_config={true|false}Para mostrar una lista de las opciones de configuración de la transferencia en el proyecto y la ubicación que se especificaron, configúralos como
true. Úsalo con las marcas--transfer_locationy--project_id. El valor predeterminado esfalse.--transfer_location=LOCATIONMuestra una lista de las configuraciones de transferencia en la ubicación especificada. Debes establecer la ubicación de transferencia cuando se crea la transferencia.
--transfer_log={true|false}Úsalo con la marca
--transfer_run. Para mostrar una lista de los mensajes de registro de transferencia de la ejecución de transferencias que se especificó, configúrala comotrue. El valor predeterminado esfalse.--transfer_run={true|false}Enumera las ejecuciones de transferencia para la configuración de la transferencia especificada.
Por ejemplo:
bq ls --transfer_run=true projects/myProject/locations/us/transferConfigs/12345
RESOURCELa colección cuyos objetos deseas enumerar. El recurso puede ser un conjunto de datos, un proyecto, una reserva o una configuración de transferencia.
Para obtener más información sobre el uso del comando bq ls, consulta los siguientes vínculos:
- Administra trabajos
- Haz una lista de los conjuntos de datos
- Crea y usa tablas
- Muestra una lista de las vistas de un conjunto de datos
- Trabaja con transferencias
- Enumera instantáneas de tablas en un conjunto de datos
bq mk
Usa el comando bq mk para crear un recurso de BigQuery.
Sinopsis
bq mk TYPE_FLAG [OTHER FLAGS] [ARGS]
Marcas y argumentos
El comando bq mk toma una marca de tipo que especifica el tipo de recurso que deseas crear y otras marcas que dependen del tipo de recurso.
TYPE_FLAG: Establece una de las siguientes marcas en true.
Tu selección especifica el tipo de recurso que deseas crear.
--capacity_commitment: Compra un compromiso de capacidad.--connection: Crea una conexión.--dataseto-d: Crea un conjunto de datos.--materialized_view: Crea una vista materializada.--reservation: Crea una reserva.--reservation_assignment: Asigna una carpeta, organización o proyecto a una reserva.--tableo-t: Crea una tabla.--transfer_config: Crea una configuración de transferencia.--transfer_run: Crea una ejecución de transferencia para un intervalo de tiempo.--view: Crea una vista.
El comando bq mk admite la siguiente marca para todos los tipos de recursos:
--force={true|false}o-f={true|false}- Para ignorar errores si ya existe un recurso con el mismo nombre, configúralo como
true. Si el recurso ya existe, el código de salida es 0, pero establecer esta marca entrueno hará que el comandobq mkreemplace el recurso. El valor predeterminado esfalse.
El comando bq mk admite marcas adicionales, según el tipo de recurso
que crees, como se describe en las siguientes secciones.
bq mk --capacity_commitment
Para comprar un compromiso de capacidad, configura --capacity_commitment como true y usa las siguientes marcas:
--location=LOCATION- Especifica la ubicación del compromiso.
--plan=PLAN_TYPEEspecifica el tipo de plan del compromiso. Debe ser uno de los siguientes valores:
ANNUALTHREE_YEAR
Los clientes que usan precios heredados de tarifa plana también pueden usar uno de los siguientes valores:
FLEXMONTHLYANNUAL
--renewal_plan=RENEWAL_TYPEEspecifica el tipo de plan de renovación. Obligatorio para los planes de compromiso
ANNUALoTHREE_YEAR. Debe ser uno de los siguientes:ANNUALTHREE_YEARNONE
Los clientes que usan precios de tarifa plana heredados también pueden usar uno de los siguientes valores:
FLEXMONTHLYANNUAL
--project_id=PROJECT_IDEspecifica el proyecto que administra las ranuras.
--slots=NUMBER_OF_BASELINE_SLOTSEspecifica la cantidad de ranuras del modelo de referencia que se deben comprar.
--edition=EDITIONLa edición asociada con el compromiso de capacidad. Debe ser una de las siguientes opciones:
ENTERPRISEENTERPRISE_PLUS
Para obtener más información, consulta Adquiere ranuras.
bq mk --connection
Crea una conexión. Se admiten las siguientes marcas:
--connection_type=CONNECTION_TYPE- El tipo de conexión, por ejemplo,
CLOUD_SQLpara conexiones de Cloud SQL. --properties=PROPERTIESParámetros de conexión específicos en formato JSON. Se deben especificar
instanceId,databaseytype.Si creas una conexión de Spanner y deseas usar Data Boost, incluye los pares
"useParallelism":truey"useDataBoost":true.--connection_credential=CONNECTION_CREDENTIALLas credenciales de la conexión en formato JSON. Se deben especificar
usernameypassword.--project_id=PROJECT_IDEspecifica el ID del proyecto al que pertenece la conexión.
--location=LOCATIONEspecifica la ubicación en la que se almacenará la conexión.
--display_name=DISPLAY_NAMEEspecifica un nombre fácil opcional para la conexión.
--description=DESCRIPTIONEspecifica una descripción opcional de la conexión.
--iam_role_id=ROLE_IDEn BigQuery Omni en AWS, especifica un rol de IAM que permite el acceso al recurso.
Usa el siguiente formato:
"arn:aws:iam::AWS_ACCOUNT_ID:role/POLICY_NAME", en el que:- AWS_ACCOUNT_ID es el número de ID del usuario de IAM de AWS de la conexión.
- POLICY_NAME es el nombre de la política.
Ejemplo:
"arn:aws:iam::0123456789AB:policy/s3-read-role"--tenant_id=TENANT_IDPara BigQuery Omni en Microsoft Azure, especifica el ID de usuario del directorio de Microsoft Azure que contiene la cuenta de Microsoft Azure Storage.
CONNECTION_IDEspecifica un ID de conexión opcional para la conexión. Si no se proporciona un ID de conexión, se genera un ID único de forma automática. El ID de conexión puede contener letras, números y guiones bajos.
Para obtener más información, consulta Introducción a las conexiones.
bq mk --dataset
Crea un conjunto de datos. Se admiten las siguientes marcas:
--add_tags=TAGS- Especifica las etiquetas que adjuntas al conjunto de datos
nuevo, separadas por comas. Por ejemplo,
556741164180/env:prod,myProject/department:sales. Cada etiqueta debe tener el nombre de clave con espacio de nombres y el nombre corto del valor. --default_kms_key=KEY- Especifica el ID de recurso de la clave de Cloud KMS predeterminado para encriptar los datos de la tabla en un conjunto de datos si no se proporciona una clave explícita durante la creación o la búsqueda de la tabla.
--default_partition_expiration=SECONDS- Es un número entero que especifica el vencimiento predeterminado (en segundos) de todas las particiones de las tablas particionadas nuevas que se crean en el conjunto de datos. La fecha y hora de vencimiento de una partición se determina según la suma de la fecha de la partición en formato UTC más el valor del número entero.
Si se configura esta propiedad, su valor anula el vencimiento predeterminado de la tabla definido para todo el conjunto de datos, si existe. Si suministras la marca
--time_partitioning_expirationcuando creas o actualizas una tabla particionada, el vencimiento de la partición a nivel de la tabla tiene prioridad sobre el vencimiento predeterminado de la partición a nivel del conjunto de datos. --default_table_expiration=SECONDS- Es un número entero que especifica la duración predeterminada (en segundos) de las tablas nuevas que se crean en un conjunto de datos. La fecha y hora de vencimiento se determina mediante la suma de la hora actual en formato UTC más este valor.
--description=DESCRIPTION- Especifica la descripción del conjunto de datos.
--external_source=EXTERNAL_SOURCE- Especifica la fuente de datos externa cuando creas un conjunto de datos federado.
--label=KEY:VALUE- Especifica una etiqueta para el conjunto de datos. Repite esta marca para especificar varias etiquetas.
--location=LOCATIONo--data_location=LOCATION- Especifica la ubicación del conjunto de datos. Prefiere la marca
--location. La marca--data_locationes heredada. --max_time_travel_hours=HOURS- Especifica la duración en horas del período del
período del viaje en el tiempo
para el conjunto de datos. El valor
--max_time_travel_hoursdebe ser un número entero expresado en múltiplos de 24 (48, 72, 96, 120, 144, 168) entre 48 (2 días) y 168 (7 días). Si no se especifica esta marca, 168 horas es el valor predeterminado. --storage_billing_model=BILLING_MODELEspecifica el modelo de facturación de almacenamiento del conjunto de datos. Establece el valor
--storage_billing_modelenPHYSICALpara usar bytes físicos cuando se calculan los cargos de almacenamiento, o enLOGICALpara usar bytes lógicos.LOGICALes la configuración predeterminada.Cuando cambias el modelo de facturación de un conjunto de datos, el cambio tarda 24 horas en aplicarse.
Una vez que cambies el modelo de facturación de almacenamiento de un conjunto de datos, debes esperar 14 días antes de poder volver a cambiar el modelo de facturación de almacenamiento.
Para obtener más información, consulta Crea conjuntos de datos.
bq mk --materialized_view
Crea una vista materializada. Se admiten las siguientes marcas:
--enable_refresh={true|false}- Para inhabilitar la actualización automática de una vista materializada, configúrala como
false. El valor predeterminado cuando se crea una vista materializada estrue. --refresh_interval_ms=MILLISECONDS- Especifica la cantidad de milisegundos para el intervalo de actualización de una vista materializada. Si no se especifica esta marca, el intervalo de actualización predeterminado para una vista materializada que tenga habilitada la actualización es de 1,800,000 milisegundos, que equivale a 30 minutos.
Para obtener más información, consulta Crea y usa vistas materializadas.
bq mk --reservation
Crea una reserva con ranuras dedicadas. Se admiten las siguientes marcas:
--target_job_concurrency=CONCURRENCY- Especifica la cantidad objetivo de las consultas que se ejecutan de forma simultánea. El valor predeterminado es 0, lo que significa que la simultaneidad se calcula de forma automática según el tamaño de la reserva. Para obtener más información, consulta Usa colas de consultas.
--ignore_idle_slots={true|false}- Para restringir los trabajos que se ejecutan en esta reserva a fin de que solo usen las ranuras asignadas a
la reserva, configúrala como
true. El valor predeterminado esfalse. Los trabajos de esta reserva pueden usar ranuras inactivas de otras reservas o ranuras que no se asignaron a ninguna reserva. Para obtener más información, consulta Ranuras inactivas. --location=LOCATION- Especifica la ubicación de la reserva.
--project_id=PROJECT_ID- Especifica el proyecto al que pertenece la reserva.
--slots=NUMBER_OF_BASELINE_SLOTS- Especifica la cantidad de ranuras del modelo de referencia que se asignarán a esta reserva.
--edition=EDITION- es la edición asociada con el compromiso de capacidad. Debe ser una de las siguientes opciones:
STANDARDENTERPRISEENTERPRISE_PLUS
--autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS- es la cantidad de ranuras de ajuste de escala automático asignadas a la reserva. Esto es igual al valor del tamaño máximo de la reserva menos la cantidad de ranuras del modelo de referencia. Solo disponible con la marca
--edition. --max_slots=MAXIMUM_NUMBER_OF_SLOTS- Es la cantidad máxima de espacios que consumirá la reserva. Se debe configurar con la marca
--scaling_mode(vista previa). --scaling_mode=SCALING_MODEEs el modo de escalamiento de la reserva. Debe ser una de las siguientes opciones:
IDLE_SLOTS_ONLYALL_SLOTSAUTOSCALE_ONLYSCALING_MODE_UNSPECIFIED
Se debe configurar con la marca
--max_slots(vista previa).
Para obtener más información, consulta Crea una reserva con ranuras dedicadas.
bq mk --reservation_assignment
Asigna un proyecto, una carpeta o una organización a una reserva. Se admiten las siguientes marcas:
--assignee_id=ASSIGNEE_ID- Es el ID de la carpeta, la organización o el proyecto.
--assignee_type=ASSIGNEE_TYPE- Es el tipo de entidad que se asignará a la reserva. Uno de los siguientes:
FOLDERORGANIZATIONPROJECT
--job_type=JOB_TYPE- Es el tipo de trabajo que se asignará a la reserva. Uno de los siguientes:
QUERYPIPELINEML_EXTERNALBACKGROUND
--location=LOCATION- Especifica la ubicación de la reserva.
--project_id=PROJECT_ID- Especifica el proyecto al que pertenece la reserva.
--reservation_id=RESERVATION_ID- Especifica el ID de la reserva.
Para obtener más información, consulta la sección sobre cómo trabajar con asignaciones de reservas.
bq mk --table
Crea una tabla. Se admiten las siguientes marcas:
--add_tags=TAGS- Especifica las etiquetas que adjuntas a la tabla nueva, separadas por comas. Por ejemplo,
556741164180/env:prod,myProject/department:sales. Cada etiqueta debe tener el nombre de clave con espacio de nombres y el nombre corto del valor. --clustering_fields=COLUMNS- Una lista separada por comas de hasta cuatro nombres de columna que especifica los campos que se usarán para el agrupamiento en clústeres de la tabla. Si se especifica con la partición, la tabla se particiona y, luego, cada partición se agrupa en clústeres mediante las columnas proporcionadas.
--description=DESCRIPTION- Especifica la descripción de la tabla.
--destination_kms_key=KEY- Especifica un ID de recurso de clave de Cloud KMS para encriptar los datos de la tabla de destino.
--expiration=SECONDS- Especifica la vida útil de la tabla. Si no incluyes la marca
--expiration, BigQuery crea la tabla con la vida útil predeterminada de la tabla del conjunto de datos o la tabla no vencerá. --external_table_definition=STRINGEspecifica una definición de tabla para crear una tabla externa.
Para tablas externas de Cloud Storage y Google Drive:
-
--external_table_definition={PATH_TO_FILE|DEFINITION} - El valor puede ser una ruta de acceso a un archivo que contiene una definición de tabla (
PATH_TO_FILE) o una definición de tabla intercalada (DEFINITION).
- El formato del campo
DEFINITIONesSCHEMA@FORMAT=URI. El formato del valor
SCHEMAes una lista de definiciones de columnas separadas por comas con el formatoFIELD:DATA_TYPE, FIELD:DATA_TYPE. Puedes omitir el valorSCHEMAsi el formato de datos es autodescriptivo (como Avro) o si usas la detección automática de esquemas.El valor
FORMATespecifica el formato de los datos; Una de las siguientes opciones:AVROCSVDATASTORE_BACKUP(usa este valor para Filestore)ICEBERGNEWLINE_DELIMITED_JSONORCPARQUET
Si especificas un archivo de definición de tablas, no le agregues una extensión al nombre de archivo.
Por ejemplo:
--external_table_definition=/tmp/tabledef
--external_table_definition=Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
Para las tablas externas de Bigtable y las tablas de BigLake basadas en AWS y Azure:
--external_table_definition=PATH_TO_FILE- El valor debe ser una ruta de acceso a un archivo que contiene una definición de tabla.
Para las tablas de BigLake basadas en Cloud Storage:
--external_table_definition=FORMAT=BUCKET_PATH@REGION.CONNECTION_NAME:El valor
FORMATespecifica el formato de los datos; Una de las siguientes opciones:AVROCSVNEWLINE_DELIMITED_JSONICEBERGORCPARQUET
BUCKET_PATHes la ruta a uno o más archivos en Cloud Storage que contienen los datos de la tabla de BigLake. Puedes especificarBUCKET_PATHen los siguientes formatos:- Para un solo archivo:
gs://bucket_name/[folder_name/]file_name. - Para varios archivos en un solo bucket:
gs://bucket_name/[folder_name/]*. Para varios archivos en varios buckets:
gs://mybucket1/*,gs://mybucket2/folder5/*.Puedes usar comodines para limitar los archivos incluidos en la tabla de BigLake. Por ejemplo, si el bucket contiene varios tipos de datos, puedes hacer que la tabla solo use archivos PARQUET si especificas
gs://bucket_name/*.parquet. Para obtener más información sobre el uso de comodines, consulta Comodines de URI.
- Para un solo archivo:
El valor
REGIONespecifica la región o multirregión que contiene la conexión.El valor
CONNECTION_NAMEespecifica el nombre de la conexión de recursos en la nube que se usará con esta tabla externa. La conexión determina qué cuenta de servicio se usa para leer datos de Cloud Storage.
Para las tablas de objetos:
--external_table_definition=BUCKET_PATH@REGION.CONNECTION_NAME:BUCKET_PATHes la ruta al bucket de Cloud Storage que contiene los objetos representados por la tabla de objetos, en el formatogs://bucket_name/[folder_name/]*. Puedes especificar varios bucket s si proporcionas varios rutas de acceso, comogs://mybucket1/*,gs://mybucket2/folder5/*.Puedes usar comodines para limitar los objetos incluidos en la tabla de objetos. Por ejemplo, si el bucket contiene varios tipos de datos no estructurados, puedes crear la tabla de objetos solo sobre objetos PDF si especificas
gs://bucket_name/*.pdf. Para obtener más información sobre el uso de comodines, consulta Comodines de URI.El valor
REGIONespecifica la región o multirregión que contiene la conexión.El valor
CONNECTION_NAMEespecifica el nombre de la conexión de recursos en la nube que se usará con esta tabla externa. La conexión determina qué cuenta de servicio se usa para leer datos de Cloud Storage.
-
--file_set_spec_type=FILE_SET_SPEC_TYPEEspecifica cómo interpretar los URI de origen.
FILE_SYSTEM_MATCH: Expande los URI de origen enumerando los archivos del almacén de objetos. Este es el comportamiento predeterminado si FileSetSpecType no está configurado.NEW_LINE_DELIMITED_MANIFEST: Indica que los URI proporcionados son archivos de manifiesto delimitados por saltos de línea, con un URI por línea. Los URI comodín no son compatibles con los archivos de manifiesto y todos los archivos de datos a los que se hace referencia deben estar en el mismo bucket que el manifiesto.
Por ejemplo, si tienes un URI de origen de
"gs://bucket/path/file"yfile_set_spec_typeesFILE_SYSTEM_MATCH, el archivo se usará directamente como un archivo de datos. Sifile_set_spec_typeesNEW_LINE_DELIMITED_MANIFEST, cada línea del archivo se interpreta como un URI que apunta a un archivo de datos.--reference_file_schema_uri=URIEspecifica la ruta a un archivo de referencia con el esquema de tabla esperado para crear tablas externas. Equivale a
ExternalDataConfiguration.referenceFileSchemaUri. Esta marca está habilitada para los formatos Avro, ORC y PARQUET.--label=KEY:VALUEEspecifica una etiqueta para la tabla. Repite esta marca para especificar varias etiquetas.
--max_staleness=INTERVALEspecifica si las operaciones en la tabla usan los metadatos almacenados en caché y qué tan recientes deben ser los metadatos almacenados en caché para que la operación los use.
Aplicable a las tablas de BigLake y las tablas de objetos.
Para inhabilitar el almacenamiento en caché de metadatos, especifica 0. Esta es la opción predeterminada.
Para habilitar el almacenamiento en caché de metadatos, especifica un valor de intervalo entre 30 minutos y 7 días, mediante el siguiente comando:
Y-M D H:M:Sformato que se describe en elINTERVALtipo de datos. Por ejemplo, especifica0-0 0 4:0:0para un intervalo de inactividad de 4 horas. Con este valor, las operaciones en la tabla usan metadatos almacenados en caché si se actualizaron en las últimas 4 horas. Si los metadatos almacenados en caché son más antiguos, la operación recurre a la recuperación de metadatos desde Cloud Storage.--object_metadata=STRINGConfigura el valor de esta opción como
SIMPLEcuando crees una tabla de objetos.Solo se requiere cuando se crea una tabla de objetos.
--range_partitioning=COLUMN_NAME,START,END,INTERVALEspecifica de la siguiente manera las opciones para una partición de rango de números enteros:
column_namees la columna que se usó para crear las particiones por rango de números enteros.startes el inicio de la partición por rango (inclusivo).endes el final de la partición por rango (exclusivo).intervales el ancho de cada rango dentro de la partición.
Por ejemplo:
--range_partitioning=customer_id,0,10000,100
--require_partition_filter={true|false}Si quieres solicitar un filtro de partición para las búsquedas sobre la tabla proporcionada, configúralo como
true. Esta marca solo se aplica a las tablas particionadas. El valor predeterminado esfalse.--schema={SCHEMA_FILE|SCHEMA}Especifica la ruta de acceso a un archivo de esquema JSON local o una lista de definiciones de columnas separadas por comas con el formato
FIELD:DATA_TYPE, FIELD:DATA_TYPE. Si usas un archivo de esquema, no le agregues una extensión al nombre del archivo.Ejemplos:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--time_partitioning_expiration=SECONDSUn número entero que especifica (en segundos) cuándo se debe borrar una partición basada en el tiempo. La fecha y hora de vencimiento se evalúa según la suma de la fecha de la partición en formato UTC más el valor del número entero. Si el número es negativo, no hay vencimiento.
--time_partitioning_field=COLUMN_NAMEEspecifica el campo utilizado para determinar cómo crear una partición basada en el tiempo. Si la partición basada en el tiempo se habilita sin este valor, la tabla se particiona en función del tiempo de carga.
--time_partitioning_type=INTERVALHabilita las particiones basadas en el tiempo en una tabla y establece el tipo de partición. Usa uno de los siguientes valores:
DAYHOURMONTHYEAR
--use_avro_logical_types={true|false}Si la parte
FORMATde la marca--external_table_definitionse configura comoAVRO, esta marca especifica si se deben convertir tipos lógicos en sus tipos correspondientes (comoTIMESTAMP), en lugar de usar únicamente tipos sin procesar (comoINTEGER).--parquet_enable_list_inference={true|false}Si la parte
FORMATde la marca--external_table_definitionse configura comoPARQUET, esta marca especifica si se debe usar Inferencia de esquema para los tipos lógicos de ParquetLIST.--parquet_enum_as_string={true|false}Si la parte
FORMATde la marca--external_table_definitionse configura comoPARQUET, esta marca especifica si se deben inferir los tipos lógicos de ParquetENUMcomo valoresSTRING.
Para obtener más información, consulta Crea y usa tablas.
bq mk --transfer_config
Crea una configuración de transferencia. Se admiten las siguientes marcas:
--data_source=DATA_SOURCE- Especifica la fuente de datos. Obligatorio cuando se crea una configuración de transferencia. Usa uno de los siguientes valores:
amazon_s3: Transferencia de datos de Amazon S3azure_blob_storage: Transferencia de datos de Azure Blob Storagedcm_dt: Transferencia de datos de Campaign Managergoogle_cloud_storage: Transferencia de datos de Cloud Storagecross_region_copy: Copia de conjunto de datosdfp_dt- Transferencia de datos de Google Ad Managerdisplayvideo- Transferencia de datos de Display & Video 360google_ads- Transferencia de datos de Google Adsmerchant_center: Transferencia de datos de Google Merchant Centermysql- Transferencia de datos de MySQLplay- Transferencia de datos de Google Playscheduled_query: Transferencia de datos de consultas programadassearch_ads- Transferencia de datos de Search Ads 360youtube_channel: Transferencia de datos de canal de YouTubeyoutube_content_owner: Transferencia de datos de propietario del contenido de YouTuberedshift: Migración de Amazon Redshifton_premises- Migración desde Teradata
--display_name=DISPLAY_NAME- Especifica el nombre visible de la configuración de transferencia.
--no_auto_scheduling={true|false}- Inhabilita la programación automática de ejecuciones de transferencia de datos para esta configuración.
El valor predeterminado es
false. --params={"PARAMETER":"VALUE"}o-p={"PARAMETER":"VALUE"}- Especifica los parámetros de la configuración de la transferencia en formato JSON. Los parámetros varían según la fuente de datos.
--refresh_window_days=DAYS- Es un número entero que especifica el período de actualización en días para la configuración de la transferencia. El valor predeterminado es
0. --service_account_name=SERVICE_ACCOUNT- Especifica la cuenta de servicio que se usará como credencial para la configuración de transferencia.
--target_dataset=DATASET- Especifica el conjunto de datos de destino para la configuración de transferencia.
--table_filter=TABLES- Solo se usa con la fuente de datos
google_ads. El parámetroTABLESes una lista de tablas separadas por comas que se deben incluir en la transferencia. Para excluir una tabla, coloca un guion como prefijo (-). El valor predeterminado incluye todas las tablas en la transferencia. --destination_kms_key=KEY- Especifica un ID de recurso de clave de Cloud KMS para encriptar los datos de la tabla de destino.
Para obtener información sobre el uso del comando bq mk con el Servicio de transferencia de datos de BigQuery, consulta las siguientes secciones:
- Configura una transferencia de Amazon S3
- Configura una transferencia de Campaign Manager
- Configura una transferencia de Cloud Storage
- Configura una transferencia de Google Ad Manager
- Configura una transferencia de Google Ads
- Configura una transferencia de Google Merchant Center (Beta).
- Configura una transferencia de Google Play
- Configura una transferencia de Search Ads 360 (beta)
- Configura una transferencia de canal de YouTube
- Configura una transferencia del propietario del contenido de YouTube
- Migra datos desde Amazon Redshift
- Migra datos desde Teradata
bq mk --transfer_run
Crea una ejecución de transferencia de datos en el intervalo de tiempo o tiempo especificado mediante la configuración de transferencia de datos especificada.
Sinopsis
bq mk --transfer_run [--run_time=RUN_TIME | --start_time=START_TIME --end_time=END_TIME] CONFIG
Se admiten las siguientes marcas:
--run_time=RUN_TIME- Una marca de tiempo que especifica la hora para programar la ejecución de la transferencia de datos.
--start_time=START_TIME- Es una marca de tiempo que especifica la hora de inicio para un rango de ejecuciones de transferencias.
--end_time=END_TIME- Una marca de tiempo que especifica la hora de finalización de un rango de ejecuciones de transferencias.
El formato de las marcas de tiempo es RFC3339 UTC “Zulú”.
El argumento CONFIG especifica una configuración de transferencia de datos preexistente.
Ejemplos
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
Crea una vista. Se admiten las siguientes marcas:
--add_tags=TAGS- Especifica las etiquetas que adjuntas a la vista nueva, separadas por comas. Por ejemplo,
556741164180/env:prod,myProject/department:sales. Cada etiqueta debe tener el nombre de clave con espacio de nombres y el nombre corto del valor. --description=DESCRIPTION- Especifica la descripción de la vista.
--expiration=SECONDS- Especifica la vida útil de la vista. Si
SECONDSes0, la vista no caducará. Si no incluyes la marca--expiration, BigQuery crea la vista con la vida útil predeterminada de la tabla del conjunto de datos. --label=KEY:VALUE- Especifica una etiqueta para la vista. Repite esta marca para especificar varias etiquetas.
--use_legacy_sql={true|false}- Configúralo como
falsepara usar una consulta de GoogleSQL a fin de crear una vista. El valor predeterminado se determina según tu configuración. Si no se especifica el parámetro de configuración, el valor predeterminado estrue(usa SQL heredado). --view_udf_resource=FILE- Especifica el URI de Cloud Storage o la ruta de acceso a un archivo de código local que se cargará y evaluará de inmediato como un recurso de función definida por el usuario usado por una búsqueda de SQL de la vista. Repite esta marca para especificar varios archivos.
Para obtener más información, consulta Crea vistas.
bq mkdef
Usa el comando bq mkdef a fin de crear una definición de tabla en formato JSON para los datos almacenados en Cloud Storage o Google Drive.
Sinopsis
bq mkdef [FLAGS] URI [ > FILE ]
Marcas y argumentos
El comando bq mkdef usa los siguientes argumentos y marcas:
--autodetect={true|false}- Especifica si se debe usar la detección automática de esquemas para los datos CSV y JSON. El valor predeterminado es
false. --connection_id=CONNECTION_ID- El ID de un recurso de conexión que se usará para la autenticación.
--hive_partitioning_modeEspecifica cómo determinar el esquema de partición cuando BigQuery lee datos. Se admiten los siguientes modos:
AUTO: infiere de forma automática nombres y tipos de claves de partición.STRINGS: infiere de manera automática nombres de claves de partición. Todos los tipos se tratan como strings.CUSTOM: especifica el esquema de partición en el prefijo de URI de origen.
El valor predeterminado es
AUTO.--hive_partitioning_source_uri_prefixEspecifica el prefijo común para los URI de origen. El valor de prefijo común es la parte del URI que precede inmediatamente a la codificación de la clave de partición. Si especificaste
CUSTOMpara el modo, también debes identificar el esquema de partición.Por ejemplo, considera los archivos con la siguiente estructura:
gs://bucket/path_to_table/dt=2019-06-01/country=USA/id=7/file.avrogs://bucket/path_to_table/dt=2019-05-31/country=CA/id=3/file.avro
Si usas los modos
AUTOoSTRINGS, se aceptan los siguientes valores:gs://bucket/path_to_tablegs://bucket/path_to_table/
Si usas el modo
CUSTOM, se aceptan los siguientes valores: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}
Para obtener más información sobre el uso del comando bq mkdef, consulta Cómo crear un archivo de definición de tablas para una fuente de datos externa.
--ignore_unknown_values={true|false}o-i={true|false}- Especifica si se deben ignorar los valores de una fila que no estén presentes en el esquema. El valor predeterminado es
false. --metadata_cache_mode=STRINGEspecifica si la caché de metadatos de la tabla se actualiza de forma automática o manual.
Configúralo como
AUTOMATICpara que la caché de metadatos se actualice a un intervalo definido por el sistema, por lo general, entre 30 y 60 minutos.Configúralo como
MANUALsi deseas actualizar la caché de metadatos en un programa que determines. En este caso, puedes llamar al procedimiento del sistemaBQ.REFRESH_EXTERNAL_METADATA_CACHEpara actualizar la caché.Debes establecer la marca
--metadata_cache_modesi configuraste la marca--max_stalenesscon el comandobq mk.--parquet_enable_list_inference={true|false}Si
source_formatse configura comoPARQUET, esta marca especifica si se debe usar la inferencia de esquema para los tipos lógicosLISTde Parquet. El valor predeterminado esfalse.--parquet_enum_as_string={true|false}Si
source_formatestá configurado comoPARQUET, esta marca especifica si se deben inferir los tipos lógicosENUMde Parquet como valoresSTRING. El valor predeterminado esfalse.--file_set_spec_type=FILE_SET_SPEC_TYPEEspecifica cómo interpretar los URI de origen.
FILE_SYSTEM_MATCH: Expande los URI de origen enumerando los archivos del almacén de objetos. Este es el comportamiento predeterminado si FileSetSpecType no está configurado.NEW_LINE_DELIMITED_MANIFEST: Indica que los URI proporcionados son archivos de manifiesto delimitados por saltos de línea, con un URI por línea. Los URI comodín no son compatibles con los archivos de manifiesto y todos los archivos de datos a los que se hace referencia deben estar en el mismo bucket que el manifiesto.
Por ejemplo, si tienes un URI de origen de
"gs://bucket/path/file"yfile_set_spec_typeesFILE_SYSTEM_MATCH, el archivo se usará directamente como un archivo de datos. Sifile_set_spec_typeesNEW_LINE_DELIMITED_MANIFEST, cada línea del archivo se interpreta como un URI que apunta a un archivo de datos.--source_format=FORMATEspecifica el formato de los datos de origen. Usa uno de los siguientes valores:
AVROCSVDATASTORE_BACKUP(usa este valor para Filestore)GOOGLE_SHEETSNEWLINE_DELIMITED_JSONORCPARQUET
El valor predeterminado es
CSV.--use_avro_logical_types={true|false}Si la marca
--source_formatse configura comoAVRO, especificará si se deben convertir los tipos lógicos en sus tipos correspondientes (comoTIMESTAMP) en lugar de solo usar los tipos sin procesar (comoINTEGER). El valor predeterminado esfalse.
bq partition
Usa el comando bq partition para convertir un grupo de tablas con sufijos de unidades de tiempo, como tablas que terminan en YYYYMMDD para la partición de fecha, en tablas particionadas.
Sinopsis
bq partition [FLAGS] SOURCE_TABLE_BASE_NAME PARTITION_TABLE
Marcas y argumentos
El comando bq partition usa los siguientes argumentos y marcas:
--no_clobber={true|false}o-n={true|false}- Para inhabilitar el reemplazo de una partición existente,
configúralo como
true. El valor predeterminado esfalse. Si la partición existe, se reemplaza. --time_partitioning_expiration=SECONDS- Un número entero que especifica (en segundos) cuándo se debe borrar una partición basada en el tiempo. La fecha y hora de vencimiento se evalúa según la suma de la fecha de la partición en formato UTC más el valor del número entero. Si el número es negativo, no hay vencimiento.
--time_partitioning_type=INTERVALEspecifica el tipo de partición. En la siguiente tabla, se proporcionan los valores posibles para la marca
INTERVALy el formato esperado de sufijo de unidades de tiempo para cada uno:INTERVALSufijo HOURYYYYMMDDHHDAYYYYYMMDDMONTHYYYYMMYEARYYYYSOURCE_TABLE_BASE_NAMEEl nombre base del grupo de tablas con sufijos de unidades de tiempo.
PARTITION_TABLEEl nombre de la tabla particionada de destino.
Para obtener más información sobre el uso del comando bq partition, consulta la sección sobre cómo convertir tablas fragmentadas en fechas en tablas particionadas de tiempo de transferencia.
bq query
Usa el comando bq query para crear un trabajo de búsqueda que ejecute la búsqueda de SQL especificada.
Sinopsis
bq query [FLAGS] 'QUERY'
Marcas y argumentos
El comando bq query usa los siguientes argumentos y marcas:
--allow_large_results={true|false}- Si quieres habilitar tamaños de tablas de destino grandes para las búsquedas de SQL heredado, configúralos como
true. El valor predeterminado esfalse. --append_table={true|false}- Para agregar datos a una tabla de destino, configúrala como
true. El valor predeterminado esfalse. --batch={true|false}- Para ejecutar la consulta en modo por lotes, configúrala como
true. El valor predeterminado esfalse. --clustering_fields=COLUMNS- Una lista separada por comas de hasta cuatro nombres de columna que especifica los campos que se pueden usar para agrupar en clústeres la tabla de destino en una búsqueda. Si se especifica con la partición, la tabla se particiona y, luego, cada partición se agrupa en clústeres mediante las columnas proporcionadas.
--connection_property=KEY=VALUEEs un par clave-valor que te permite especificar propiedades a nivel de la conexión para personalizar el comportamiento de las consultas. Repite esta marca para especificar propiedades adicionales.
Las propiedades de conexión compatibles son las siguientes:
dataset_project_id: Representa el proyecto predeterminado para los conjuntos de datos que se usan en la consulta, similar a la variable del sistema@@dataset_project_id.query_label: Asocia la consulta con una etiqueta de trabajo determinada. Si se configura, todas las consultas posteriores en una secuencia de comandos o sesión tendrán esta etiqueta. Para obtener detalles sobre los requisitos de formato de las etiquetas de consulta, consulta el campolabelsen el recursoJobConfiguration.service_account: Especifica una cuenta de servicio para usar y ejecutar la consulta. Por ejemplo,--connection_property=service_account=myserviceaccount@project.iam.gserviceaccount.com.session_id: Asocia la consulta con una sesión determinada.time_zone: Representa la zona horaria predeterminada que se usará para ejecutar la consulta.
--continuous={true|false}Para ejecutar una consulta continua, configúrala como
true. El valor predeterminado esfalse.--destination_kms_key=KEYEspecifica un ID de recurso de clave de Cloud KMS para encriptar los datos de la tabla de destino.
--destination_schema={PATH_TO_FILE|SCHEMA}La ruta de acceso a un archivo de esquema JSON local o una lista de definiciones de columnas separadas por comas con el formato
FIELD:DATA_TYPE, FIELD:DATA_TYPE.Los cambios en el esquema ocurren en una operación independiente de la ejecución de consulta. Si escribes los resultados de las consultas en una tabla a través de la especificación de la marca
--destination_tabley, luego, la consulta genera una excepción, es posible que se omitan los cambios de esquema. Si esto ocurre, verifica el esquema de la tabla de destino y actualízalo de forma manual si es necesario.--destination_table=TABLECuando se especifica, los resultados de la búsqueda se guardan en
TABLE. EspecificaTABLEcon el siguiente formato:PROJECT:DATASET.TABLE. Si no se especificaPROJECT, entonces se asume el proyecto actual. Si no se especifica la marca--destination_table, los resultados de la consulta se guardan en una tabla temporal.Ejemplos:
--destination_table myProject:myDataset.myTable
--destination_table myDataset.myTable
--dry_run={true|false}Cuando se especifica, la búsqueda se valida, pero no se ejecuta.
--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}Especifica el nombre y la definición de la tabla para una consulta de tabla externa. La definición de tablas puede ser una ruta de acceso a un archivo de esquema JSON local o una definición de tabla intercalada. El formato para proporcionar la definición de tablas intercalada es
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI. El formato del valorSCHEMAes una lista de definiciones de columnas separadas por comas con el formatoFIELD:DATA_TYPE, FIELD:DATA_TYPE. Si usas un archivo de definición de tablas, no le agregues una extensión al nombre de archivo.Por ejemplo:
--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
Repite esta marca para consultar varias tablas.
--flatten_results={true|false}Para inhabilitar la compactación de campos anidados y repetidos en los resultados para búsquedas de SQL heredado, configúralos como
false. El valor predeterminado estrue.--label=KEY:VALUEEspecifica una etiqueta para el trabajo de búsqueda. Repite esta marca para especificar varias etiquetas.
--max_rows=MAX_ROWSo-n=MAX_ROWSUn número entero que especifica la cantidad de filas que se deben mostrar en los resultados de la consulta. El valor predeterminado es
100.--maximum_bytes_billed=MAX_BYTESUn número entero que limita los bytes facturados para la búsqueda. Si la búsqueda supera el límite, esta falla (sin que se genere un cargo). Si no se especifica esta marca, los bytes facturados se configuran según el valor predeterminado del proyecto.
--max_statement_results=VALUEUn número entero que especifica la cantidad máxima de sentencias de secuencias de comandos que se muestran para los resultados de la consulta. El valor predeterminado es
100.--min_completion_ratio=RATIO(Experimental) Un número entre 0 y 1.0 que especifica la fracción mínima de datos que deben analizarse antes de que se muestre el resultado de una consulta. Si no se especifica la marca, se usa el valor predeterminado del servidor
1.0.--parameter={PATH_TO_FILE|PARAMETER}Un archivo JSON que contiene una lista de parámetros de búsqueda o un parámetro de búsqueda con el formato
NAME:TYPE:VALUE. Si el nombre está vacío, se crea un parámetro posicional. Si se omiteTYPE, se supone el tipoSTRING.NULLespecifica un valor nulo. Repite esta marca para especificar varios parámetros.Por ejemplo:
--parameter=/tmp/queryParams
--parameter=Name::Oscar
--parameter=Count:INTEGER:42
--range_partitioning=COLUMN_NAME,START,END,INTERVALÚsalo con la marca
--destination_table. Especifica las opciones para la partición por rango de números enteros en la tabla de destino. El valor es una lista separada por comas de la formacolumn_name,start,end,interval, en la quecolumn_namees la columna que se usó para crear las particiones por rango de números enteros.startes el inicio de la partición por rango (inclusivo).endes el final de la partición por rango (exclusivo).intervales el ancho de cada rango dentro de la partición.
Por ejemplo:
--range_partitioning=customer_id,0,10000,100
--replace={true|false}Para reemplazar la tabla de destino con los resultados de la búsqueda, configúrala como
true. Se borrarán los datos y el esquema existentes. También se quita cualquier clave de Cloud KMS, a menos que especifiques la marca--destination_kms_key. El valor predeterminado esfalse.--require_cache={true|false}Cuando se especifica, ejecuta la consulta solo si los resultados se pueden recuperar desde la caché.
--require_partition_filter={true|false}Si se especifica, se requiere un filtro de partición para las búsquedas sobre la tabla suministrada. Esta marca solo se puede usar con una tabla particionada.
- **
--reservation_id=RESERVATION Vista previa. Si se especifica, es la reserva en la que se ejecuta la búsqueda.
--rpc={true|false}Para usar la API de búsqueda de estilo RPC en lugar del método
jobs.insertde la API de REST, configúrala comotrue. El valor predeterminado esfalse.--schedule="SCHEDULE"Convierte una consulta en una consulta programada recurrente. Es necesario tener un programa con la frecuencia con la que se debe ejecutar la consulta.
Ejemplos:
--schedule="every 24 hours"
--schedule="every 3 hours"
Para obtener una descripción de la sintaxis del programa, consulta Define el formato de programa.
--schema_update_option=OPTIONCuando se agregan datos a una tabla (en un trabajo de carga o de búsqueda) o cuando se reemplaza una partición de una tabla, especifica cómo actualizar el esquema de la tabla de destino. Usa uno de los siguientes valores:
ALLOW_FIELD_ADDITION: Permite que se agreguen campos nuevos.ALLOW_FIELD_RELAXATION: Permite disminuir la rigurosidad de los camposREQUIREDaNULLABLE.
Repite esta marca para especificar varias opciones de actualización del esquema.
--start_row=ROW_NUMBERo-s=ROW_NUMBERUn número entero que especifica la primera fila que se mostrará en el resultado de la consulta. El valor predeterminado es
0.--target_dataset=DATASETCuando se especifica con
--schedule, actualiza el conjunto de datos de destino para una consulta programada. La consulta debe ser DDL o DML.--time_partitioning_expiration=SECONDSÚsalo con la marca
--destination_table. Un número entero que especifica (en segundos) cuándo se debe borrar una partición basada en el tiempo. La fecha y hora de vencimiento se evalúan según la suma de la fecha de la partición en formato UTC más el valor del número entero. Si el número es negativo, no hay vencimiento.--time_partitioning_field=COLUMN_NAMEÚsalo con la marca
--destination_table. Especifica la columna de partición para la partición basada en el tiempo. Si la partición basada en el tiempo se habilita sin este valor, la tabla se particiona en función del tiempo de transferencia.--time_partitioning_type=INTERVALÚsalo con la marca
--destination_table. Especifica el tipo de partición para la tabla de destino. Usa uno de los siguientes valores:DAYHOURMONTHYEAR
--udf_resource=FILEEsta marca solo se aplica a las consultas de SQL heredado. Especifica el URI de Cloud Storage o la ruta de acceso a un archivo local que contiene un recurso de función definido por el usuario que se usará en una búsqueda de SQL heredado. Repite esta marca para especificar varios archivos.
--use_cache={true|false}Para inhabilitar el almacenamiento en caché de los resultados de las búsquedas, configúralo como
false. El valor predeterminado estrue.--use_legacy_sql={true|false}Para ejecutar una consulta de GoogleSQL, configúralo como
false. El valor predeterminado se determina según tu configuración. Si no se especifica el parámetro de configuración, el valor predeterminado estrue, y el comando usa SQL heredado.--job_timeout_ms={string (Int64Value)}Especifica el tiempo máximo para ejecutar una consulta en milisegundos. Si se excede este límite de tiempo, BigQuery intenta detener el trabajo.
QUERYLa búsqueda que deseas ejecutar. Para especificar la consulta, puedes usar uno de los siguientes métodos:
Especifica una cadena que contenga la consulta.
Si necesitas usar literales de cadena adicionales dentro de la consulta, debes seguir las reglas de uso comillas para la shell que usas, como Bash o PowerShell.
En el siguiente ejemplo, se muestra un enfoque típico en Bash, que consiste en usar comillas dobles para denotar los literales de cadena en la consulta y, luego, encerrar la consulta entre comillas simples:
'SELECT * FROM mydataset.mytable WHERE column1 = "value";'
Si copias la consulta desde otra ubicación, también debes quitar cualquier comentario en la consulta.
Pasa una secuencia de comandos de SQL que contenga la consulta. En el siguiente ejemplo, se muestra cómo pasar una secuencia de comandos de SQL en la shell Bash:
bq query --use_legacy_sql=false < query.sql
Para obtener más información acerca del uso del comando bq query, consulta
Ejecuta una consulta.
bq remove-iam-policy-binding
Usa el comando bq remove-iam-policy-binding para recuperar la
Política de IAM
de un recurso y quitar una vinculación de la política, en un paso.
El recurso puede ser una tabla o una vista.
Este comando es una alternativa al siguiente proceso de tres pasos:
- Usa el comando
bq get-iam-policypara recuperar el archivo de políticas (en formato JSON). - Editar el archivo de políticas.
- Usa el comando
bq set-iam-policypara actualizar la política sin la vinculación.
Sinopsis
bq remove-iam-policy-binding FLAGS --member=MEMBER_TYPE:MEMBER --role=ROLE RESOURCE
Marcas y argumentos
El comando bq remove-iam-policy-binding usa los siguientes argumentos y marcas:
--member=MEMBER_TYPE:MEMBERObligatorio. Usa la marca
--memberpara especificar la parte del miembro de la vinculación de la política de IAM. La marca--memberes obligatoria junto con la marca--role. Una combinación de las marcas--membery--roleequivale a una vinculación.El valor
MEMBER_TYPEespecifica el tipo de miembro en la vinculación de política de IAM. Usa uno de los siguientes valores:userserviceAccountgroupdomain
El valor
MEMBERespecifica la dirección de correo electrónico o el dominio del miembro en la vinculación de política de IAM.--role=ROLEObligatorio. Especifica la parte de la función que pertenece a la vinculación de política de IAM. La marca
--rolees obligatoria junto con la marca--member. Una combinación de las marcas--membery--roleequivale a una vinculación.--table={true|false}o-t={true|false}Opcional. Para quitar una vinculación de la política de IAM de una tabla o vista, configúrala como
true. El valor predeterminado esfalse.
RESOURCE es la tabla o vista cuya vinculación de política deseas quitar.
Para obtener más información, consulta la referencia de la política de IAM.
bq rm
Usa el comando bq rm para borrar un recurso de BigQuery.
Sinopsis
bq rm [FLAGS] RESOURCE
Marcas y argumentos
El comando bq rm usa los siguientes argumentos y marcas:
--capacity_commitment={false|true}- Para borrar un compromiso de capacidad, configurado en
true, especifica la ubicación del compromiso que deseas quitar mediante la marca--locationy reemplazaRESOURCEpor el ID del compromiso que deseas quitar. --dataset={true|false}o-d={true|false}- Para borrar un conjunto de datos, configúralo como
true. El valor predeterminado esfalse. --force={true|false}o-f={true|false}- Para borrar un recurso
sin solicitarlo, configúralo como
true. El valor predeterminado esfalse. --job={true|false}o-j={true|false}- Para borrar un trabajo, configúralo como verdadero. El valor predeterminado es false.
--model={true|false}o-m={true|false}- Para borrar un modelo de BigQuery ML, configúralo como
true. El valor predeterminado esfalse. --recursive={true|false}o-r{true|false}- Para borrar un conjunto de datos y cualquier tabla, datos de tabla o modelos que tenga, configúralo como
true. El valor predeterminado esfalse. --reservation={true|false}- Para borrar una reserva, configúrala como
true. El valor predeterminado esfalse. --reservation_assignment={true|false}- Para borrar una asignación de reserva, configúrala en
true. El valor predeterminado esfalse --routine={true|false}- Para borrar una rutina, configúrala en
true. El valor predeterminado esfalse. Una rutina puede ser una función persistente definida por el usuario, una función de tabla (Vista previa) o un procedimiento almacenado. --table={true|false}o-t={true|false}- Para borrar una tabla o vista, configúrala como
true. El valor predeterminado esfalse --transfer_config={true|false}- Para borrar una configuración de transferencia, configúrala como
true. El valor predeterminado esfalse. RESOURCE- El recurso que deseas quitar.
Para obtener más información sobre el uso del comando bq rm, consulta los siguientes vínculos:
- Administra conjuntos de datos
- Administra trabajos
- Administra tablas
- Administra vistas
- Trabaja con transferencias
- Borra instantáneas de tablas
bq set-iam-policy
Usa el comando bq set-iam-policy para especificar o actualizar la
política de IAM
de un recurso. El recurso puede ser una tabla, una vista o una reserva de ranura.
Una vez que establezcas la política, la política nueva se
imprimirá en stdout. La política está en formato JSON.
El campo etag de la política actualizada debe coincidir con el valor etag de la política actual, de lo contrario, la actualización fallará. Esta función evita actualizaciones simultáneas.
Puedes obtener la política actual y el valor de etag de un recurso mediante el comando bq get-iam-policy.
Sinopsis
bq set-iam-policy [FLAGS] RESOURCE FILE_NAME
Ejemplos
bq set-iam-policy myDataset.myTable policy.json
bq set-iam-policy --reservation myReservation policy.json
Marcas y argumentos
El comando bq set-iam-policy usa los siguientes argumentos y marcas.
--table={true|false}o-t={true|false}- Opcional. Para configurar la política de IAM
de una tabla o vista, configúrala como
true. El valor predeterminado esfalse. --reservation={true|false}- Para establecer la política de IAM de una reserva, configúrala como
true(versión preliminar). El valor predeterminado esfalse. Cuando se usa esta marca,RESOURCEse trata como un identificador de reserva. La reserva puede tener prefijos opcionales de proyecto y ubicación:myProject:myLocation.myReservation.
RESOURCE es la tabla o vista cuya política deseas actualizar.
FILE_NAME es el nombre de un archivo que contiene la política en formato JSON.
Para obtener más información sobre el comando bq set-iam-policy, consulta
Controla el acceso a los recursos con IAM.
bq show
Usa el comando bq show para mostrar información sobre un recurso.
Sinopsis
bq show [FLAGS] [RESOURCE]
Marcas y argumentos
El comando bq show usa los siguientes argumentos y marcas:
--assignee_id=ASSIGNEE- Cuando se usa con la marca
--reservation_assignment, especifica el ID de una carpeta, una organización o un proyecto. Usa la marca--assignee_typepara especificar qué tipo de usuario asignado se mostrará. --assignee_type=TYPE- Cuando se usa con la marca
--reservation_assignment, especifica el tipo de entidad que se mostrará. Usa uno de los siguientes valores:FOLDERORGANIZATIONPROJECT
--connection={true|false}- Para mostrar información sobre una conexión, configúrala como
true. El valor predeterminado esfalsePara obtener más información, consulta Visualiza un recurso de conexión. --dataset={true|false}o-d={true|false}- Para mostrar información sobre un conjunto de datos, configúralo como
true. El valor predeterminado esfalse. --encryption_service_account={true|false}- Para mostrar la cuenta de servicio de encriptación de un proyecto, si existe, o crear
una si no existe, configúrala como
true. El valor predeterminado esfalse. Úsalo con la marca--project_id. --job={true|false}o-j={true|false}- Para mostrar información sobre un trabajo, configúralo como
true. El valor predeterminado esfalse. --job_type=JOB_TYPE- Cuando se usa con la marca
--reservation_assignment, especifica el tipo de trabajo de las asignaciones de reserva que deseas mostrar. Usa uno de los siguientes valores:QUERYPIPELINEML_EXTERNAL
--model={true|false}o-m={true|false}- Para mostrar información sobre un modelo de BigQuery ML, configúralo como
true. El valor predeterminado esfalse. --reservation={true|false}- Para mostrar información sobre una reserva, configúrala como
true. El valor predeterminado esfalse --reservation_assignment={true|false}- Cuando se configura como
true, el comando muestra las asignaciones de reserva de una carpeta, organización o proyecto. El comando muestra las asignaciones explícitas del recurso de destino, si las hay. De lo contrario, muestra las asignaciones heredadas de los recursos superiores. Por ejemplo, un proyecto puede heredar asignaciones de su carpeta superior. Cuando se usa esta marca, se aplican las marcas--job_type,--assignee_typey--assignee_id. El valor predeterminado esfalse. --routine={true|false}- Para mostrar información sobre una rutina, configúrala como
true. El valor predeterminado esfalseUna rutina puede ser una función persistente definida por el usuario, una función de tabla (Vista previa) o un procedimiento almacenado. --schema={true|false}- Para mostrar solo el esquema de la tabla, configúralo como
true. El valor predeterminado esfalse. --transfer_config={true|false}- Para mostrar información sobre una configuración de transferencia, configúrala como
true. El valor predeterminado esfalse. --transfer_run={true|false}- Para mostrar información sobre una ejecución de transferencia, configúrala en
true. El valor predeterminado esfalse. --view={true|false}- Para mostrar información sobre una vista, configúrala como
true. El valor predeterminado esfalse. RESOURCE- El recurso cuya información deseas mostrar.
Para obtener más información sobre el uso del comando bq show, consulta los siguientes vínculos:
- Obtén información sobre los conjuntos de datos
- Crea y usa tablas
- Obtén información sobre las vistas
- Trabaja con transferencias
- Administra trabajos
- Obtén información sobre una instantánea de tabla.
bq update
Usa el comando bq update para cambiar un recurso.
Sinopsis
bq update [FLAGS] [RESOURCE]
Marcas y argumentos
El comando bq update usa los siguientes argumentos y marcas:
--add_tags=TAGS- Solo está disponible en conjuntos de datos y tablas. Especifica las etiquetas que adjuntas al recurso, separadas por comas. Por ejemplo,
556741164180/env:prod,myProject/department:sales. Cada etiqueta debe tener el nombre de clave con espacio de nombres y el nombre corto del valor. --autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS- es la cantidad de ranuras de ajuste de escala automático asignadas a la reserva. Esto es igual al valor del tamaño máximo de la reserva menos la cantidad de ranuras del modelo de referencia. Solo está disponible con la marca
--reservationy si la reserva se creó con una edición. --capacity_commitment={true|false}- Para actualizar un compromiso de capacidad, configúralo como
true. Usa esta marca con las marcas--merge,--plan,--renewal_plan,--splity--slots. --clear_all_tags={true|false}- Solo está disponible en conjuntos de datos y tablas. Para borrar todas las etiquetas de un
recurso, configúralas como
true. El valor predeterminado esfalse. --clear_label=KEY:VALUE- Quita una etiqueta del recurso. Usa el formato
KEY:VALUEpara especificar la etiqueta que deseas quitar. Repite esta etiqueta para quitar varias etiquetas. --clustering_fields=COLUMNS- Actualiza la especificación de agrupamiento en clústeres de una tabla. El valor COLUMNS es una lista de nombres de columna separados por comas para usar en agrupamiento en clústeres. Para quitar el agrupamiento en clústeres, configura COLUMNS como
""(la string vacía). Para obtener más información, consulta Cómo modificar la especificación de agrupamiento en clústeres. --target_job_concurrency=CONCURRENCY- Cuando se usa con la
marca
--reservation, especifica la cantidad objetivo de consultas que se ejecutan de manera simultánea. El valor predeterminado es 0, lo que significa que la simultaneidad se establece de forma automática según el tamaño de la reserva. Para obtener más información, consulta Usa colas de consultas. --dataset={true|false}o-d={true|false}- Para actualizar un conjunto de datos, configúralo como
true. El valor predeterminado esfalse. --default_kms_key=KEY- Especifica el ID de recurso de la clave de Cloud KMS predeterminado para encriptar los datos de la tabla en un conjunto de datos. La clave predeterminada se usa si no se proporciona una clave explícita para la creación de una tabla ni una búsqueda.
--default_partition_expiration=SECONDSUn número entero que especifica el vencimiento predeterminado (en segundos) de todas las particiones de las tablas particionadas nuevas que se crean en el conjunto de datos. Esta marca no tiene un valor mínimo.
La fecha y hora de vencimiento de una partición se determina según la suma de la fecha de la partición en formato UTC más el valor del número entero. Cuando se configura esta propiedad, se anula el vencimiento predeterminado de la tabla definido para todo el conjunto de datos, si existe. Si suministras la marca
--time_partitioning_expirationcuando creas o actualizas una tabla particionada, el vencimiento de la partición a nivel de la tabla tiene prioridad sobre el vencimiento predeterminado de la partición a nivel del conjunto de datos. Especifica0para quitar un tiempo de vencimiento existente.--default_table_expiration=SECONDSUn número entero que actualiza la duración predeterminada, en segundos, de las tablas nuevas que se crean en un conjunto de datos. La fecha y hora de vencimiento se determina mediante la suma de la hora actual en formato UTC más este valor. Especifica
0para quitar el tiempo de vencimiento existente.--description=DESCRIPTIONActualiza la descripción de un conjunto de datos, una tabla, una instantánea de tabla, un modelo o una vista.
--destination_reservation_id=RESERVATION_IDCuando se usa con la marca
--reservation_assignment, mueve una asignación de reserva existente a la reserva especificada. El valor es el ID de la reserva de destino. Para obtener más información, consulta Mueve una asignación a una reserva diferente.--display_name=DISPLAY_NAMEActualiza el nombre visible de una configuración de transferencia.
--etag=ETAGActúa como filtro, actualiza el recurso solo si este tiene una ETag que coincida con la string especificada en el argumento
ETAG.--expiration SECONDSPara actualizar el vencimiento de la tabla, el modelo, la instantánea de tabla o la vista, incluye esta marca. Reemplaza
SECONDSpor la cantidad de segundos desde la hora de actualización hasta la fecha de vencimiento. Para quitar el vencimiento de una tabla, un modelo, una instantánea de tabla o vista, establece el argumentoSECONDSen 0.--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}Actualiza una tabla externa con la definición de tabla especificada. La definición de tabla puede ser una ruta de acceso a un archivo de definición de tabla JSON local o una definición de tabla intercalada en el formato
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI. El valorSCHEMAes una lista de definiciones de columnas separadas por comas en el formatoFIELD:DATA_TYPE, FIELD:DATA_TYPE. Si usas un archivo de definición de tablas, no le agregues una extensión al nombre de archivo.Por ejemplo:
--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}Úsalo con la marca
--reservation. Para restringir los trabajos que se ejecutan en la reserva especificada a fin de usar solo las ranuras asignadas a esa reserva, configúrala comotrue. El valor predeterminado esfalse. Los trabajos de la reserva especificada pueden usar ranuras inactivas de otras reservas o ranuras que no se asignaron a ninguna reserva. Para obtener más información, consulta Ranuras inactivas.--max_staleness=INTERVALEspecifica un valor de INTERVAL que determina la obsolescencia máxima permitida cuando se consulta una vista materializada o una tabla externa. El valor predeterminado es
0-0 0 0:0:0.Por ejemplo:
- 1 día:
0-0 1 0:0:0 - 1 hora:
0-0 0 1:0:0
Para usar esta marca, debes especificar una definición de tabla con la marca
--external_table_definition.- 1 día:
--max_time_travel_hours=HOURSEspecifica la duración en horas del período del viaje en el tiempo para el conjunto de datos. El valor
--max_time_travel_hoursdebe ser un número entero expresado en múltiplos de 24 (48, 72, 96, 120, 144, 168) entre 48 (2 días) y 168 (7 días).--merge={true|false}Para combinar dos compromisos de capacidad, configura
--mergecomotrue. Establece la marca--capacity_commitmententrue, especifica la ubicación de los compromisos que deseas combinar mediante la marca--locationy reemplazaRESOURCEpor los ID de los dos compromisos que deseas combinar, separados por una coma. Para obtener más información, consulta Combina dos compromisos.--metadata_cache_mode=METADATA_CACHE_MODEHabilita la caché de metadatos para una tabla externa con una conexión. Usa uno de los siguientes valores:
AUTOMATICMANUAL
Especifica
AUTOMATICpara actualizar automáticamente los metadatos almacenados en caché. EspecificaMANUALpara detener la actualización automática. Para usar esta marca, debes especificar una definición de tabla con la marca--external_table_definition.--model={true|false}o-m={true|false}Para actualizar los metadatos de un modelo de BigQuery ML, configúralo como
true. El valor predeterminado esfalse.--params={"PARAMETER":"VALUE"} or -p={"PARAMETER":"VALUE"}Actualiza los parámetros de una configuración de transferencia. Los parámetros varían según la fuente de datos. Para obtener más información, consulta Introducción al Servicio de transferencia de datos de BigQuery.
--plan=PLANCuando se usa con la marca
--capacity_commitment, convierte un compromiso de capacidad en el plan de compromiso especificado de mayor duración. ReemplazaPLANpor uno de los siguientes valores:ANNUALTHREE_YEAR
--refresh_window_days=DAYSUn número entero que especifica un nuevo período de actualización (en días) para una configuración de transferencia.
--remove_tags=TAG_KEYSSolo está disponible en conjuntos de datos y tablas. Especifica las etiquetas que quitas del recurso, separadas por comas, por ejemplo,
556741164180/env,myProject/department. Cada clave de etiqueta debe tener el nombre de clave con espacio de nombres.--renewal_plan=PLANCuando se usa con la marca
--capacity_commitment, actualiza el plan de renovación para un compromiso de capacidad anual. ReemplazaPLANpor uno de los siguientes valores:ANNUALTHREE_YEARNONE
Los clientes que usan precios de tarifa plana heredados también pueden usar uno de los siguientes valores:
FLEXMONTHLYANNUAL
--reservation={true|false}Especifica si se debe actualizar una reserva. El valor predeterminado es
false--reservation_assignment={true|false}Especifica si se debe actualizar una asignación de reserva. El valor predeterminado es
false.--schema={SCHEMA_FILE|SCHEMA}Especifica la ruta de acceso a un archivo de esquema JSON local o una lista de definiciones de columnas separadas por comas con el formato
FIELD:DATA_TYPE, FIELD:DATA_TYPE. Si usas un archivo de esquema, no le agregues una extensión al nombre del archivo.Por ejemplo:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--service_account_name=SERVICE_ACCOUNTEspecifica la cuenta de servicio que se usará como credencial para una configuración de transferencia.
--set_label=KEY:VALUEEspecifica una etiqueta que se actualizará. Para actualizar varias etiquetas, repite esta marca.
--slots=NUMBER_OF_BASELINE_SLOTSCuando se usa con las marcas
--capacity_commitmenty--split, especifica la cantidad de ranuras del modelo de referencia para dividir de un compromiso de capacidad existente en un compromiso nuevo. ReemplazaRESOURCEpor el ID del compromiso del que deseas dividir.Cuando se usa con la marca
--reservation, actualiza la cantidad de ranuras en una reserva.--source=FILELa ruta a un archivo JSON local que contiene una carga útil usada para actualizar un recurso. Por ejemplo, puedes usar esta marca para especificar un archivo JSON que contenga un recurso de conjunto de datos con una propiedad
accessactualizada. El archivo se usa para reemplazar los controles de acceso del conjunto de datos. El archivo JSON no debe incluir una marca de orden de bytes (BOM).--split={true|false}Cuando se establece en
truey se usa con la marca--capacity_commitment, especifica que deseas dividir un compromiso de capacidad existente. Usa la marca--locationa fin de especificar la ubicación del compromiso del que deseas dividir y la marca--slotspara especificar la cantidad de ranuras que deseas dividir. ReemplazaRESOURCEpor el ID del compromiso del que deseas dividir. Si deseas obtener más información, consulta Divide un compromiso.--storage_billing_model=BILLING_MODELEspecifica el modelo de facturación de almacenamiento del conjunto de datos. Establece el valor
--storage_billing_modelenPHYSICALpara usar bytes físicos cuando se calculan los cargos de almacenamiento, o enLOGICALpara usar bytes lógicos.Cuando cambias el modelo de facturación de un conjunto de datos, el cambio tarda 24 horas en aplicarse.
Una vez que cambies el modelo de facturación de almacenamiento de un conjunto de datos, debes esperar 14 días antes de poder volver a cambiar el modelo de facturación de almacenamiento.
--table={true|false}o-t={true|false}Especifica si se debe actualizar una tabla. El valor predeterminado es
false--target_dataset=DATASETCuando se especifica, actualiza el conjunto de datos de destino de una configuración de transferencia.
--time_partitioning_expiration=SECONDSUn número entero que actualiza (en segundos) cuándo se debe borrar una partición basada en el tiempo. La fecha y hora de vencimiento se evalúa según la suma de la fecha de la partición en formato UTC más el valor del número entero. Si el número es negativo, no hay vencimiento.
--time_partitioning_field=COLUMN_NAMEActualiza el campo usado para determinar cómo crear una partición basada en el tiempo. Si la partición basada en el tiempo se habilita sin este valor, la tabla se particiona en función del tiempo de carga.
--time_partitioning_type=INTERVALEspecifica el tipo de partición. Usa uno de los siguientes valores:
DAYHOURMONTHYEAR
No puedes cambiar el tipo de partición de una tabla existente.
--transfer_config={true|false}Especifica si se debe actualizar una configuración de transferencia. El valor predeterminado es
false.--update_credentials={true|false}Especifica si se deben actualizar las credenciales de configuración de transferencia. El valor predeterminado es
false.--use_legacy_sql={true|false}Configúralo como
falsea fin de actualizar la consulta en SQL para una vista de SQL heredado a GoogleSQL. El valor predeterminado se determina según tu configuración. Si no se especifica el parámetro de configuración, el valor predeterminado estrue, y la búsqueda usa SQL heredado.--vertex_ai_model_id=VERTEX_AI_MODEL_IDCuando se especifica, actualiza el ID del modelo de un modelo de BigQuery ML que se registró en Vertex AI Model Registry.
--view=QUERYCuando se especifica, actualiza la consulta de SQL de una vista.
--view_udf_resource=FILEActualiza el URI de Cloud Storage o la ruta a un archivo de código local que se cargará y evaluará de inmediato como recurso de función definido por el usuario en la búsqueda de SQL de una vista. Repite esta marca para especificar varios archivos.
RESOURCEEl recurso que deseas actualizar.
Para obtener más información sobre el uso del comando bq update, consulta los siguientes vínculos:
- Actualiza las propiedades del conjunto de datos
- Administra tablas
- Actualiza las propiedades de las vistas
- Actualiza etiquetas
- Trabaja con transferencias
- Actualiza los metadatos de instantáneas de tablas
bq version
Usa el comando bq version para mostrar el número de versión de tu herramienta de línea de comandos de bq.
Sinopsis
bq version
bq wait
Usa el comando bq wait a fin de esperar una cantidad de segundos especificada para que un trabajo finalice. Si no se especifica un trabajo, el comando espera a que finalice el trabajo actual.
Sinopsis
bq wait [FLAGS] [JOB] [SECONDS]
Ejemplos
bq wait
bq wait --wait_for_status=RUNNING 12345 100
Marcas y argumentos
El comando bq wait usa los siguientes argumentos y marcas:
--fail_on_error={true|false}- Para mostrar un resultado correcto si el trabajo se completó durante el tiempo de espera, incluso si falló, configúralo como
false. El valor predeterminado estrue. Una vez transcurrido el tiempo de espera, el comando finaliza y muestra un error si aún se está ejecutando o si falló. --wait_for_status=STATUSCuando se especifica, espera un estado de trabajo específico antes de mostrar un resultado. Usa uno de los siguientes valores:
PENDINGRUNNINGDONE
El valor predeterminado es
DONE.JOBEspecifica el trabajo que se debe esperar. Puedes usar el comando
bq ls --jobs myProjectpara encontrar un identificador de trabajo.SECONDSEspecifica la cantidad máxima de segundos que se debe esperar hasta que se complete el trabajo. Si ingresas
0, el comando realiza un sondeo para determinar si se completó el trabajo y el resultado se muestra de forma inmediata. Si no especificas un número entero, el comando espera hasta que finalice el trabajo.