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 de BigQuery.
Está pensada para usuarios que conocen BigQuery, pero quieren saber cómo usar un comando concreto de la herramienta de línea de comandos bq.
Para obtener información general sobre cómo usar la herramienta de línea de comandos bq, consulta el artículo Usar la herramienta de línea de comandos bq.
Sinopsis
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.
Marcas booleanas
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 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.
Ayuda online
La documentación está disponible en la herramienta de línea de comandos bq, como se indica a continuación:
Descripción | Formato del comando de ayuda | Ejemplo |
---|---|---|
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 |
Especificación de recursos
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.
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=FILE
Registra 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=PATH
Especifica 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=PATH
Especifica la ubicación del archivo de tu servicio de autoridad de certificación (AC).
--dataset_id=DATASET_ID
Especifica 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_ID
argumento con el formatoPROJECT:DATASET
oDATASET
. Si falta la partePROJECT
, se usa el proyecto predeterminado. Puedes anular la configuración predeterminada del proyecto especificando la--project_id
marca.--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=PATH
Especifica 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 enfalse
cuando se autentique con una cuenta de usuario, la marca--use_google_auth
debe 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=FORMAT
Especifica 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
,sparse
yprettyjson
están pensados para que los lean personas.json
ycsv
está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
bq
sin interacción del usuario, defina el valortrue
. Por ejemplo,debug_mode
no se interrumpe en el depurador y se reduce la frecuencia de impresión informativa. El valor predeterminado esfalse
.--httplib2_debuglevel=DEBUG_LEVEL
Especifica si se debe mostrar información de depuración HTTP. Si
DEBUG_LEVEL
es mayor que0
, el comando registra las solicitudes y respuestas del servidor HTTP en stderr, además de los mensajes de error. SiDEBUG_LEVEL
no 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_ID
Especifica un identificador de trabajo para un nuevo trabajo. Esta marca solo se aplica a los comandos que crean trabajos:
cp
,extract
,load
yquery
. 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:VALUE
Par clave-valor que se incluirá en el campo properties de la configuración de la tarea. Repite esta marca para especificar propiedades adicionales.
--location=LOCATION
Cadena que corresponde a una ubicación de una región o multirregión. La marca de ubicación es obligatoria para el comando
bq cancel
y para el comandobq show
cuando se usa la marca--jobs
para mostrar información sobre las tareas. La marca de ubicación es opcional para los siguientes comandos:query
cp
load
extract
partition
update
wait
mk
cuando uses las opciones--dataset
,--reservation
,--capacity_commitment
o--reservation_assignment
ls
al usar las marcas--reservation
,--capacity_commitment
o--reservation_assignment
Todos los demás comandos ignoran la marca
--location
.--max_rows_per_request=MAX_ROWS
Número entero que especifica el número máximo de filas que se deben devolver por lectura.
--project_id=PROJECT
Especifica el proyecto que se va a usar para los comandos.
--proxy_address=PROXY
Especifica el nombre o la dirección IP del host proxy que se va a usar para conectarse a Google Cloud.
--proxy_password=PASSWORD
Especifica la contraseña que se debe usar al autenticarse con el host proxy.
--proxy_port=PORT
Especifica el número de puerto que se usará para conectarse al host proxy.
--proxy_username=USERNAME
Especifica 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:TOKEN
Especifica un token de seguimiento que se incluirá en las solicitudes a la API.
--use_regional_endpoints={true|false}
En vista previa. Para conectarte a un endpoint regional, asigna el valor
true
a la marca--use_regional_endpoints
y 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-policy
para recuperar el archivo de política (en formato JSON). - Editar el archivo de política.
- Usar el comando
bq set-iam-policy
para 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:MEMBER
Obligatorio. Usa la marca
--member
para especificar la parte del miembro de la vinculación de la política de gestión de identidades y accesos. La marca--member
es obligatoria junto con la marca--role
. Una combinación de las marcas--member
y--role
equivale a un enlace.El valor
MEMBER_TYPE
especifica 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.user
serviceAccount
group
domain
El valor
MEMBER
especifica la dirección de correo o el dominio del miembro en la vinculación de la política de gestión de identidades y accesos.--role=ROLE
Obligatorio. Especifica la parte del rol de la vinculación de la política de gestión de identidades y accesos. La marca
--role
es obligatoria junto con la marca--member
. Una combinación de las marcas--member
y--role
equivale a un enlace.--table={true|false}
Para devolver un error si el argumento
RESOURCE
no es un identificador de tabla o vista, asigna el valortrue
a la marca--table
. El valor predeterminado esfalse
. Esta marca se admite para mantener la coherencia con otros comandos.RESOURCE
La 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 valorfalse
a 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=true
y--clone=true
al 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=true
ni--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=true
y--clone=true
al mismo tiempo.--destination_kms_key=KEY
Especifica 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=SECONDS
Nú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 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 cp
o 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=true
ni--snapshot=true
, la tabla de destino será del mismo tipo que la tabla base. Requiere la marca--no_clobber
.SOURCE_TABLE
La tabla que quieras copiar.
DESTINATION_TABLE
La 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_TYPE
Especifica el tipo de compresión que se va a usar en los archivos exportados. Los valores posibles son los siguientes:
GZIP
DEFLATE
SNAPPY
NONE
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=FORMAT
Especifica el formato de los datos exportados. Los valores posibles son los siguientes:
CSV
NEWLINE_DELIMITED_JSON
AVRO
PARQUET
El valor predeterminado es
CSV
.--field_delimiter=DELIMITER
En 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
\t
otab
para especificar delimitadores de tabulación.--print_header={true|false}
Para suprimir la impresión de las filas de encabezado de los formatos que tienen encabezados, defina el valor
false
. El valor predeterminado estrue
, por lo que se incluyen las filas de encabezado.RESOURCE
La tabla de la que vas a exportar los datos.
DESTINATION
La 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
RESOURCE
no es un identificador de tabla o de vista, asigna el valortrue
a 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,RESOURCE
se trata como un identificador de reserva. La reserva puede tener prefijos de proyecto y 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--autodetect
esfalse
y no se especifica ningún esquema mediante la marca--schema
y la tabla de destino existe, se usa el esquema de la tabla de destino. --clustering_fields=COLUMNS
- Lista separada por comas de hasta cuatro nombres de columna que especifica los campos que se van a usar para el agrupamiento de tablas.
--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
--autodetect
para 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
\t
otab
para especificar los delimitadores de tabulación. --ignore_unknown_values={true|false}
- Si se asigna el valor
true
a 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 comotrue
para 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_TYPE
Especifica 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_format
debe tener el valorNEWLINE_DELIMITED_JSON
.Para obtener más información, consulta Cargar archivos GeoJSON delimitados por saltos de línea.
--max_bad_records=MAX
Un 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=STRING
Cadena personalizada opcional que representa un valor
NULL
en datos CSV.--projection_fields=PROPERTY_NAMES
Si asignas el valor
DATASTORE_BACKUP
a--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 propiedad 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=CHARACTER
Especifica un carácter de comillas para delimitar los campos de los datos CSV. El argumento
CHARACTER
puede 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_TRUNCATE
paraJobConfigurationLoad.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
, etc. Si usas un archivo de esquema, no le asignes ninguna extensión.Por ejemplo:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
Si no se especifica ningún esquema y
--autodetect
esfalse
, y la tabla de destino existe, se usa el esquema de la tabla de destino.--schema_update_option=OPTION
Cuando 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ónREQUIRED
seNULLABLE
Repite esta marca para especificar varias opciones de actualización de esquemas.
--skip_leading_rows=NUMBER_OF_ROWS
Nú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_TYPE
Especifica 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_type
esFILE_SYSTEM_MATCH
, el archivo se usa directamente como archivo de datos. Si elfile_set_spec_type
esNEW_LINE_DELIMITED_MANIFEST
, cada línea del archivo se interpreta como un URI que apunta a un archivo de datos.--source_format=FORMAT
El formato de los datos de origen. Se debe utilizar uno de los valores indicados a continuación.
CSV
NEWLINE_DELIMITED_JSON
AVRO
DATASTORE_BACKUP
(usa este valor en Filestore)PARQUET
ORC
--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 hay fecha de vencimiento.
--time_partitioning_field=COLUMN_NAME
Especifica 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 de la hora de carga.
--time_partitioning_type=INTERVAL
Habilita 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.
DAY
HOUR
MONTH
YEAR
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_format
tiene el valorAVRO
, asigna el valortrue
a 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_TYPE
Determina 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_format
está definida comoPARQUET
y quieres que BigQuery infiera los tipos lógicos de ParquetENUM
como valoresSTRING
, define esta marca comotrue
. El valor predeterminado esfalse
.--parquet_enable_list_inference={true|false}
Si la marca
--source_format
tiene el valorPARQUET
, esta marca indica si se debe usar la inferencia de esquema para los tipos lógicosLIST
de Parquet.--reference_file_schema_uri=URI
Especifica 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_TABLE
La tabla en la que quieres cargar los datos.
SOURCE_DATA
El URI de Cloud Storage del archivo que contiene los datos que quieres cargar.
SCHEMA
Esquema 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
true
y usa la marca--location
para 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,
FILTER
consta 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 valorFILTER
con 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
dataSourceIds
como 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:
SUCCEEDED
FAILED
PENDING
RUNNING
CANCELLED
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:
RUNNING
PENDING
DONE
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_token
para 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_TYPE
Para mostrar solo los mensajes de registro de una transferencia de un tipo concreto, especifica
messageTypes:MESSAGE_TYPE
. Los valores posibles son los siguientes:INFO
WARNING
ERROR
--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=TOKEN
o-k=TOKEN
Muestra 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 ver 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_id
y--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_id
y--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_policies
Cuando 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_ATTEMPT
Se 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, asigna el valorLATEST
. 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_location
y--project_id
. El valor predeterminado esfalse
.--transfer_location=LOCATION
Lista 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
RESOURCE
La 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.--dataset
o-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.--table
o-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 valortrue
a esta marca, el comandobq mk
no 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_TYPE
Especifica el tipo de plan de compromiso. Debe tener uno de los siguientes valores:
ANNUAL
THREE_YEAR
Los clientes que usen los precios de tarifa plana antiguos también pueden usar uno de los siguientes valores:
FLEX
MONTHLY
ANNUAL
--renewal_plan=RENEWAL_TYPE
Especifica el tipo de plan de renovación. Obligatorio para los planes de compromiso de
ANNUAL
oTHREE_YEAR
. Debe ser uno de los siguientes:ANNUAL
THREE_YEAR
NONE
Los clientes que usen los precios de tarifa plana antiguos también pueden usar uno de los siguientes valores:
FLEX
MONTHLY
ANNUAL
--project_id=PROJECT_ID
Especifica el proyecto que administra las ranuras.
--slots=NUMBER_OF_BASELINE_SLOTS
Especifica el número de ranuras básicas que se van a comprar.
--edition=EDITION
La edición asociada al compromiso de capacidad. Debe ser una de las siguientes:
ENTERPRISE
ENTERPRISE_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_SQL
para las conexiones de Cloud SQL. --properties=PROPERTIES
Parámetros específicos de la conexión en formato JSON. Deben especificarse
instanceId
,database
ytype
.Si creas una conexión de Spanner y quieres usar Data Boost, incluye los pares
"useParallelism":true
y"useDataBoost":true
.--connection_credential=CONNECTION_CREDENTIAL
Las credenciales de la conexión en formato JSON. Se deben especificar
username
ypassword
.--project_id=PROJECT_ID
Especifica el ID del proyecto al que pertenece la conexión.
--location=LOCATION
Especifica la ubicación en la que se almacenará la conexión.
--display_name=DISPLAY_NAME
Especifica un nombre descriptivo opcional para la conexión.
--description=DESCRIPTION
Especifica una descripción opcional de la conexión.
--iam_role_id=ROLE_ID
En 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 AWS IAM 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_ID
En BigQuery Omni en Azure, especifica el ID de propietario del directorio de Azure que contiene la cuenta de almacenamiento de Azure.
CONNECTION_ID
Especifica 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_expiration
cuando 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=LOCATION
o--data_location=LOCATION
- Especifica la ubicación del conjunto de datos. Prefiere la marca
--location
porque la marca--data_location
es 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_hours
debe 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_MODEL
Especifica el modelo de facturación del almacenamiento de un conjunto de datos. Asigna el valor
--storage_billing_model
aPHYSICAL
para usar bytes físicos al calcular los cargos de almacenamiento o aLOGICAL
para usar bytes lógicos.LOGICAL
es 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:
STANDARD
ENTERPRISE
ENTERPRISE_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_MODE
Modo de escalado de la reserva. Debe ser una de las siguientes:
IDLE_SLOTS_ONLY
ALL_SLOTS
AUTOSCALE_ONLY
SCALING_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:
FOLDER
ORGANIZATION
PROJECT
--job_type=JOB_TYPE
- Especifica el tipo de trabajo que se asignará a la reserva. Una de las siguientes:
QUERY
PIPELINE
ML_EXTERNAL
BACKGROUND
--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 asignar 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 la creación de particiones, la tabla se particiona primero y, después, 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=STRING
Especifica 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
DEFINITION
esSCHEMA@FORMAT=URI
. El formato del valor
SCHEMA
es una lista de definiciones de columnas separadas por comas con el formatoFIELD:DATA_TYPE, FIELD:DATA_TYPE
, etc. Puedes omitir el valor deSCHEMA
si el formato de los datos es autodescriptivo (como Avro) o si usas la detección automática de esquemas.El valor de
FORMAT
especifica el formato de los datos. Puede ser uno de los siguientes:AVRO
CSV
DATASTORE_BACKUP
(usa este valor en Filestore)ICEBERG
NEWLINE_DELIMITED_JSON
ORC
PARQUET
Si especifica un archivo de definición de tabla, no le asigne ninguna extensión.
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
FORMAT
especifica el formato de los datos. Puede ser uno de los siguientes:AVRO
CSV
NEWLINE_DELIMITED_JSON
ICEBERG
ORC
PARQUET
BUCKET_PATH
es la ruta a uno o varios archivos de Cloud Storage que contienen los datos de la tabla de BigLake. Puede especificarBUCKET_PATH
en 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
REGION
especifica la región o multirregión que contiene la conexión.El valor
CONNECTION_NAME
especifica 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_PATH
es 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 el uso de comodines, consulta Comodines de URI.El valor
REGION
especifica la región o multirregión que contiene la conexión.El valor
CONNECTION_NAME
especifica 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_TYPE
Especifica 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_type
esFILE_SYSTEM_MATCH
, el archivo se usa directamente como archivo de datos. Si elfile_set_spec_type
esNEW_LINE_DELIMITED_MANIFEST
, cada línea del archivo se interpreta como un URI que apunta a un archivo de datos.--reference_file_schema_uri=URI
Especifica 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:VALUE
Especifica una etiqueta para la tabla. Repite esta marca para especificar varias etiquetas.
--max_staleness=INTERVAL
Especifica si las operaciones de la tabla usan metadatos almacenados en caché y cuánto tiempo deben estar actualizados 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:S
descrito en la documentación del tipo de datosINTERVAL
. Por ejemplo, especifica0-0 0 4:0:0
para 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=STRING
Asigna el valor
SIMPLE
a esta marca al crear una tabla de objetos.Solo se requiere cuando se crea una tabla de objetos.
--range_partitioning=COLUMN_NAME,START,END,INTERVAL
Especifica las opciones de una partición de intervalo de números enteros, de la siguiente manera:
column_name
es la columna que se usa para crear las particiones de intervalos de números enteros.start
es el inicio de la partición por intervalo (inclusive).end
es el final de la partición por intervalo (exclusivo).interval
es 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
, etc. Si usas un archivo de esquema, no le asignes ninguna extensión.Ejemplos:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--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 hay fecha de vencimiento.
--time_partitioning_field=COLUMN_NAME
Especifica 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=INTERVAL
Habilita 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.
DAY
HOUR
MONTH
YEAR
--use_avro_logical_types={true|false}
Si la parte
FORMAT
de la marca--external_table_definition
se 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
FORMAT
de la marca--external_table_definition
se define comoPARQUET
, esta marca especifica si se debe usar la inferencia de esquema para los tipos lógicosLIST
de Parquet.--parquet_enum_as_string={true|false}
Si la parte
FORMAT
de la marca--external_table_definition
se define comoPARQUET
, esta marca especifica si se deben inferir los tipos lógicosENUM
de 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ámetroTABLES
es una lista separada por comas de las tablas que se van a incluir 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 preexistente.
Ejemplos
bq mk --transfer_run \ --run_time=2021-01-20T17:00:00.00Z \ projects/p/locations/l/transferConfigs/c
bq mk --transfer_run \ --start_time=2020-12-19T16:39:57-08:00 \ --end_time=2020-12-19T20:39:57-08:00 \ projects/p/locations/l/transferConfigs/c
bq mk --view
Crea una vista. Se admiten las siguientes marcas:
--add_tags=TAGS
- Especifica las etiquetas que 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
SECONDS
es0
, 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
false
para 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 va a usar para la autenticación.
--hive_partitioning_mode
Especifica 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_prefix
Especifica 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
CUSTOM
para 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.avro
gs://bucket/path_to_table/dt=2019-05-31/country=CA/id=3/file.avro
Si usas los modos
AUTO
oSTRINGS
, puedes usar los siguientes valores:gs://bucket/path_to_table
gs://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=STRING
Especifica 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
MANUAL
si 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_CACHE
para actualizar la caché.Debes definir la marca
--metadata_cache_mode
si defines la marca--max_staleness
con el comandobq mk
.--parquet_enable_list_inference={true|false}
Si
source_format
tiene el valorPARQUET
, esta marca especifica si se debe usar la inferencia de esquema para los tipos lógicosLIST
de Parquet. El valor predeterminado esfalse
.--parquet_enum_as_string={true|false}
Si
source_format
tiene el valorPARQUET
, esta marca especifica si se deben inferir los tipos lógicos de Parquet como valoresSTRING
.ENUM
El valor predeterminado esfalse
.--file_set_spec_type=FILE_SET_SPEC_TYPE
Especifica 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_type
esFILE_SYSTEM_MATCH
, el archivo se usa directamente como archivo de datos. Si elfile_set_spec_type
esNEW_LINE_DELIMITED_MANIFEST
, cada línea del archivo se interpreta como un URI que apunta a un archivo de datos.--source_format=FORMAT
Especifica el formato de los datos de origen. Se debe utilizar uno de los valores indicados a continuación.
AVRO
CSV
DATASTORE_BACKUP
(usa este valor en Filestore)GOOGLE_SHEETS
NEWLINE_DELIMITED_JSON
ORC
PARQUET
El valor predeterminado es
CSV
.--use_avro_logical_types={true|false}
Si la marca
--source_format
tiene 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 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 hay fecha de vencimiento.
--time_partitioning_type=INTERVAL
Especifica el tipo de partición. En la siguiente tabla se muestran los valores posibles de la marca
INTERVAL
y el formato de sufijo de unidad de tiempo esperado para cada uno:INTERVAL
Sufijo HOUR
YYYYMMDDHH
DAY
YYYYMMDD
MONTH
YYYYMM
YEAR
YYYY
SOURCE_TABLE_BASE_NAME
Nombre base del grupo de tablas con sufijos de unidad de tiempo.
PARTITION_TABLE
Nombre 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 columnas que especifica los campos que se van a usar para agrupar la tabla de destino en una consulta. Si se especifica con partitioning, la tabla se particiona primero y, a continuación, cada partición se agrupa en clústeres mediante las columnas proporcionadas.
--connection_property=KEY=VALUE
Un 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_id
variable 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 campolabels
del 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=KEY
Especifica 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_table
y 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=TABLE
Si se especifica, los resultados de la consulta se guardan en
TABLE
. EspecifiqueTABLE
con 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 valorSCHEMA
es una lista de definiciones de columnas separadas por comas con el formatoFIELD:DATA_TYPE, FIELD:DATA_TYPE
, y así sucesivamente. Si utilizas un archivo de definición de tabla, no le asignes ninguna extensión.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:VALUE
Especifica una etiqueta para la tarea de consulta. Repite esta marca para especificar varias etiquetas.
--max_rows=MAX_ROWS
o-n=MAX_ROWS
Nú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_BYTES
Nú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=VALUE
Nú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
.NULL
especifica un valor nulo. Repite esta marca para especificar varios parámetros.Por ejemplo:
--parameter=/tmp/queryParams
--parameter=Name::Oscar
--parameter=Count:INTEGER:42
--range_partitioning=COLUMN_NAME,START,END,INTERVAL
Se 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_name
es la columna que se usa para crear las particiones de intervalos de números enteros.start
es el inicio de la partición por intervalo (inclusive).end
es el final de la partición por intervalo (exclusivo).interval
es 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.insert
de 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=OPTION
Cuando 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 camposREQUIRED
relajantes seNULLABLE
.
Repite esta marca para especificar varias opciones de actualización de esquemas.
--start_row=ROW_NUMBER
o-s=ROW_NUMBER
Número entero que especifica la primera fila que se debe devolver en el resultado de la consulta. El valor predeterminado es
0
.--target_dataset=DATASET
Cuando 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=SECONDS
Se 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_NAME
Se 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=INTERVAL
Se 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.DAY
HOUR
MONTH
YEAR
--udf_resource=FILE
Esta 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 estrue
y 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.
QUERY
La 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-policy
para recuperar el archivo de política (en formato JSON). - Editar el archivo de política.
- Usa el comando
bq set-iam-policy
para 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:MEMBER
Obligatorio. Usa la marca
--member
para especificar la parte del miembro de la vinculación de la política de gestión de identidades y accesos. La marca--member
es obligatoria junto con la marca--role
. Una combinación de las marcas--member
y--role
equivale a un enlace.El valor
MEMBER_TYPE
especifica 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.user
serviceAccount
group
domain
El valor
MEMBER
especifica la dirección de correo o el dominio del miembro en la vinculación de la política de gestión de identidades y accesos.--role=ROLE
Obligatorio. Especifica la parte del rol de la vinculación de la política de gestión de identidades y accesos. La marca
--role
es obligatoria junto con la marca--member
. Una combinación de las marcas--member
y--role
equivale 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--location
y sustituyeRESOURCE
por 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,RESOURCE
se trata como un identificador de reserva. La reserva puede tener prefijos de proyecto y 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_type
para 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:FOLDER
ORGANIZATION
PROJECT
--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:QUERY
PIPELINE
ML_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, selecciona
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 principal. Cuando se usa esta marca, se aplican las marcas--job_type
,--assignee_type
y--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
--reservation
y 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
,--split
y--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:VALUE
para 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=SECONDS
Nú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_expiration
al 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. Especifica0
para quitar una caducidad.--default_table_expiration=SECONDS
Nú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
0
para quitar la caducidad.--description=DESCRIPTION
Actualiza la descripción de un conjunto de datos, una tabla, una captura de tabla, un modelo o una vista.
--destination_reservation_id=RESERVATION_ID
Cuando 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_NAME
Actualiza el nombre visible de una configuración de transferencia.
--etag=ETAG
Actúa como filtro. Actualiza el recurso solo si tiene un ETag que coincida con la cadena especificada en el argumento
ETAG
.--expiration SECONDS
Para actualizar el vencimiento de la tabla, el modelo, la instantánea de la tabla o la vista, incluye esta marca. Sustituye
SECONDS
por 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 valorSCHEMA
es una lista de definiciones de columnas separadas por comas con el formatoFIELD:DATA_TYPE, FIELD:DATA_TYPE
. Si usa un archivo de definición de tabla, no le asigne ninguna extensión.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=INTERVAL
Especifica 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=HOURS
Especifica la duración en horas del periodo de viaje en el tiempo del conjunto de datos. El valor de
--max_time_travel_hours
debe 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
--merge
atrue
. Define la marca--capacity_commitment
comotrue
, especifica la ubicación de los compromisos que quieras combinar con la marca--location
y sustituyeRESOURCE
por 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_MODE
Habilita la caché de metadatos de una tabla externa con una conexión. Se debe utilizar uno de los siguientes valores:
AUTOMATIC
MANUAL
Especifica
AUTOMATIC
para actualizar automáticamente los metadatos almacenados en caché. EspecificaMANUAL
para 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=PLAN
Cuando se usa con la marca
--capacity_commitment
, convierte un compromiso de capacidad en el plan de compromiso de mayor duración especificado. SustituyePLAN
por una de las siguientes opciones:ANNUAL
THREE_YEAR
--refresh_window_days=DAYS
Número entero que especifica una ventana de actualización actualizada (en días) para una configuración de transferencia.
--remove_tags=TAG_KEYS
Solo 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=PLAN
Cuando se usa con la marca
--capacity_commitment
, actualiza el plan de renovación de un compromiso de capacidad anual. SustituyePLAN
por una de las siguientes opciones:ANNUAL
THREE_YEAR
NONE
Los clientes que usen los precios de tarifa plana antiguos también pueden usar uno de los siguientes valores:
FLEX
MONTHLY
ANNUAL
--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
, etc. Si usas un archivo de esquema, no le asignes ninguna extensión.Por ejemplo:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--service_account_name=SERVICE_ACCOUNT
Especifica una cuenta de servicio que se usará como credencial para una configuración de transferencia.
--set_label=KEY:VALUE
Especifica una etiqueta que se va a actualizar. Para actualizar varias etiquetas, repite esta marca.
--slots=NUMBER_OF_BASELINE_SLOTS
Cuando se usa con las marcas
--capacity_commitment
y--split
, especifica el número de ranuras de referencia que se van a dividir de un compromiso de capacidad en un compromiso nuevo. SustituyeRESOURCE
por 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=FILE
Ruta a un archivo JSON local que contiene una carga útil usada para actualizar un recurso. Por ejemplo, puedes usar esta marca para especificar un archivo JSON que contenga un recurso dataset con una propiedad
access
actualizada. 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
true
y se usa con la marca--capacity_commitment
, se especifica que quieres dividir un compromiso de capacidad. Usa la marca--location
para especificar la ubicación del compromiso del que quieras hacer una división y la marca--slots
para especificar el número de espacios que quieras dividir. SustituyeRESOURCE
por 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_MODEL
Especifica el modelo de facturación del almacenamiento de un conjunto de datos. Asigna el valor
--storage_billing_model
aPHYSICAL
para usar bytes físicos al calcular los cargos de almacenamiento o aLOGICAL
para 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=DATASET
Si se especifica, actualiza el conjunto de datos de destino de una configuración de transferencia.
--time_partitioning_expiration=SECONDS
Nú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_NAME
Actualiza 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 de la hora de carga.
--time_partitioning_type=INTERVAL
Especifica el tipo de partición. Se debe utilizar uno de los valores indicados a continuación.
DAY
HOUR
MONTH
YEAR
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
false
para 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 estrue
y la consulta usa SQL antiguo.--vertex_ai_model_id=VERTEX_AI_MODEL_ID
Si se especifica, actualiza el ID del modelo de un modelo de BigQuery ML registrado en Vertex AI Model Registry.
--view=QUERY
Si se especifica, actualiza la consulta de SQL de una vista.
--view_udf_resource=FILE
Actualiza 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.
RESOURCE
El 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 curso o si se ha completado, pero ha fallado. --wait_for_status=STATUS
Si 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.
PENDING
RUNNING
DONE
El valor predeterminado es
DONE
.JOB
Especifica el trabajo que se debe esperar. Puedes usar el comando
bq ls --jobs myProject
para encontrar un identificador de tarea.SECONDS
Especifica 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.