Referencia de la herramienta de línea de comandos 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 tutorial sobre cómo usar la herramienta de línea de comandos bq, consulta Cargar y consultar datos con la herramienta bq.
Formas de usar la herramienta de línea de comandos bq
Puedes introducir comandos de la herramienta de línea de comandos bq en Cloud Shell desde la consola Google Cloud o desde una instalación local de la CLI de Google Cloud.
Para usar la herramienta de línea de comandos bq desde la Google Cloud consola, activa Cloud Shell:
Para usar la herramienta de línea de comandos bq de forma local, instala y configura gcloud CLI. Para mantener tu instalación actualizada, consulta Gestionar una instalación en la documentación de la CLI de gcloud.
Formato de comando
La herramienta de línea de comandos bq usa el siguiente formato:
bq COMMAND [FLAGS] [ARGUMENTS]
Algunas marcas se pueden usar con varios comandos de la herramienta de línea de comandos bq. Estas marcas se describen en la sección Marcas globales.
Otras marcas son específicas de un comando y solo se pueden usar con un comando concreto de la herramienta de línea de comandos bq. Las marcas específicas de los comandos se describen en las secciones de los comandos.
Especificar valores para las marcas
Cuando especifiques un valor para una marca, el signo igual (=) será opcional. Por ejemplo, los dos comandos siguientes son equivalentes:
bq ls --format prettyjson myDataset bq ls --format=prettyjson myDataset
En este documento se usa el signo igual para mayor claridad.
Algunas marcas de la herramienta de línea de comandos bq son booleanas. Puedes asignarles el valor true o false.
La herramienta de línea de comandos bq acepta los siguientes formatos para definir 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 las marcas booleanas.
Todos los indicadores booleanos son opcionales. Si no se incluye un indicador booleano, BigQuery usa su valor predeterminado.
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 un signo de dos puntos (:) y, en otros, es 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 bq | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
| Consulta de GoogleSQL | PROJECT.DATASET.TABLE |
myProject.myDataset.myTable |
| Consulta de SQL antiguo | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
Si no especifica ningún proyecto, BigQuery usará 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 incluirse entre comillas inversas (`).
Si el identificador de recurso empieza por una letra o un guion bajo, y
solo contiene letras, números y guiones bajos, no es necesario
que lo incluyas entre comillas. Sin embargo, si el identificador de recurso contiene otros tipos de caracteres o palabras clave reservadas, debe incluir el identificador (o la parte del identificador con los caracteres especiales o las palabras clave reservadas) entre comillas inversas. Para obtener más información, consulta Identificadores.
Cómo ejecutar comandos
Coloque las marcas globales antes del comando bq y, a continuación, incluya las marcas específicas de cada comando. Puedes incluir varias marcas globales o específicas de un comando. Por ejemplo:
bq --location=us mk --reservation --project_id=project reservation_name
Puedes especificar argumentos de comando de las siguientes formas:
--FLAG ARGUMENT(como se muestra en los ejemplos anteriores)--FLAG=ARGUMENT--FLAG='ARGUMENT'--FLAG="ARGUMENT"--FLAG 'ARGUMENT'--FLAG "ARGUMENT"
Haz los cambios siguientes:
FLAG: una marca global o específica de un comandoARGUMENT: el argumento de la marca
Algunos comandos requieren que los argumentos se escriban entre comillas. Si se requieren comillas, se pueden usar comillas simples o dobles. Los argumentos que requieren comillas suelen ser valores que contienen espacios, comas u otros caracteres especiales. Si el 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, este comando especifica el valor "false" para la marca booleana --use_legacy_sql colocando no delante de la marca:
bq query --nouse_legacy_sql \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
También puedes introducir lo siguiente para especificar false como argumento de la marca:
bq query --use_legacy_sql=false \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
Ejecutar comandos en una secuencia de comandos
Puedes ejecutar la herramienta de línea de comandos bq en una secuencia de comandos, como lo harías con un comando de la CLI de Google Cloud. A continuación se muestra un ejemplo de comandos 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'
Usar una cuenta de servicio
Puedes usar una cuenta de servicio para hacer llamadas a la API autorizadas o ejecutar trabajos de consulta en tu nombre. Para usar una cuenta de servicio en la herramienta de línea de comandos 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 empezar a ejecutar comandos bq mediante la suplantación de identidad de cuenta de servicio, ejecuta el siguiente comando:
gcloud config set auth/impersonate_service_account SERVICE_ACCOUNT_NAME
Sustituye SERVICE_ACCOUNT_NAME por el nombre de tu cuenta de servicio.
Los comandos bq que ejecutes ahora usarán las credenciales de la cuenta de servicio.
Para dejar de ejecutar comandos bq desde una cuenta de servicio, ejecuta el siguiente comando:
gcloud config unset auth/impersonate_service_account
Definir valores predeterminados para las marcas de línea de comandos
Puedes definir valores predeterminados para las marcas de línea de comandos incluyéndolos en el archivo de configuración de la herramienta de línea de comandos bq, .bigqueryrc. Antes de configurar las opciones predeterminadas, debes crear un archivo .bigqueryrc. Puedes usar el editor de texto que prefieras para crear el archivo. Una vez que hayas creado el archivo .bigqueryrc, puedes especificar la ruta al archivo mediante la marca global --bigqueryrc.
Si no se especifica la marca --bigqueryrc, se usa la variable de entorno BIGQUERYRC. Si no se especifica, se usa la ruta ~/.bigqueryrc. La ruta predeterminada es $HOME/.bigqueryrc.
Cómo añadir marcas a .bigqueryrc
Para añadir valores predeterminados a las marcas de la línea de comandos en .bigqueryrc, sigue estos pasos:
- Coloca las marcas globales en la parte superior del archivo sin encabezado.
- Para las marcas específicas de un comando, introduce el nombre del comando (entre corchetes) y añade las marcas específicas del 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 definen los valores predeterminados de las siguientes marcas:
- La marca global
--apilogse define comostdoutpara imprimir la salida de depuración en la Google Cloud consola. - La marca global
--formatse define comoprettyjsonpara mostrar la salida del comando en un formato JSON legible por humanos. - La marca global
--locationse asigna a la ubicación multirregionalUS. La marca
--use_legacy_sqlespecífica del comandoqueryse define comofalsepara que GoogleSQL sea la sintaxis de consulta predeterminada.La marca
queryespecífica del comando--max_rowsse define como100para controlar el número de filas del resultado de la consulta.La marca específica del comando
query--maximum_bytes_billedse ha definido en 10.000.000 bytes (10 MB) para que fallen las consultas que lean más de 10 MB de datos.La marca específica del comando
load--destination_kms_keyse define comoprojects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey.
Ayuda de la CLI
Para obtener ayuda con la herramienta de línea de comandos bq, ejecuta 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 concreto | bq help COMMAND |
bq help mk |
Solucionar problemas con los comandos de la CLI
- Para registrar las solicitudes enviadas y recibidas, sigue estos pasos:
Añade la marca
--apilog=PATH_TO_FILEpara guardar un registro de las operaciones en un archivo local. SustituyePATH_TO_FILEpor la ubicación en la que quieras guardar el registro. La herramienta de línea de comandos bq funciona haciendo llamadas a APIs estándar basadas en REST, lo que puede ser útil para solucionar problemas. También es útil adjuntar este registro cuando informes de problemas al servicio de atención al cliente de Cloud.Si usas
-ostdouten lugar de una ruta, el registro se imprimirá en la consola Google Cloud . Si se asigna el valor--apilogastderr, se generará un archivo de error estándar. Para registrar más solicitudes, usa la marca--httplib2_debuglevel=LOG_LEVEL. Un valor más alto deLOG_LEVELregistra más información sobre las solicitudes HTTP.- Para solucionar errores, sigue estos pasos:
Introduce la marca
--format=prettyjsoncuando obtengas el estado de un trabajo o cuando veas información detallada sobre recursos como tablas y conjuntos de datos. Si usas esta marca, la respuesta se mostrará 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 al ejecutar un comando, usa la marca
--debug_mode.
Marcas globales
Puedes usar las siguientes marcas con cualquier comando bq, si procede:
--api=ENDPOINT- Especifica el endpoint de la API al que se debe llamar. El valor predeterminado es
https://www.googleapis.com. --api_version=VERSION- Especifica la versión de la API que se va a usar. El valor predeterminado es
v2. --apilog=FILERegistra todas las solicitudes y respuestas de la API en el archivo especificado por
FILE. Los valores posibles son los siguientes:- la ruta a un archivo: registra los datos en el archivo especificado
stdout: registra en la salida estándar.stderr: registra en el error estándar.false: las solicitudes y respuestas de la API no se registran (valor predeterminado).
--use_google_auth={true|false}Si se define como
true, se habilita la autenticación mediante bibliotecas de autenticación de Google. El valor predeterminado estrue.--bigqueryrc=PATHEspecifica la ruta al archivo de configuración de la herramienta de línea de comandos bq. Si no especificas la marca
--bigqueryrc, el comando usará la variable de entornoBIGQUERYRC. Si la variable de entorno no se ha definido, se usará$HOME/.bigqueryrc. Si ese archivo no existe, se usa~/.bigqueryrc. Para obtener más información, consulta Definir valores predeterminados para las marcas de línea de comandos.--ca_certificates_file=PATHEspecifica la ubicación del archivo de tu servicio de autoridad de certificación (AC).
--dataset_id=DATASET_IDEspecifica el conjunto de datos predeterminado que se va a usar con el comando. Esta marca se ignora cuando no es aplicable. Puede especificar el
DATASET_IDargumento con el formatoPROJECT:DATASEToDATASET. Si falta la partePROJECT, se usa el proyecto predeterminado. Puedes anular la configuración predeterminada del proyecto especificando la--project_idmarca.--debug_mode={true|false}Si se asigna el valor
true, muestra las trazas de pila de las excepciones de Python. El valor predeterminado esfalse.--disable_ssl_validation={true|false}Si se define como
true, se 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 define como
false, solicita un nuevo token OAuth sin el ámbito de Google Drive. El valor predeterminado estrue, que solicita un nuevo token de OAuth con el ámbito de Drive. Para definir esta marca enfalsecuando se autentique con una cuenta de usuario, la marca--use_google_authdebe tener el valorfalse.--fingerprint_job_id={true|false}Para usar un ID de tarea derivado de una huella digital de la configuración de la tarea, asigna el valor
true. De esta forma, se evita que el mismo trabajo se ejecute varias veces por error. El valor predeterminado esfalse.--format=FORMATEspecifica el formato del resultado del comando. Se debe utilizar uno de los valores indicados a continuación.
pretty: salida de tabla con formatosparse: salida de tabla más sencillaprettyjson: formato JSON fácil de leerjson: JSON lo más compacto posiblecsv: formato CSV con encabezado
pretty,sparseyprettyjsonestán pensados para que los lean personas.jsonycsvestán pensados para que los use otro programa. Si se especificanone, el comando no genera ningún resultado. Si no se incluye la marca--format, se elige un formato de salida adecuado en función del comando.--headless={true|false}Para ejecutar la sesión
bqsin interacción del usuario, defina el valortrue. Por ejemplo,debug_modeno se interrumpe en el depurador y se reduce la frecuencia de impresión informativa. El valor predeterminado esfalse.--httplib2_debuglevel=DEBUG_LEVELEspecifica si se debe mostrar información de depuración HTTP. Si
DEBUG_LEVELes mayor que0, el comando registra las solicitudes y respuestas del servidor HTTP en stderr, además de los mensajes de error. SiDEBUG_LEVELno es > 0 o si no se usa la marca--httplib2_debuglevel, solo se proporcionan mensajes de error.Por ejemplo:
--httplib2_debuglevel=1
--job_id=JOB_IDEspecifica un identificador de trabajo para un nuevo trabajo. Esta marca solo se aplica a los comandos que crean trabajos:
cp,extract,loadyquery. Si no usas la marca--job_id, los comandos generarán un identificador de tarea único. Para obtener más información, consulta Ejecutar trabajos mediante programación.--job_property=KEY:VALUEPar clave-valor que se incluirá en el campo properties de la configuración del trabajo. Repite esta marca para especificar propiedades adicionales.
--location=LOCATIONCadena que corresponde a una ubicación de una región o multirregión. La marca de ubicación es obligatoria para el comando
bq cancely para el comandobq showcuando se usa la marca--jobspara mostrar información sobre las tareas. La marca de ubicación es opcional para los siguientes comandos:querycploadextractpartitionupdatewaitmkcuando usas las--dataset,--reservation,--capacity_commitmento--reservation_assignmentlsal usar las marcas--reservation,--capacity_commitmento--reservation_assignment
Todos los demás comandos ignoran la marca
--location.--max_rows_per_request=MAX_ROWSNúmero entero que especifica el número máximo de filas que se deben devolver por lectura.
--project_id=PROJECTEspecifica el proyecto que se va a usar para los comandos.
--proxy_address=PROXYEspecifica el nombre o la dirección IP del host proxy que se va a usar para conectarse a Google Cloud.
--proxy_password=PASSWORDEspecifica la contraseña que se debe usar al autenticarse con el host proxy.
--proxy_port=PORTEspecifica el número de puerto que se usará para conectarse al host proxy.
--proxy_username=USERNAMEEspecifica el nombre de usuario que se debe usar al autenticarse con el host del proxy.
--quiet={true|false}o-q={true|false}Para suprimir las actualizaciones de estado mientras se ejecutan los trabajos, selecciona
true. El valor predeterminado esfalse.--synchronous_mode={true|false}o-sync={true|false}Para crear el trabajo y volver inmediatamente, con el estado de finalización correcta como código de error, asigna el valor
false. Si se define comotrue, el comando espera a que se complete el trabajo antes de volver y devuelve el estado de finalización del trabajo como código de error. El valor predeterminado estrue.--trace=token:TOKENEspecifica un token de seguimiento que se incluirá en las solicitudes de la API.
--use_regional_endpoints={true|false}En vista previa. Para conectarte a un endpoint regional, asigna el valor
truea la marca--use_regional_endpointsy el valor de la región a la que quieras conectarte a la marca--location. El valor predeterminado esfalse.
Marcas globales obsoletas
La siguiente marca global para especificar marcas de la herramienta de línea de comandos bq desde un archivo
está
obsoleta. Para especificar marcas de un archivo, usa la marca
--bigqueryrc.
--flagfile=PATH
Si se especifica, las definiciones de las marcas del archivo proporcionado se insertan en la herramienta de línea de comandos bq. El valor predeterminado es ''. Para obtener más información, consulta
Definir valores predeterminados para las marcas de la línea de comandos.
Comandos
En las secciones siguientes se describen los comandos de la herramienta de línea de comandos bq, así como sus argumentos y marcas específicos.
bq add-iam-policy-binding
Usa el comando bq add-iam-policy-binding para obtener la política de Gestión de Identidades y Accesos (IAM) de una tabla o una vista y añadir una vinculación a la política en un solo paso.
Este comando es una alternativa al siguiente proceso de tres pasos:
- Usando el comando
bq get-iam-policypara recuperar el archivo de política (en formato JSON). - Editar el archivo de política.
- Usar el comando
bq set-iam-policypara actualizar la política con una nueva vinculación.
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 las siguientes marcas y argumentos:
--member=MEMBER_TYPE:MEMBERObligatorio. Usa la marca
--memberpara especificar la parte del miembro de la vinculación de la política de gestión de identidades y accesos. La marca--memberes obligatoria junto con la marca--role. Una combinación de las marcas--membery--roleequivale a un enlace.El valor
MEMBER_TYPEespecifica el tipo de miembro en la vinculación de la política de IAM. Se debe utilizar uno de los valores indicados a continuación.userserviceAccountgroupdomain
El valor
MEMBERespecifica la dirección de correo o el dominio del miembro en la vinculación de la política de IAM.--role=ROLEObligatorio. Especifica la parte del rol de la vinculación de la política de gestión de identidades y accesos. La marca
--rolees obligatoria junto con la marca--member. Una combinación de las marcas--membery--roleequivale a un enlace.--table={true|false}Para devolver un error si el argumento
RESOURCEno es un identificador de tabla o vista, asigna el valortruea la marca--table. El valor predeterminado esfalse. Esta marca se admite para mantener la coherencia con otros comandos.RESOURCELa tabla o la vista a la que quieres añadir la política.
Para obtener más información, consulta la referencia de la política de gestión de identidades y accesos.
bq cancel
Usa el comando bq cancel para cancelar tareas 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 las siguientes marcas y argumentos:
--synchronous_mode=false- Si no quieres esperar a que se complete el comando
bq cancel,asigna el valorfalsea la marca global--synchronous_mode. El valor predeterminado estrue. JOB_ID- El trabajo que quieras cancelar.
Para obtener más información sobre el uso del comando bq cancel, consulta el artículo Gestionar trabajos.
bq cp
Usa el comando bq cp para las siguientes tareas:
- Crea una copia de una tabla, un clon de tabla o una instantánea de tabla.
- Crea un clon de la tabla.
- Crea una captura 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 las siguientes marcas y argumentos:
--append_table={true|false}o-a={true|false}Para añadir una tabla a otra, elija
true. El valor predeterminado esfalse.No puedes usar la configuración de las marcas
--append_table=truey--clone=trueal mismo tiempo.--clone={true|false}Para crear un clon de tabla, selecciona
true. La tabla base puede ser una tabla estándar, un clon de una tabla o una instantánea de una tabla. La tabla de destino es un clon de la tabla. El valor predeterminado esfalse. Si no se especifica--clone=trueni--snapshot=true, la tabla de destino será del mismo tipo que la tabla base. Requiere la marca--no_clobber.No puedes usar la configuración de las marcas
--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=SECONDSNúmero de segundos hasta que caduque una instantánea de la tabla. Si no se incluye, la caducidad de la instantánea de la tabla se establece en la caducidad predeterminada del conjunto de datos que contiene la nueva instantánea de la tabla. Úsalo con la marca
--snapshot.--force={true|false}o-f={true|false}Para sobrescribir la tabla de destino, si existe, sin que se te pida confirmación, asigna el valor
true. El valor predeterminado esfalse. Si la tabla de destino existe, el comando pide confirmación antes de sobrescribirla.--no_clobber={true|false}o-n={true|false}Para no permitir que se sobrescriba la tabla de destino (si existe), asigne el valor
true. El valor predeterminado esfalse. Si la tabla de destino ya existe, se sobrescribe.--restore={true|false}Esta marca está obsoleta. Para crear una tabla en la que se puedan escribir datos a partir de una instantánea de una tabla, usa el comando
bq cpo el comandobq cp --clone.--snapshot={true|false}Para crear una captura de tabla de la tabla especificada en el argumento
SOURCE_TABLE, asigna el valortrue. La tabla base puede ser una tabla estándar, un clon de tabla u otra instantánea de tabla. El valor predeterminado esfalse. Si no se especifica--clone=trueni--snapshot=true, la tabla de destino será del mismo tipo que la tabla base. Requiere la marca--no_clobber.SOURCE_TABLELa tabla que quieras copiar.
DESTINATION_TABLELa tabla en la que quieras copiar los datos.
Para obtener más información sobre el uso del comando cp, consulta lo siguiente:
bq extract
Usa el comando bq extract para exportar datos de tablas 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 las siguientes marcas y argumentos:
--compression=COMPRESSION_TYPEEspecifica el tipo de compresión que se va a usar en los archivos exportados. Los valores posibles son los siguientes:
GZIPDEFLATESNAPPYNONE
El valor predeterminado es
NONE.Para obtener información sobre los formatos admitidos para cada tipo de compresión, consulta Formatos de exportación 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=DELIMITEREn el caso de las exportaciones CSV, especifica el carácter que marca el límite entre las columnas del archivo de salida. El delimitador puede ser cualquier carácter de un solo byte ISO-8859-1. Puedes usar
\totabpara especificar delimitadores de tabulación.--print_header={true|false}Para suprimir la impresión de las filas de encabezado en los formatos que tienen encabezados, defina el valor
false. El valor predeterminado estrue, por lo que se incluyen las filas de encabezado.RESOURCELa tabla de la que vas a exportar los datos.
DESTINATIONLa ubicación de almacenamiento que recibe los datos exportados.
Para obtener más información sobre el comando bq extract, consulta el artículo Exportar datos de una tabla.
bq get-iam-policy
Usa el comando bq get-iam-policy para obtener la política de gestión de identidades y accesos de un recurso e imprimirla en stdout. El recurso puede ser una tabla, una vista o una reserva de espacio.
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 las siguientes marcas y argumentos:
--table={true|false}o--t={true|false}- Para devolver un error si
RESOURCEno es un identificador de tabla o de vista, asigna el valortruea la marca--table. El valor predeterminado esfalse. Esta marca se admite para mantener la coherencia con otros comandos. --reservation={true|false}- Para obtener la política de gestión de identidades y accesos de una reserva, defina el valor
true(Vista previa). El valor predeterminado esfalse. Cuando se usa esta marca,RESOURCEse trata como un identificador de reserva. La reserva puede tener prefijos de proyecto y de ubicación opcionales:myProject:myLocation.myReservation. RESOURCE- La tabla o la vista cuya política quieres obtener.
Para obtener más información sobre el comando bq get-iam-policy, consulta el artículo sobre cómo controlar el acceso a los recursos con la gestión de identidades y accesos.
bq head
Usa el comando bq head para mostrar las filas y columnas especificadas de una tabla.
De forma predeterminada, se muestran 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 las siguientes marcas y argumentos:
--job=JOB or -j=JOB- Para leer los resultados de un trabajo de consulta, especifica esta marca con un ID de trabajo válido.
--max_rows=MAX or -n=MAX- Un número entero que indica el número máximo de filas que se deben imprimir al mostrar los datos de la tabla. El valor predeterminado es
100. --selected_fields=COLUMN_NAMES or -c=COLUMN_NAMES- Lista separada por comas que especifica un subconjunto de campos (incluidos los campos anidados y repetidos) que se devolverán al mostrar los datos de la tabla. Si no se especifica esta marca, se devuelven todas las columnas.
--start_row=START_ROW or -s=START_ROW- Un número entero que especifica el número de filas que se van a omitir
antes de mostrar los datos de la tabla. El valor predeterminado es
0. Los datos de la tabla empiezan en la primera fila. --table={true|false}o-t={true|false}- Para devolver un error si el argumento del comando no es una tabla o una vista, asigna el valor
true. El valor predeterminado esfalse. Esta marca se admite para mantener la coherencia con otros comandos. TABLE- La tabla de la que quieres recuperar los datos.
Para obtener más información sobre el uso del comando bq head, consulta Gestionar datos de tablas.
bq help
Usa el comando bq help para mostrar la documentación de la herramienta de línea de comandos bq en la herramienta.
Sinopsis
bq help [COMMAND]
Marcas y argumentos
El comando bq help usa las siguientes marcas y argumentos:
COMMAND- Especifica un comando concreto de la herramienta de línea de comandos bq del que quieres obtener ayuda online.
bq insert
Usa el comando bq insert para insertar filas de datos con formato JSON delimitados por saltos de línea en una tabla desde un archivo mediante la inserción por flujo. Los tipos de datos se convierten para que coincidan con los tipos de columna de la tabla de destino. Este comando solo se utiliza para hacer pruebas. Para transmitir datos a BigQuery, usa el método de la 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 las siguientes marcas y argumentos:
--ignore_unknown_values={true|false}o-i={true|false}- Si se define como
true, BigQuery ignora los pares clave-valor que no coincidan con el esquema de la tabla e inserta la fila con los datos que sí coincidan con el esquema. Si se define comofalse, no se insertarán las filas con datos que no coincidan con el esquema de la tabla. El valor predeterminado esfalse. --skip_invalid_rows={true|false}o-s={true|false}- Si se define como
true, BigQuery intenta insertar las filas válidas, aunque haya filas no válidas. Si se define comofalse, el comando falla si hay filas no válidas. El valor predeterminado esfalse. --template_suffix=SUFFIX or -x=SUFFIX- Si se especifica, trata la tabla de destino TABLE como una plantilla base e inserta las filas en una tabla de instancia llamada
{destination}{templateSuffix}. BigQuery crea la tabla de instancias con el esquema de la plantilla base. TABLE- La tabla en la que quieres insertar los datos.
FILE- El archivo que contiene los datos que quieres insertar.
Para obtener más información sobre el uso del comando bq insert, consulta el artículo sobre transmisión de 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 las siguientes marcas y argumentos:
--allow_jagged_rows={true|false}- Para permitir que falten columnas opcionales finales en los datos CSV, defina el valor
true. --preserve_ascii_control_characters={true|false}- Para permitir caracteres de control ASCII insertados en datos CSV, defina el valor
true. --allow_quoted_newlines={true|false}- Para permitir saltos de línea entre comillas en los datos CSV, defina este valor como
true. --autodetect={true|false}- Para habilitar la detección automática de esquemas en los datos CSV y JSON, selecciona
true. El valor predeterminado esfalse. Si--autodetectesfalsey no se especifica ningún esquema mediante la marca--schemay la tabla de destino existe, se usa el esquema de la tabla de destino. --clustering_fields=COLUMNS- Lista separada por comas de hasta cuatro nombres de columna que especifica los campos que se van a usar para el agrupamiento en clústeres de la tabla.
--column_name_character_map=SCOPE- Define el ámbito y la gestión de los caracteres en los nombres de las columnas, con la opción de habilitar nombres de columnas flexibles.
Requiere la opción
--autodetectpara archivos CSV. Para ver 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 de los datos.
El delimitador puede ser cualquier carácter de un solo byte ISO-8859-1. Puedes usar
\totabpara especificar los delimitadores de tabulación. --ignore_unknown_values={true|false}- Si se asigna el valor
truea 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. Si se define comotruepara archivos Avro, Parquet y ORC, los campos del esquema de archivo que no existan en el esquema de tabla se ignorarán y no se cargarán. --json_extension=JSON_TYPEEspecifica el tipo de archivo JSON que se va a cargar. Solo se aplica a archivos JSON. Los valores posibles son los siguientes:
GEOJSON: archivo GeoJSON delimitado por líneas nuevas
Para usar esta marca, la marca
--source_formatdebe tener el valorNEWLINE_DELIMITED_JSON.Para obtener más información, consulta Cargar archivos GeoJSON delimitados por saltos de línea.
--max_bad_records=MAXUn número entero que especifica el número máximo de registros incorrectos permitidos antes de que falle todo el trabajo. El valor predeterminado es
0. Se devuelven como máximo cinco errores de cualquier tipo, independientemente del valor de--max_bad_records. Esta marca solo se aplica para cargar datos CSV, JSON y de Hojas de cálculo de Google.--null_marker=STRINGCadena personalizada opcional que representa un valor
NULLen datos CSV.--projection_fields=PROPERTY_NAMESSi asignas el valor
DATASTORE_BACKUPa--source_format, esta marca indica qué propiedades de entidad se deben cargar 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 hacer referencia a propiedades de nivel superior. También puedes usar esta marca con las exportaciones de Firestore.--quote=CHARACTEREspecifica un carácter de comillas para delimitar los campos de los datos CSV. El argumento
CHARACTERpuede ser cualquier carácter de un byte. El valor predeterminado son las comillas dobles ("). Para especificar que no hay ningún carácter de comillas, usa una cadena vacía"".--replace={true|false}Para borrar los datos y el esquema que haya cuando se carguen datos nuevos, selecciona
true. También se elimina cualquier clave de Cloud KMS, a menos que especifiques la marca--destination_kms_key. El valor predeterminado esfalse.Equivalente al valor de
WRITE_TRUNCATEparaJobConfigurationLoad.writeDisposition.--schema={SCHEMA_FILE|SCHEMA}Especifica la ruta a un archivo de esquema JSON local o una lista separada por comas de definiciones de columnas con el formato
FIELD:DATA_TYPE, FIELD:DATA_TYPE. Si usas un archivo de esquema, no añadas ninguna extensión al nombre de 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 añaden datos a una tabla (en una tarea de carga o en una tarea de consulta) o cuando se sobrescribe una partición de una tabla, se especifica cómo se debe actualizar el esquema de la tabla de destino. Se debe utilizar uno de los valores indicados a continuación.
ALLOW_FIELD_ADDITION: permitir que se añadan campos nuevosALLOW_FIELD_RELAXATION: permitir que los campos de relajaciónREQUIREDseNULLABLE
Repite esta marca para especificar varias opciones de actualización de esquemas.
--skip_leading_rows=NUMBER_OF_ROWSNúmero entero que especifica el número de filas que se van a omitir al principio del archivo de origen. El valor predeterminado es
0.--file_set_spec_type=FILE_SET_SPEC_TYPEEspecifica cómo interpretar los URIs de origen.
FILE_SYSTEM_MATCH: amplía los URIs de origen enumerando los archivos del almacén de objetos. Este es el comportamiento predeterminado si no se define FileSetSpecType.NEW_LINE_DELIMITED_MANIFEST: indica que los URIs proporcionados son archivos de manifiesto delimitados por saltos de línea, con un URI por línea. No se admiten URIs comodín en los archivos de manifiesto y todos los archivos de datos a los que se haga referencia deben estar en el mismo segmento que el manifiesto.
Por ejemplo, si tiene un URI de origen
"gs://bucket/path/file"y elfile_set_spec_typeesFILE_SYSTEM_MATCH, el archivo se usa directamente como archivo de datos. Si elfile_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. Se debe utilizar uno de los valores indicados a continuación.
CSVNEWLINE_DELIMITED_JSONAVRODATASTORE_BACKUP(usa este valor en Filestore)PARQUETORC
--time_partitioning_expiration=SECONDSNúmero entero que especifica (en segundos) cuándo se debe eliminar una partición basada en el tiempo. El tiempo de vencimiento se evalúa como la fecha UTC de la partición más el valor entero. Un número negativo indica que no hay fecha de 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 está habilitada sin este valor, la tabla se particiona en función del tiempo de carga.
--time_partitioning_type=INTERVALHabilita la creación de particiones por tiempo en una tabla y define el tipo de partición. Se debe utilizar uno de los valores indicados a continuación.
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_formattiene el valorAVRO, asigna el valortruea esta marca para convertir los tipos lógicos en sus tipos correspondientes (comoTIMESTAMP) en lugar de usar solo sus tipos sin formato (comoINTEGER).--decimal_target_types=DECIMAL_TYPEDetermina cómo convertir un tipo lógico
Decimal. Equivalente aJobConfigurationLoad.decimalTargetTypes. Repite esta marca para especificar varios tipos de destino.--parquet_enum_as_string={true|false}Si la marca
--source_formatestá definida comoPARQUETy quieres que BigQuery infiera los tipos lógicosENUMde Parquet como valoresSTRING, define esta marca comotrue. El valor predeterminado esfalse.--parquet_enable_list_inference={true|false}Si la marca
--source_formattiene el valorPARQUET, esta marca 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. Equivalente a
ExternalDataConfiguration.referenceFileSchemaUri. Este indicador está habilitado para los formatos Avro, ORC y PARQUET.DESTINATION_TABLELa tabla en la que quieres cargar los datos.
SOURCE_DATAEl URI de Cloud Storage del archivo que contiene los datos que quieres cargar.
SCHEMAEsquema de la tabla de destino.
Para obtener más información sobre cómo cargar datos desde Cloud Storage con el comando bq load, consulte lo siguiente:
- Cargar datos de Avro
- Cargar datos de CSV
- Cargar datos de JSON
- Cargar datos de ORC
- Cargar datos de Parquet
- Cargar datos desde exportaciones de Datastore
- Cargar datos desde exportaciones de Firestore
Para obtener más información sobre cómo cargar datos desde una fuente local mediante el comando bq load, consulta lo siguiente:
bq ls
Usa el comando bq ls para enumerar los objetos de una colección.
Sinopsis
bq ls [FLAGS] [RESOURCE]
Ejemplo
bq ls myDataset
Marcas y argumentos
El comando bq ls usa las siguientes marcas y argumentos:
--all={true|false}o-a={true|false}- Para mostrar todos los resultados, selecciona
true. Muestra las tareas de todos los usuarios o de todos los conjuntos de datos, incluidos los ocultos. Esta marca no es necesaria al enumerar configuraciones de transferencia o ejecuciones de transferencia. El valor predeterminado esfalse. --capacity_commitment={true|false}Para mostrar las confirmaciones de capacidad, asigna el valor
truey usa la marca--locationpara especificar la ubicación. Para obtener más información, consulta el artículo Ver compromisos comprados.Por ejemplo:
bq ls --capacity_commitment=true --location='us'--datasets={true|false}o-d={true|false}Para mostrar los conjuntos de datos, asigna el valor
true. El valor predeterminado esfalse.--filter="FILTER"Filtra los recursos de la lista para que coincidan con el argumento
FILTER.En el caso de los conjuntos de datos,
FILTERconsta de una o varias tuplas separadas por espacios con el formatolabels.KEY:VALUE. Si se proporciona más de una tripleta, el comando solo devuelve los conjuntos de datos que coincidan con todas las tripletas (es decir, el comando usa el operador lógicoAND, noOR). Si quieres especificar más de una tripleta, rodea el valorFILTERcon comillas.Para filtrar por etiquetas de conjuntos de datos, use las claves y los valores que haya aplicado a sus conjuntos de datos.
Por ejemplo:
--filter "labels.department:marketing labels.team:sales"
En las configuraciones de transferencia, utilice
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 del 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 del canal de YouTubeyoutube_content_owner- Transferencia de datos del propietario del contenido de YouTuberedshift- Migración de Amazon Redshifton_premises- Migración de Teradata
Por ejemplo:
--filter labels.dataSourceIds:dcm_dt
En el caso de las ejecuciones de transferencia, usa states como clave y uno o varios de los siguientes estados de transferencia como valor:
SUCCEEDEDFAILEDPENDINGRUNNINGCANCELLED
Por ejemplo:
--filter="states:FAILED"
En el caso de las tareas, usa states como clave y uno o varios de los siguientes estados de la tarea 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, asigna el valor
true. El valor predeterminado esfalse. De forma predeterminada, tienes un límite de 100.000 resultados. --max_creation_time=MAX_CREATION_TIME_MS- Número entero que representa una marca de tiempo de la época de Unix en milisegundos.
Si se especifica con la marca
--jobs, esta marca solo muestra los trabajos creados antes de la marca de tiempo. --max_results=MAX_RESULTS or -n=MAX_RESULTS- Número entero que indica el número máximo de resultados. El valor predeterminado es 50 y el máximo es 1000. Si tienes más de 1000 tareas, puedes usar la marca
page_tokenpara enumerar todas las tareas mediante la paginación. - --
min_creation_time=MIN_CREATION_TIME_MS - Número entero que representa una marca de tiempo de época de Unix en milisegundos. Si se especifica con la marca
--jobs, esta marca solo muestra los trabajos creados después de la marca de tiempo. --message_type=messageTypes:MESSAGE_TYPEPara mostrar solo los mensajes de registro de una transferencia de un tipo concreto, 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, defina este valor en
true. El valor predeterminado esfalse.--page_token=TOKENo-k=TOKENMuestra los elementos a partir del token de página especificado.
--projects={true|false}o-p={true|false}Para mostrar todos los proyectos, selecciona
true. El valor predeterminado esfalse.--reservation={true|false}Para mostrar todas las reservas de un proyecto y una ubicación determinados, defina este valor en
true. El valor predeterminado esfalse. Se usa 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 reservas de un proyecto y una ubicación determinados, defina este campo en
true. El valor predeterminado esfalse. Se usa con las marcas--project_idy--location.--routines={true|false}Para enumerar todas las rutinas del conjunto de datos especificado, asigna el valor
true. El valor predeterminado esfalse. Las rutinas incluyen funciones definidas por el usuario persistentes, funciones de tabla (vista previa) y procedimientos almacenados.--row_access_policiesCuando se especifica, muestra todas las políticas de acceso a nivel de fila de 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_ATTEMPTSe usa con la marca
--transfer_run. Para enumerar todos los intentos de ejecución de la transferencia especificada, asigna el valorRUN_ATTEMPT_UNSPECIFIED. Para mostrar solo el último intento de ejecución, seleccionaLATEST. El valor predeterminado esLATEST.--transfer_config={true|false}Para enumerar las configuraciones de transferencia del proyecto y la ubicación especificados, defina este valor en
true. Se usa con las marcas--transfer_locationy--project_id. El valor predeterminado esfalse.--transfer_location=LOCATIONLista las configuraciones de transferencia de la ubicación especificada. La ubicación de la transferencia se define cuando se crea.
--transfer_log={true|false}Se usa con la marca
--transfer_run. Para mostrar los mensajes del registro de transferencias de la transferencia especificada, defina este valor entrue. El valor predeterminado esfalse.--transfer_run={true|false}Muestra las ejecuciones de transferencia de la configuración de transferencia especificada.
Por ejemplo:
bq ls --transfer_run=true projects/myProject/locations/us/transferConfigs/12345
RESOURCELa colección cuyos objetos quieres 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 lo siguiente:
- Gestionar tareas
- Mostrar conjuntos de datos de un proyecto
- Crear y usar tablas
- Listar las vistas de un conjunto de datos
- Trabajar con transferencias
- Mostrar capturas 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 usa una marca type que especifica el tipo de recurso que se va a crear, así como otras marcas que dependen del tipo de recurso.
TYPE_FLAG: asigna el valor true a una de las siguientes marcas.
La selección especifica el tipo de recurso que se va a 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, un proyecto o una organización a una reserva.--tableo-t: crea una tabla.--transfer_config: cree 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 los errores si ya existe un recurso con el mismo nombre, defina el valor en
true. Si el recurso ya existe, el código de salida es 0, pero si se asigna el valortruea esta marca, el comandobq mkno sobrescribirá el recurso. El valor predeterminado esfalse.
El comando bq mk admite marcas adicionales, según el tipo de recurso que estés creando, tal como se describe en las siguientes secciones.
bq mk --capacity_commitment
Para comprar un compromiso de capacidad, asigna el valor true a --capacity_commitment y usa las siguientes marcas:
--location=LOCATION- Especifica la ubicación del compromiso.
--plan=PLAN_TYPEEspecifica el tipo de plan de compromiso. Debe tener uno de los siguientes valores:
ANNUALTHREE_YEAR
Los clientes que usen los precios de tarifa plana antiguos 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 de
ANNUALoTHREE_YEAR. Debe ser uno de los siguientes:ANNUALTHREE_YEARNONE
Los clientes que usen los precios de tarifa plana antiguos 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 el número de ranuras básicas que se van a comprar.
--edition=EDITIONLa edición asociada al compromiso de capacidad. Debe ser una de las siguientes:
ENTERPRISEENTERPRISE_PLUS
Para obtener más información, consulta la sección Comprar espacios publicitarios.
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 las conexiones de Cloud SQL. --properties=PROPERTIESParámetros específicos de la conexión en formato JSON. Deben especificarse
instanceId,databaseytype.Si creas una conexión de Spanner y quieres 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 descriptivo 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 gestión de identidades y accesos que permite acceder al recurso.
Utiliza el siguiente formato:
"arn:aws:iam::AWS_ACCOUNT_ID:role/POLICY_NAME", donde:- 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_IDEn BigQuery Omni en Microsoft Azure, especifica el ID de cliente del directorio de Microsoft Azure que contiene la cuenta de almacenamiento de Microsoft Azure.
CONNECTION_IDEspecifica un ID de conexión opcional para la conexión. Si no se proporciona un ID de conexión, se genera automáticamente un ID único. El ID de conexión puede contener letras, números y guiones bajos.
Para obtener más información, consulta el artículo 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 vas a asignar al nuevo conjunto de datos, 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 clave de Cloud KMS predeterminado para encriptar los datos de la tabla de un conjunto de datos si no se proporciona ninguna clave explícita durante la creación o la consulta de la tabla.
--default_partition_expiration=SECONDS- Número entero que especifica el tiempo de vencimiento predeterminado, en segundos, de todas las particiones de las tablas con particiones recién creadas en el conjunto de datos. El tiempo de vencimiento de una partición se define como la fecha UTC de la partición más el valor entero.
Si se define esta propiedad, su valor anula la caducidad predeterminada de la tabla a nivel del conjunto de datos, si existe. Si proporcionas la marca
--time_partitioning_expirationcuando creas o actualizas una tabla con particiones, la fecha de caducidad de la partición a nivel de tabla tiene prioridad sobre la fecha de caducidad de la partición predeterminada a nivel de conjunto de datos. --default_table_expiration=SECONDS- Número entero que especifica la duración predeterminada, en segundos, de las tablas recién creadas en un conjunto de datos. La hora de vencimiento se establece como la hora UTC actual 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 se crea 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
--locationporque la marca--data_locationes una marca antigua. --max_time_travel_hours=HOURS- Especifica la duración en horas del periodo de viaje en el tiempo del conjunto de datos. El valor de
--max_time_travel_hoursdebe ser un número entero expresado en múltiplos de 24 (48, 72, 96, 120, 144 y 168) entre 48 (2 días) y 168 (7 días). Si no se especifica esta marca, el valor predeterminado es 168 horas. --storage_billing_model=BILLING_MODELEspecifica el modelo de facturación del almacenamiento de un conjunto de datos. Asigna el valor
--storage_billing_modelaPHYSICALpara usar bytes físicos al calcular los cargos de almacenamiento o aLOGICALpara usar bytes lógicos.LOGICALes el valor predeterminado.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 del almacenamiento de un conjunto de datos, deberás esperar 14 días para volver a cambiarlo.
Para obtener más información, consulta el artículo sobre cómo crear 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, defina el valor
false. El valor predeterminado al crear una vista materializada estrue. --refresh_interval_ms=MILLISECONDS- Especifica el número de milisegundos del intervalo de actualización de una vista materializada. Si no se especifica esta marca, el intervalo de actualización predeterminado de una vista materializada que tiene habilitada la actualización es de 1.800.000 milisegundos (30 minutos).
Para obtener más información, consulta Crear y usar vistas materializadas.
bq mk --reservation
Crea una reserva con slots dedicados. Se admiten las siguientes marcas:
--target_job_concurrency=CONCURRENCY- Especifica el número objetivo de consultas que se ejecutan simultáneamente. El valor predeterminado es 0, lo que significa que la simultaneidad se calcula automáticamente en función del tamaño de la reserva. Para obtener más información, consulta Usar colas de consultas.
--ignore_idle_slots={true|false}- Para restringir las tareas que se ejecutan en esta reserva para que solo usen las ranuras asignadas a la reserva, defina el valor
true. El valor predeterminado esfalse. Las tareas de esta reserva pueden usar las ranuras inactivas de otras reservas o las ranuras que no estén asignadas a ninguna reserva. Para obtener más información, consulta la sección Ranuras inactivas. --location=LOCATION- Especifica la ubicación de la reserva.
--project_id=PROJECT_ID- Especifica el proyecto propietario de la reserva.
--slots=NUMBER_OF_BASELINE_SLOTS- Especifica el número de ranuras de referencia que se deben asignar a esta reserva.
--edition=EDITION- La edición asociada al compromiso de capacidad. Debe ser uno de los siguientes:
STANDARDENTERPRISEENTERPRISE_PLUS
--autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS- Número de ranuras de escalado automático asignadas a la reserva. Es igual al valor del tamaño máximo de la reserva menos el número de espacios de referencia. Solo está disponible con la marca
--edition. --max_slots=MAXIMUM_NUMBER_OF_SLOTS- Número máximo de espacios que consumirá la reserva. Debe configurarse con la marca
--scaling_mode(Vista previa). --scaling_mode=SCALING_MODEModo de escalado de la reserva. Debe ser una de las siguientes:
IDLE_SLOTS_ONLYALL_SLOTSAUTOSCALE_ONLYSCALING_MODE_UNSPECIFIED
Debe configurarse con la marca
--max_slots(Vista previa).
Para obtener más información, consulta el artículo Crear 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- Especifica el ID de la carpeta, la organización o el proyecto.
--assignee_type=ASSIGNEE_TYPE- Especifica el tipo de entidad que se asignará a la reserva. Una de las siguientes:
FOLDERORGANIZATIONPROJECT
--job_type=JOB_TYPE- Especifica el tipo de trabajo que se asignará a la reserva. Una de las siguientes:
QUERYPIPELINEML_EXTERNALBACKGROUND
--location=LOCATION- Especifica la ubicación de la reserva.
--project_id=PROJECT_ID- Especifica el proyecto propietario de la reserva.
--reservation_id=RESERVATION_ID- Especifica el ID de la reserva.
Para obtener más información, consulta Trabajar con asignaciones de reservas.
bq mk --table
Crea una tabla. Se admiten las siguientes marcas:
--add_tags=TAGS- Especifica las etiquetas que vas a asociar a la nueva tabla, 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- Lista separada por comas de hasta cuatro nombres de columna que especifica los campos que se van a usar para el agrupamiento en clústeres de tablas. Si se especifica con particiones, la tabla se particiona primero y, a continuación, cada partición se agrupa en clústeres con 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 duración de la tabla. Si no especificas la marca
--expiration, BigQuery creará la tabla con el tiempo de vida predeterminado de la tabla del conjunto de datos o la tabla no caducará. --external_table_definition=STRINGEspecifica una definición de tabla para crear una tabla externa.
En el caso de las tablas externas de Cloud Storage y Google Drive:
-
--external_table_definition={PATH_TO_FILE|DEFINITION} - El valor puede ser una ruta a un archivo que contenga una definición de tabla (
PATH_TO_FILE) o una definición de tabla insertada (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 valor deSCHEMAsi el formato de los datos es autodescriptivo (como Avro) o si usas la detección automática de esquemas.El valor de
FORMATespecifica el formato de los datos. Puede ser uno de los siguientes:AVROCSVDATASTORE_BACKUP(usa este valor en Filestore)ICEBERGNEWLINE_DELIMITED_JSONORCPARQUET
Si especifica un archivo de definición de tabla, no añada ninguna 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
En el caso de 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 a un archivo que contenga una definición de tabla.
En el caso de las tablas de BigLake basadas en Cloud Storage:
--external_table_definition=FORMAT=BUCKET_PATH@REGION.CONNECTION_NAME:El valor de
FORMATespecifica el formato de los datos. Puede ser uno de los siguientes:AVROCSVNEWLINE_DELIMITED_JSONICEBERGORCPARQUET
BUCKET_PATHes la ruta a uno o varios archivos de Cloud Storage que contienen los datos de la tabla de BigLake. Puede especificarBUCKET_PATHen los siguientes formatos:- Para un solo archivo:
gs://bucket_name/[folder_name/]file_name. - Si hay varios archivos en un mismo contenedor, sigue estos pasos:
gs://bucket_name/[folder_name/]*. Para varios archivos en varios contenedores:
gs://mybucket1/*,gs://mybucket2/folder5/*.Puedes usar comodines para limitar los archivos incluidos en la tabla de BigLake. Por ejemplo, si el contenedor contiene varios tipos de datos, puede hacer que la tabla solo use archivos PARQUET especificando
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 va a 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 segmento de Cloud Storage que contiene los objetos representados por la tabla de objetos, con el formatogs://bucket_name/[folder_name/]*.Puede especificar varios segmentos proporcionando varias rutas, comogs://mybucket1/*,gs://mybucket2/folder5/*.Puedes usar comodines para limitar los objetos incluidos en la tabla de objetos. Por ejemplo, si el contenedor contiene varios tipos de datos no estructurados, puede crear la tabla de objetos solo con objetos PDF especificando
gs://bucket_name/*.pdf. Para obtener más información sobre cómo usar 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 va a 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 URIs de origen.
FILE_SYSTEM_MATCH: amplía los URIs de origen enumerando los archivos del almacén de objetos. Este es el comportamiento predeterminado si no se define FileSetSpecType.NEW_LINE_DELIMITED_MANIFEST: indica que los URIs proporcionados son archivos de manifiesto delimitados por saltos de línea, con un URI por línea. No se admiten URIs comodín en los archivos de manifiesto y todos los archivos de datos a los que se haga referencia deben estar en el mismo segmento que el manifiesto.
Por ejemplo, si tiene un URI de origen
"gs://bucket/path/file"y elfile_set_spec_typeesFILE_SYSTEM_MATCH, el archivo se usa directamente como archivo de datos. Si elfile_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. Equivalente a
ExternalDataConfiguration.referenceFileSchemaUri. Este indicador está habilitado 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 de la tabla usan metadatos almacenados en caché y cómo de actualizados deben estar los metadatos almacenados en caché para que la operación los use.
Se aplica a las tablas de BigLake y a las tablas de objetos.
Para inhabilitar el almacenamiento en caché de metadatos, especifica 0. Este es el valor predeterminado.
Para habilitar el almacenamiento en caché de metadatos, especifica un valor de intervalo de entre 30 minutos y 7 días con el formato
Y-M D H:M:Sdescrito en la documentación del tipo de datosINTERVAL. Por ejemplo, especifica0-0 0 4:0:0para un intervalo de obsolescencia de 4 horas. Con este valor, las operaciones en la tabla usan metadatos almacenados en caché si se han actualizado en las últimas 4 horas. Si los metadatos almacenados en caché son anteriores a ese periodo, la operación recurre a la recuperación de metadatos de Cloud Storage.--object_metadata=STRINGAsigna el valor
SIMPLEa esta marca al crear una tabla de objetos.Solo se requiere cuando se crea una tabla de objetos.
--range_partitioning=COLUMN_NAME,START,END,INTERVALEspecifica las opciones de una partición de intervalo de números enteros, de la siguiente manera:
column_namees la columna que se usa para crear las particiones de intervalos de números enteros.startes el inicio de la partición por intervalo (inclusive).endes el final de la partición por intervalo (exclusivo).intervales la anchura de cada intervalo de la partición.
Por ejemplo:
--range_partitioning=customer_id,0,10000,100
--require_partition_filter={true|false}Para requerir un filtro de partición para las consultas sobre la tabla proporcionada, defina el valor en
true. Esta marca solo se aplica a las tablas con particiones. El valor predeterminado esfalse.--schema={SCHEMA_FILE|SCHEMA}Especifica la ruta a un archivo de esquema JSON local o una lista separada por comas de definiciones de columnas con el formato
FIELD:DATA_TYPE, FIELD:DATA_TYPE. Si usas un archivo de esquema, no añadas ninguna extensión al nombre de archivo.Ejemplos:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--time_partitioning_expiration=SECONDSNúmero entero que especifica (en segundos) cuándo se debe eliminar una partición basada en el tiempo. El tiempo de vencimiento se evalúa como la fecha UTC de la partición más el valor entero. Un número negativo indica que no hay fecha de vencimiento.
--time_partitioning_field=COLUMN_NAMEEspecifica el campo que se usa para determinar cómo crear una partición basada en el tiempo. Si la partición basada en el tiempo está habilitada sin este valor, la tabla se particiona en función del tiempo de carga.
--time_partitioning_type=INTERVALHabilita la creación de particiones por tiempo en una tabla y define el tipo de partición. Se debe utilizar uno de los valores indicados a continuación.
DAYHOURMONTHYEAR
--use_avro_logical_types={true|false}Si la parte
FORMATde la marca--external_table_definitionse define comoAVRO, esta marca especifica si se deben convertir los tipos lógicos en sus tipos correspondientes (comoTIMESTAMP) en lugar de usar solo sus tipos sin formato (comoINTEGER).--parquet_enable_list_inference={true|false}Si la parte
FORMATde la marca--external_table_definitionse define comoPARQUET, esta marca especifica si se debe usar la inferencia de esquema para los tipos lógicosLISTde Parquet.--parquet_enum_as_string={true|false}Si la parte
FORMATde la marca--external_table_definitionse define comoPARQUET, esta marca especifica si se deben inferir los tipos lógicosENUMde Parquet como valoresSTRING.
Para obtener más información, consulta el artículo sobre cómo crear y usar 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. Es obligatorio al crear 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 del 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 del canal de YouTubeyoutube_content_owner- Transferencia de datos del propietario del contenido de YouTuberedshift- Migración de Amazon Redshifton_premises- Migración de 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 las ejecuciones de transferencia de datos de 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 en función de la fuente de datos.
--refresh_window_days=DAYS- Un número entero que especifica la ventana de actualización de la configuración de la transferencia en días. El valor predeterminado es
0. --service_account_name=SERVICE_ACCOUNT- Especifica una cuenta de servicio que se usará como credencial para la configuración de la transferencia.
--target_dataset=DATASET- Especifica el conjunto de datos de destino de la configuración de la transferencia.
--table_filter=TABLES- Solo se usa con la fuente de datos
google_ads. El parámetroTABLESes una lista separada por comas de las tablas que se incluirán en la transferencia. Para excluir una tabla, añada un guion (-) delante. El valor predeterminado incluye todas las tablas de 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 cómo usar el comando bq mk con BigQuery Data Transfer Service, consulta lo siguiente:
- Configurar una transferencia de Amazon S3
- Configurar una transferencia de Campaign Manager
- Configurar una transferencia de Cloud Storage
- Configurar una transferencia de Google Ad Manager
- Configurar una transferencia de Google Ads
- Configurar una transferencia de Google Merchant Center (beta)
- Configurar una transferencia de Google Play
- Configurar una transferencia de Search Ads 360 (beta)
- Configurar una transferencia de canal de YouTube
- Configurar una transferencia de propietario de contenido de YouTube
- Migrar datos desde Amazon Redshift
- Migrar datos de Teradata
bq mk --transfer_run
Crea una ejecución de transferencia de datos en el momento o intervalo de tiempo especificados 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 a la que se debe programar la ejecución de la transferencia de datos.
--start_time=START_TIME- Una marca de tiempo que especifica la hora de inicio de un intervalo de ejecuciones de transferencia de datos.
--end_time=END_TIME- Una marca de tiempo que especifica la hora de finalización de un intervalo de ejecuciones de transferencia de datos.
El formato de las marcas de tiempo es RFC3339 UTC "Zulu".
El argumento CONFIG especifica una configuración de transferencia de datos predefinida.
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 vas a asociar a la nueva vista, 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 el tiempo de vida de la vista. Si
SECONDSes0, la vista no caduca. Si no especificas la marca--expiration, BigQuery creará la vista con el tiempo de vida predeterminado 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}- Definir como
falsepara usar una consulta de GoogleSQL y crear una vista. El valor predeterminado se determina en la configuración. Si no se especifica el ajuste de configuración, el valor predeterminado estrue, que usa SQL antiguo. --view_udf_resource=FILE- Especifica el URI de Cloud Storage o la ruta a un archivo de código local que se carga y evalúa inmediatamente como un recurso de función definida por el usuario que usa la consulta SQL de una vista. Repite esta marca para especificar varios archivos.
Para obtener más información, consulta el artículo Crear vistas.
bq mkdef
Usa el comando bq mkdef para 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 las siguientes marcas y argumentos:
--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- 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 modos siguientes:
AUTO: infiere automáticamente los nombres y los tipos de las claves de partición.STRINGS: infiere automáticamente los nombres de las claves de partición. Todos los tipos se tratan como cadenas.CUSTOM: especifica el esquema de partición en el prefijo del URI de origen.
El valor predeterminado es
AUTO.--hive_partitioning_source_uri_prefixEspecifica el prefijo común de los URIs de origen. El valor del prefijo común es la parte del URI que precede inmediatamente a la codificación de la clave de partición. Si has especificado
CUSTOMpara el modo, también debes identificar el esquema de partición.Por ejemplo, supongamos que tiene 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, puedes usar los siguientes valores:gs://bucket/path_to_tablegs://bucket/path_to_table/
Si usas el modo
CUSTOM, se aceptarán 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 el artículo Crear un archivo de definición de tabla 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 automáticamente o manualmente.
Si se define como
AUTOMATIC, la caché de metadatos se actualizará a un intervalo definido por el sistema, normalmente entre 30 y 60 minutos.Selecciona
MANUALsi quieres actualizar la caché de metadatos según la programación que determines. En este caso, puedes llamar al procedimiento del sistemaBQ.REFRESH_EXTERNAL_METADATA_CACHEpara actualizar la caché.Debes definir la marca
--metadata_cache_modesi defines la marca--max_stalenesscon el comandobq mk.--parquet_enable_list_inference={true|false}Si
source_formattiene el valorPARQUET, 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_formattiene el valorPARQUET, esta marca especifica si se deben inferir los tipos lógicos de Parquet como valoresSTRING.ENUMEl valor predeterminado esfalse.--file_set_spec_type=FILE_SET_SPEC_TYPEEspecifica cómo interpretar los URIs de origen.
FILE_SYSTEM_MATCH: amplía los URIs de origen enumerando los archivos del almacén de objetos. Este es el comportamiento predeterminado si no se define FileSetSpecType.NEW_LINE_DELIMITED_MANIFEST: indica que los URIs proporcionados son archivos de manifiesto delimitados por saltos de línea, con un URI por línea. No se admiten URIs comodín en los archivos de manifiesto y todos los archivos de datos a los que se haga referencia deben estar en el mismo segmento que el manifiesto.
Por ejemplo, si tiene un URI de origen
"gs://bucket/path/file"y elfile_set_spec_typeesFILE_SYSTEM_MATCH, el archivo se usa directamente como archivo de datos. Si elfile_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. Se debe utilizar uno de los valores indicados a continuación.
AVROCSVDATASTORE_BACKUP(usa este valor en Filestore)GOOGLE_SHEETSNEWLINE_DELIMITED_JSONORCPARQUET
El valor predeterminado es
CSV.--use_avro_logical_types={true|false}Si la marca
--source_formattiene el valorAVRO, esta marca especifica si se deben convertir los tipos lógicos en sus tipos correspondientes (comoTIMESTAMP) en lugar de usar solo sus tipos sin formato (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 las tablas que terminan en YYYYMMDD para la creación de particiones por fecha, en tablas con particiones.
Sinopsis
bq partition [FLAGS] SOURCE_TABLE_BASE_NAME PARTITION_TABLE
Marcas y argumentos
El comando bq partition usa las siguientes marcas y argumentos:
--no_clobber={true|false}o-n={true|false}- Para no permitir que se sobrescriba una partición,
asigna el valor
true. El valor predeterminado esfalse. Si la partición ya existe, se sobrescribe. --time_partitioning_expiration=SECONDS- Número entero que especifica (en segundos) cuándo se debe eliminar una partición basada en el tiempo. El tiempo de vencimiento se evalúa como la fecha UTC de la partición más el valor entero. Un número negativo indica que no caduca.
--time_partitioning_type=INTERVALEspecifica el tipo de partición. En la siguiente tabla se muestran los valores posibles de la marca
INTERVALy el formato de sufijo de unidad de tiempo esperado para cada uno:INTERVALSufijo HOURYYYYMMDDHHDAYYYYYMMDDMONTHYYYYMMYEARYYYYSOURCE_TABLE_BASE_NAMENombre base del grupo de tablas con sufijos de unidad de tiempo.
PARTITION_TABLENombre de la tabla de destino particionada.
Para obtener más información sobre cómo usar el comando bq partition, consulta Convertir tablas con particiones por fecha en tablas con particiones por hora de ingestión.
bq query
Usa el comando bq query para crear un trabajo de consulta que ejecute la consulta SQL especificada.
Sinopsis
bq query [FLAGS] 'QUERY'
Marcas y argumentos
El comando bq query usa las siguientes marcas y argumentos:
--allow_large_results={true|false}- Para habilitar tamaños de tabla de destino grandes en las consultas de SQL antiguo, asigna el valor
true. El valor predeterminado esfalse. --append_table={true|false}- Para añadir datos a una tabla de destino, selecciona
true. El valor predeterminado esfalse. --batch={true|false}- Para ejecutar la consulta en modo por lotes, selecciona
true. El valor predeterminado esfalse. --clustering_fields=COLUMNS- Lista separada por comas de hasta cuatro nombres de columna que especifica los campos que se van a usar para agrupar la tabla de destino en una consulta. Si se especifica con la creación de particiones, la tabla se particiona primero y, a continuación, cada partición se agrupa en clústeres con las columnas proporcionadas.
--connection_property=KEY=VALUEUn par clave-valor que le permite especificar propiedades a nivel de conexión para personalizar el comportamiento de las consultas. Repite esta marca para especificar propiedades adicionales.
Las propiedades de conexión admitidas son las siguientes:
dataset_project_id: representa el proyecto predeterminado de los conjuntos de datos que se usan en la consulta, de forma similar a la@@dataset_project_idvariable de sistema.query_label: asocia la consulta con una etiqueta de trabajo determinada. Si se define, todas las consultas posteriores de una secuencia de comandos o una sesión tendrán esta etiqueta. Para obtener información sobre los requisitos de formato de las etiquetas de consulta, consulta el campolabelsdel recursoJobConfiguration.service_account: especifica una cuenta de servicio que se usará para ejecutar la consulta. Por ejemplo,--connection_property=service_account=myserviceaccount@project.iam.gserviceaccount.com.session_id: asocia la consulta a 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, selecciona
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}Ruta a un archivo de esquema JSON local o a una lista separada por comas de definiciones de columnas con el formato
FIELD:DATA_TYPE, FIELD:DATA_TYPE.Los cambios en el esquema se producen en una operación independiente de la ejecución de la consulta. Si escribe los resultados de una consulta en una tabla especificando la marca
--destination_tabley la consulta genera una excepción posteriormente, es posible que se omitan los cambios de esquema. Si esto ocurre, comprueba el esquema de la tabla de destino y actualízalo manualmente si es necesario.--destination_table=TABLESi se especifica, los resultados de la consulta se guardan en
TABLE. EspecifiqueTABLEcon el siguiente formato:PROJECT:DATASET.TABLE. Si no se especificaPROJECT, se usará 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}Si se especifica, la consulta se valida, pero no se ejecuta.
--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}Especifica el nombre de la tabla y la definición de la tabla de una consulta de tabla externa. La definición de tabla puede ser una ruta a un archivo de esquema JSON local o una definición de tabla insertada. El formato para proporcionar la definición de la tabla insertada 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 tabla, no añadas ninguna 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 el acoplamiento de campos anidados y repetidos en los resultados de las consultas de SQL antiguo, defina el valor
false. El valor predeterminado estrue.--label=KEY:VALUEEspecifica una etiqueta para la tarea de consulta. Repite esta marca para especificar varias etiquetas.
--max_rows=MAX_ROWSo-n=MAX_ROWSNúmero entero que especifica el número de filas que se van a devolver en los resultados de la consulta. El valor predeterminado es
100.--maximum_bytes_billed=MAX_BYTESNúmero entero que limita los bytes facturados por la consulta. Si la consulta supera el límite, fallará (sin suponer ningún cargo). Si no se especifica esta marca, los bytes facturados se asignarán al valor predeterminado del proyecto.
--max_statement_results=VALUENúmero entero que especifica el número máximo de instrucciones de secuencias de comandos que se muestran en los resultados de la consulta. El valor predeterminado es
100.--min_completion_ratio=RATIO(Experimental) Número del 0 al 1,0 que especifica la fracción mínima de datos que se debe analizar antes de que se devuelva 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 contenga una lista de parámetros de consulta o un parámetro de consulta con el formato
NAME:TYPE:VALUE. Si no se indica ningún nombre, se crea un parámetro posicional. Si se omiteTYPE, se asume 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,INTERVALSe usa con la marca
--destination_table. Especifica las opciones de partición por intervalo de números enteros de la tabla de destino. El valor es una lista separada por comas de la formacolumn_name,start,end,interval, dondecolumn_namees la columna que se usa para crear las particiones de intervalos de números enteros.startes el inicio de la partición por intervalo (inclusive).endes el final de la partición por intervalo (exclusivo).intervales la anchura de cada intervalo de la partición.
Por ejemplo:
--range_partitioning=customer_id,0,10000,100
--replace={true|false}Para sobrescribir la tabla de destino con los resultados de la consulta, selecciona
true. Se borrarán los datos y el esquema que ya existan. También se elimina cualquier clave de Cloud KMS, a menos que especifiques la marca--destination_kms_key. El valor predeterminado esfalse.--require_cache={true|false}Si se especifica, ejecuta la consulta solo si se pueden obtener resultados de la caché.
--require_partition_filter={true|false}Si se especifica, se requiere un filtro de partición para las consultas sobre la tabla proporcionada. Esta marca solo se puede usar con una tabla con particiones.
- **
--reservation_id=RESERVATION Vista previa. Si se especifica, es la reserva en la que se ejecuta la consulta.
--rpc={true|false}Para usar la API de consulta de estilo RPC en lugar del método
jobs.insertde la API REST, asigna el valortrue. El valor predeterminado esfalse.--schedule="SCHEDULE"Convierte una consulta en una consulta programada periódica. Es necesario programar la frecuencia con la que se debe ejecutar la consulta.
Ejemplos:
--schedule="every 24 hours"
--schedule="every 3 hours"
Para ver una descripción de la sintaxis de la programación, consulta Dar formato a la programación.
--schema_update_option=OPTIONCuando se añaden datos a una tabla en una tarea de carga o en una tarea de consulta, o cuando se sobrescribe una partición de una tabla, se especifica cómo se debe actualizar el esquema de la tabla de destino. Se debe utilizar uno de los valores indicados a continuación.
ALLOW_FIELD_ADDITION: permite añadir campos.ALLOW_FIELD_RELAXATION: permite que los camposREQUIREDrelajantes seNULLABLE.
Repite esta marca para especificar varias opciones de actualización de esquemas.
--start_row=ROW_NUMBERo-s=ROW_NUMBERNúmero entero que especifica la primera fila que se debe devolver 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 de una consulta programada. La consulta debe ser DDL o DML.--time_partitioning_expiration=SECONDSSe usa con la marca
--destination_table. Número entero que especifica (en segundos) cuándo se debe eliminar una partición basada en el tiempo. La hora de vencimiento se calcula como la fecha UTC de la partición más el valor entero. Un número negativo indica que no hay fecha de vencimiento.--time_partitioning_field=COLUMN_NAMESe usa con la marca
--destination_table. Especifica la columna de partición para la partición basada en tiempo. Si la partición basada en el tiempo está habilitada sin este valor, la tabla se particiona en función de la hora de ingestión.--time_partitioning_type=INTERVALSe usa con la marca
--destination_table. Especifica el tipo de partición de la tabla de destino. Se debe utilizar uno de los valores indicados a continuación.DAYHOURMONTHYEAR
--udf_resource=FILEEsta marca solo se aplica a las consultas de SQL antiguo. Especifica el URI de Cloud Storage o la ruta a un archivo local que contenga un recurso de función definida por el usuario que se vaya a usar en una consulta de SQL antiguo. Repite esta marca para especificar varios archivos.
--use_cache={true|false}Para inhabilitar el almacenamiento en caché de los resultados de las consultas, asigna el valor
false. El valor predeterminado estrue.--use_legacy_sql={true|false}Para ejecutar una consulta de GoogleSQL, selecciona
false. El valor predeterminado se determina en la configuración. Si no se especifica el ajuste de configuración, el valor predeterminado estruey el comando usa SQL antiguo.--job_timeout_ms={string (Int64Value)}Especifica el tiempo máximo para ejecutar una consulta en milisegundos. Si se supera este límite de tiempo, BigQuery intentará detener el trabajo.
QUERYLa consulta que quieres ejecutar. Puedes especificar la consulta mediante uno de los siguientes métodos:
Especifica una cadena que contenga la consulta.
Si necesitas usar literales de cadena adicionales en la consulta, debes seguir las reglas de comillas del shell que estés usando, como Bash o PowerShell.
En el siguiente ejemplo se muestra un enfoque habitual en Bash, que consiste en usar comillas dobles para indicar los literales de cadena en la consulta y, a continuación, incluir la consulta en comillas simples:
'SELECT * FROM mydataset.mytable WHERE column1 = "value";'
Si copias la consulta de otra ubicación, también debes eliminar los comentarios que contenga.
Transfiere una secuencia de comandos SQL que contenga la consulta. En el siguiente ejemplo se muestra cómo introducir una secuencia de comandos SQL en el shell de Bash:
bq query --use_legacy_sql=false < query.sql
Para obtener más información sobre el uso del comando bq query, consulta Ejecutar una consulta.
bq remove-iam-policy-binding
Usa el comando bq remove-iam-policy-binding para obtener la política de gestión de identidades y accesos de un recurso y quitar una vinculación de la política en un solo 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ítica (en formato JSON). - Editar el archivo de política.
- 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 las siguientes
marcas y argumentos:
--member=MEMBER_TYPE:MEMBERObligatorio. Usa la marca
--memberpara especificar la parte del miembro de la vinculación de la política de gestión de identidades y accesos. La marca--memberes obligatoria junto con la marca--role. Una combinación de las marcas--membery--roleequivale a un enlace.El valor
MEMBER_TYPEespecifica el tipo de miembro en la vinculación de la política de IAM. Se debe utilizar uno de los valores indicados a continuación.userserviceAccountgroupdomain
El valor
MEMBERespecifica la dirección de correo o el dominio del miembro en la vinculación de la política de IAM.--role=ROLEObligatorio. Especifica la parte del rol de la vinculación de la política de gestión de identidades y accesos. La marca
--rolees obligatoria junto con la marca--member. Una combinación de las marcas--membery--roleequivale a un enlace.--table={true|false}o-t={true|false}Opcional. Para quitar un enlace de la política de gestión de identidades y accesos de una tabla o una vista, defínelo como
true. El valor predeterminado esfalse.
RESOURCE es la tabla o la vista cuya vinculación de política quieres quitar.
Para obtener más información, consulta la referencia de la política de gestión de identidades y accesos.
bq rm
Usa el comando bq rm para eliminar un recurso de BigQuery.
Sinopsis
bq rm [FLAGS] RESOURCE
Marcas y argumentos
El comando bq rm usa las siguientes marcas y argumentos:
--capacity_commitment={false|true}- Para eliminar un compromiso de capacidad, defínelo como
true, especifica la ubicación del compromiso que quieras quitar con la marca--locationy sustituyeRESOURCEpor el ID del compromiso que quieras quitar. --dataset={true|false}o-d={true|false}- Para eliminar un conjunto de datos, elija
true. El valor predeterminado esfalse. --force={true|false}o-f={true|false}- Para eliminar un recurso
sin que se te pida confirmación, selecciona
true. El valor predeterminado esfalse. --job={true|false}o-j={true|false}- Para eliminar un trabajo, asigna el valor true. El valor predeterminado es false.
--model={true|false}o-m={true|false}- Para eliminar un modelo de BigQuery ML, defina este valor en
true. El valor predeterminado esfalse. --recursive={true|false}o-r{true|false}- Para eliminar un conjunto de datos y las tablas, los datos de las tablas o los modelos que contenga, asigna el valor
true. El valor predeterminado esfalse. --reservation={true|false}- Para eliminar una reserva, selecciona
true. El valor predeterminado esfalse. --reservation_assignment={true|false}- Para eliminar una asignación de reserva, selecciona
true. El valor predeterminado esfalse. --routine={true|false}- Para eliminar una rutina, selecciona
true. El valor predeterminado esfalse. Una rutina puede ser una función definida por el usuario persistente, una función de tabla (vista previa) o un procedimiento almacenado. --table={true|false}o-t={true|false}- Para eliminar una tabla o una vista, asigna el valor
true. El valor predeterminado esfalse. --transfer_config={true|false}- Para eliminar una configuración de transferencia, selecciona
true. El valor predeterminado esfalse. RESOURCE- El recurso que quieras quitar.
Para obtener más información sobre el uso del comando bq rm, consulta lo siguiente:
- Gestionar conjuntos de datos
- Gestionar tareas
- Gestionar tablas
- Gestionar vistas
- Trabajar con transferencias
- Eliminar capturas de tablas
bq set-iam-policy
Usa el comando bq set-iam-policy para especificar o actualizar la política de gestión de identidades y accesos de un recurso. El recurso puede ser una tabla, una vista o una reserva de espacio.
Después de definir la política, la nueva política se
imprime 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 no se realizará. Esta función evita que se realicen actualizaciones simultáneas.
Para obtener la política actual y el valor de etag de un recurso, usa 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 las siguientes marcas y argumentos.
--table={true|false}o-t={true|false}- Opcional. Para definir la política de gestión de identidades y accesos de una tabla o una vista, asigna el valor
true. El valor predeterminado esfalse. --reservation={true|false}- Para definir la política de gestión de identidades y accesos de una reserva, elija
true(Vista previa). El valor predeterminado esfalse. Cuando se usa esta marca,RESOURCEse trata como un identificador de reserva. La reserva puede tener prefijos de proyecto y de ubicación opcionales:myProject:myLocation.myReservation.
RESOURCE es la tabla o la vista cuya política quieres 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 el artículo sobre cómo controlar el acceso a los recursos con la gestión de identidades y accesos.
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 las siguientes marcas y argumentos:
--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 asignatario quieres mostrar. --assignee_type=TYPE- Cuando se usa con la marca
--reservation_assignment, especifica el tipo de entidad que se va a mostrar. Usa uno de los siguientes valores:FOLDERORGANIZATIONPROJECT
--connection={true|false}- Para mostrar información sobre una conexión, selecciona
true. El valor predeterminado esfalse. Para obtener más información, consulta Ver un recurso de conexión .
--dataset={true|false}o-d={true|false}- Para mostrar información sobre un conjunto de datos, selecciona
true. El valor predeterminado esfalse. --encryption_service_account={true|false}- Para mostrar la cuenta de servicio de cifrado de un proyecto, si existe, o crear una si no existe, asigna el valor
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, selecciona
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 quieres 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, selecciona
true. El valor predeterminado esfalse. --reservation={true|false}- Para mostrar información sobre una reserva, elija
true. El valor predeterminado esfalse. --reservation_assignment={true|false}- Si se define como
true, el comando muestra las asignaciones de reserva de una carpeta, una organización o un proyecto específicos. 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, activa
true. El valor predeterminado esfalse. Una rutina puede ser una función definida por el usuario persistente, una función de tabla (vista previa) o un procedimiento almacenado. --schema={true|false}- Para mostrar solo el esquema de la tabla, elija
true. El valor predeterminado esfalse. --transfer_config={true|false}- Para mostrar información sobre una configuración de transferencia, selecciona
true. El valor predeterminado esfalse. --transfer_run={true|false}- Para mostrar información sobre una ejecución de transferencia, elija
true. El valor predeterminado esfalse. --view={true|false}- Para mostrar información sobre una vista, selecciona
true. El valor predeterminado esfalse. RESOURCE- El recurso cuya información quieres mostrar.
Para obtener más información sobre el uso del comando bq show, consulta lo siguiente:
- Obtener información sobre los conjuntos de datos
- Crear y usar tablas
- Obtener información sobre las vistas
- Trabajar con transferencias
- Gestionar tareas
- Obtener información sobre una captura de una 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 las siguientes marcas y argumentos:
--add_tags=TAGS- Solo está disponible en conjuntos de datos y tablas. Especifica las etiquetas que quieres asignar 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- el número de ranuras de escalado automático asignadas a la reserva. Es igual al valor del tamaño máximo de la reserva menos el número de espacios de referencia. Solo está disponible con la marca
--reservationy si la reserva se ha creado con una edición. --capacity_commitment={true|false}- Para actualizar una confirmación de capacidad, defina el valor
true. Use esta marca junto 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, asigna el valor
true. El valor predeterminado esfalse. --clear_label=KEY:VALUE- Quita una etiqueta del recurso. Usa el formato
KEY:VALUEpara especificar la etiqueta que quieres quitar. Repite esta marca para quitar varias etiquetas. --clustering_fields=COLUMNS- Actualiza la especificación de agrupación en clústeres de una tabla. El valor COLUMNS es una lista de nombres de columnas separados por comas que se usa para la creación de clústeres. Para quitar la agrupación, asigna el valor
""(la cadena vacía) a COLUMNS. Para obtener más información, consulta Modificar la especificación de clustering. --target_job_concurrency=CONCURRENCY- Cuando se usa con la marca
--reservation, especifica el número objetivo de consultas que se ejecutan simultáneamente. El valor predeterminado es 0, lo que significa que la simultaneidad se define automáticamente en función del tamaño de la reserva. Para obtener más información, consulta Usar colas de consultas. --dataset={true|false}o-d={true|false}- Para actualizar un conjunto de datos, el valor debe ser
true. El valor predeterminado esfalse. --default_kms_key=KEY- Especifica el ID de recurso de clave predeterminado de Cloud KMS para encriptar los datos de las tablas de un conjunto de datos. La clave predeterminada se usa si no se proporciona ninguna clave explícita para crear una tabla o una consulta.
--default_partition_expiration=SECONDSNúmero entero que especifica el tiempo de vencimiento predeterminado, en segundos, de todas las particiones de las tablas particionadas recién creadas en el conjunto de datos. Esta marca no tiene ningún valor mínimo.
La hora de vencimiento de una partición se define como la fecha UTC de la partición más el valor entero. Si se define esta propiedad, se anula la caducidad de la tabla predeterminada a nivel de conjunto de datos, si existe. Si proporcionas la marca
--time_partitioning_expirational crear o actualizar una tabla con particiones, la caducidad de las particiones a nivel de tabla tendrá prioridad sobre la caducidad de las particiones predeterminada a nivel de conjunto de datos. Especifica0para quitar una caducidad.--default_table_expiration=SECONDSNúmero entero que actualiza el tiempo de vida predeterminado, en segundos, de las tablas recién creadas en un conjunto de datos. La hora de vencimiento se define como la hora UTC actual más este valor. Especifica
0para quitar la caducidad.--description=DESCRIPTIONActualiza la descripción de un conjunto de datos, una tabla, una captura 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 a la reserva especificada. El valor es el ID de la reserva de destino. Para obtener más información, consulta el artículo Mover una tarea a otra reserva.--display_name=DISPLAY_NAMEActualiza el nombre visible de una configuración de transferencia.
--etag=ETAGActúa como filtro. Actualiza el recurso solo si tiene un ETag que coincida con la cadena especificada en el argumento
ETAG.--expiration SECONDSPara actualizar el vencimiento de la tabla, el modelo, la instantánea de la tabla o la vista, incluye esta marca. Sustituye
SECONDSpor el número de segundos que transcurren entre la hora de actualización y la hora de vencimiento. Para quitar la caducidad de una tabla, un modelo, una instantánea de tabla o una vista, asigna el valor 0 al argumentoSECONDS.--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}Actualiza una tabla externa con la definición de tabla especificada. La definición de la tabla puede ser una ruta a un archivo de definición de tabla JSON local o una definición de tabla insertada en el formato
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI. El 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 tabla, no añadas ninguna 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}Se usa con la marca
--reservation. Para restringir las tareas que se ejecutan en la reserva especificada de forma que solo usen los slots asignados a esa reserva, defina el valortrue. El valor predeterminado esfalse. Las tareas de la reserva especificada pueden usar las ranuras inactivas de otras reservas o las ranuras que no estén asignadas a ninguna reserva. Para obtener más información, consulta la sección Ranuras inactivas.--max_staleness=INTERVALEspecifica un valor de INTERVAL que determina la antigüedad máxima permitida al consultar 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, debe 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 periodo de viaje en el tiempo del conjunto de datos. El valor de
--max_time_travel_hoursdebe ser un número entero expresado en múltiplos de 24 (48, 72, 96, 120, 144 y 168) entre 48 (2 días) y 168 (7 días).--merge={true|false}Para combinar dos confirmaciones de capacidad, asigna el valor
--mergeatrue. Define la marca--capacity_commitmentcomotrue, especifica la ubicación de los compromisos que quieras combinar con la marca--locationy sustituyeRESOURCEpor los IDs de los dos compromisos que quieras combinar, separados por una coma. Para obtener más información, consulta Combinar dos compromisos.--metadata_cache_mode=METADATA_CACHE_MODEHabilita la caché de metadatos de una tabla externa con una conexión. Se debe utilizar 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, debe 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, defina el valor en
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 en función de la fuente de datos. Para obtener más información, consulta la introducción a BigQuery Data Transfer Service.
--plan=PLANCuando se usa con la marca
--capacity_commitment, convierte un compromiso de capacidad en el plan de compromiso de mayor duración especificado. SustituyePLANpor una de las siguientes opciones:ANNUALTHREE_YEAR
--refresh_window_days=DAYSNúmero entero que especifica una ventana de actualización actualizada (en días) para una configuración de transferencia.
--remove_tags=TAG_KEYSSolo disponible en conjuntos de datos y tablas. Especifica las etiquetas que quieres quitar 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 de un compromiso de capacidad anual. SustituyePLANpor una de las siguientes opciones:ANNUALTHREE_YEARNONE
Los clientes que usen los precios de tarifa plana antiguos 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 a un archivo de esquema JSON local o una lista separada por comas de definiciones de columnas con el formato
FIELD:DATA_TYPE, FIELD:DATA_TYPE. Si usas un archivo de esquema, no añadas ninguna extensión al nombre de archivo.Por ejemplo:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--service_account_name=SERVICE_ACCOUNTEspecifica una cuenta de servicio que se usará como credencial para una configuración de transferencia.
--set_label=KEY:VALUEEspecifica una etiqueta que se va a actualizar. Para actualizar varias etiquetas, repite esta marca.
--slots=NUMBER_OF_BASELINE_SLOTSCuando se usa con las marcas
--capacity_commitmenty--split, especifica el número de ranuras de referencia que se van a dividir de un compromiso de capacidad en un compromiso nuevo. SustituyeRESOURCEpor el ID del compromiso del que quieras hacer una división.Cuando se usa con la marca
--reservation, actualiza el número de espacios publicitarios de una reserva.--source=FILERuta 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 dataset con una propiedad
accessactualizada. El archivo se usa para sobrescribir los controles de acceso del conjunto de datos. El archivo JSON no debe incluir una marca de orden de bytes (BOM).--split={true|false}Si se define como
truey se usa con la marca--capacity_commitment, se especifica que quieres dividir un compromiso de capacidad. Usa la marca--locationpara especificar la ubicación del compromiso del que quieras hacer una división y la marca--slotspara especificar el número de espacios que quieras dividir. SustituyeRESOURCEpor el ID del compromiso del que quieras hacer una división. Para obtener más información, consulta el artículo Dividir un compromiso.--storage_billing_model=BILLING_MODELEspecifica el modelo de facturación del almacenamiento de un conjunto de datos. Asigna el valor
--storage_billing_modelaPHYSICALpara usar bytes físicos al calcular los cargos de almacenamiento o aLOGICALpara 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 del almacenamiento de un conjunto de datos, deberás esperar 14 días para volver a cambiarlo.
--table={true|false}o-t={true|false}Especifica si se debe actualizar una tabla. El valor predeterminado es
false.--target_dataset=DATASETSi se especifica, actualiza el conjunto de datos de destino de una configuración de transferencia.
--time_partitioning_expiration=SECONDSNúmero entero que se actualiza (en segundos) cuando se debe eliminar una partición basada en el tiempo. El tiempo de vencimiento se evalúa como la fecha UTC de la partición más el valor entero. Un número negativo indica que no hay fecha de vencimiento.
--time_partitioning_field=COLUMN_NAMEActualiza el campo que se usa para determinar cómo crear una partición basada en el tiempo. Si la partición basada en el tiempo está habilitada sin este valor, la tabla se particiona en función del tiempo de carga.
--time_partitioning_type=INTERVALEspecifica el tipo de partición. Se debe utilizar uno de los valores indicados a continuación.
DAYHOURMONTHYEAR
No puedes cambiar el tipo de partición de una tabla que ya tengas.
--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 la transferencia. El valor predeterminado es
false.--use_legacy_sql={true|false}Defínelo como
falsepara actualizar la consulta SQL de una vista de SQL antiguo a GoogleSQL. El valor predeterminado se determina en la configuración. Si no se especifica el ajuste de configuración, el valor predeterminado estruey la consulta usa SQL antiguo.--vertex_ai_model_id=VERTEX_AI_MODEL_IDSi se especifica, actualiza el ID del modelo de BigQuery ML que está registrado en el registro de modelos de Vertex AI.
--view=QUERYSi 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 carga y evalúa inmediatamente como un recurso de función definida por el usuario en la consulta SQL de una vista. Repite esta marca para especificar varios archivos.
RESOURCEEl recurso que quieres actualizar.
Para obtener más información sobre el uso del comando bq update, consulta lo siguiente:
- Actualizar propiedades de los conjuntos de datos
- Gestionar tablas
- Actualizar vistas
- Actualizar etiquetas
- Trabajar con transferencias
- Actualizar metadatos de capturas 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 bq.
Sinopsis
bq version
bq wait
Usa el comando bq wait para esperar un número de segundos especificado a que finalice un trabajo. Si no se especifica ningún 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 las siguientes marcas y argumentos:
--fail_on_error={true|false}- Para devolver un valor correcto si el trabajo se ha completado durante el tiempo de espera, aunque haya fallado, asigna el valor
false. El valor predeterminado estrue. Una vez transcurrido el tiempo de espera, el comando se cierra con un error si el trabajo sigue en ejecución o si se ha completado, pero ha fallado. --wait_for_status=STATUSSi se especifica, espera a que se alcance un estado concreto de la tarea antes de salir. Se debe utilizar uno de los valores indicados a continuación.
PENDINGRUNNINGDONE
El valor predeterminado es
DONE.JOBEspecifica el trabajo que se debe esperar. Puedes usar el comando
bq ls --jobs myProjectpara buscar un identificador de tarea.SECONDSEspecifica el número máximo de segundos que se debe esperar hasta que finalice el trabajo. Si introduces
0, el comando sondea si se ha completado el trabajo y devuelve el resultado inmediatamente. Si no especifica un valor entero, el comando espera hasta que finalice el trabajo.