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 es true.

--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 entorno BIGQUERYRC. 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 formato PROJECT:DATASET o DATASET. Si falta la parte PROJECT, se usa el proyecto predeterminado. Puedes anular la configuración predeterminada del proyecto especificando la --project_idmarca.

--debug_mode={true|false}

Si se asigna el valor true, muestra las trazas de pila de las excepciones de Python. El valor predeterminado es false.

--disable_ssl_validation={true|false}

Si se define como true, se habilita la validación del certificado HTTPS. El valor predeterminado es false.

--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 es true, que solicita un nuevo token de OAuth con el ámbito de Drive. Para definir esta marca en false cuando se autentique con una cuenta de usuario, la marca --use_google_auth debe tener el valor false.

--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 es false.

--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 formato
  • sparse: salida de tabla más sencilla
  • prettyjson: formato JSON fácil de leer
  • json: JSON lo más compacto posible
  • csv: formato CSV con encabezado

pretty, sparse y prettyjson están pensados para que los lean personas. json y csv están pensados para que los use otro programa. Si se especifica none, 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 valor true. Por ejemplo, debug_mode no se interrumpe en el depurador y se reduce la frecuencia de impresión informativa. El valor predeterminado es false.

--httplib2_debuglevel=DEBUG_LEVEL

Especifica si se debe mostrar información de depuración HTTP. Si DEBUG_LEVEL es mayor que 0, el comando registra las solicitudes y respuestas del servidor HTTP en stderr, además de los mensajes de error. Si DEBUG_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 y query. 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 comando bq 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 es false.

--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 como true, 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 es true.

--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 es false.

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:

  1. Usando el comando bq get-iam-policy para recuperar el archivo de política (en formato JSON).
  2. Editar el archivo de política.
  3. 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 valor true a la marca --table. El valor predeterminado es false. 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 valor false a la marca global --synchronous_mode. El valor predeterminado es true.
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:

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 es false.

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 es false. 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 es false. 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 es false. 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 comando bq cp --clone.

--snapshot={true|false}

Para crear una captura de tabla de la tabla especificada en el argumento SOURCE_TABLE, asigna el valor true. La tabla base puede ser una tabla estándar, un clon de tabla u otra instantánea de tabla. El valor predeterminado es false. 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 o tab 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 es true, 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 valor true a la marca --table. El valor predeterminado es false. 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 es false. 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 es false. 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 como false, no se insertarán las filas con datos que no coincidan con el esquema de la tabla. El valor predeterminado es false.
--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 como false, el comando falla si hay filas no válidas. El valor predeterminado es false.
--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 es false. Si --autodetect es false 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, consulta load_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 o tab 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 como true 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 valor NEWLINE_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 es false.

Equivalente al valor de WRITE_TRUNCATE para JobConfigurationLoad.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 es false, 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 nuevos
  • ALLOW_FIELD_RELAXATION: permitir que los campos de relajación REQUIRED se NULLABLE

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 el file_set_spec_type es FILE_SYSTEM_MATCH, el archivo se usa directamente como archivo de datos. Si el file_set_spec_type es NEW_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 valor AVRO, asigna el valor true a esta marca para convertir los tipos lógicos en sus tipos correspondientes (como TIMESTAMP) en lugar de usar solo sus tipos sin formato (como INTEGER).

--decimal_target_types=DECIMAL_TYPE

Determina cómo convertir un tipo lógico Decimal. Equivalente a JobConfigurationLoad.decimalTargetTypes. Repite esta marca para especificar varios tipos de destino.

--parquet_enum_as_string={true|false}

Si la marca --source_format está definida como PARQUET y quieres que BigQuery infiera los tipos lógicos de Parquet ENUM como valores STRING, define esta marca como true. El valor predeterminado es false.

--parquet_enable_list_inference={true|false}

Si la marca --source_format tiene el valor PARQUET, esta marca indica si se debe usar la inferencia de esquema para los tipos lógicos LIST 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:

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 es false.
--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 es false.

--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 formato labels.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ógico AND, no OR). Si quieres especificar más de una tripleta, rodea el valor FILTER 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:

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 es false. 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 es false.

--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 es false.

--reservation={true|false}

Para ver todas las reservas de un proyecto y una ubicación determinados, defina este valor en true. El valor predeterminado es false. 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 es false. 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 es false. 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 valor RUN_ATTEMPT_UNSPECIFIED. Para mostrar solo el último intento de ejecución, asigna el valor LATEST. El valor predeterminado es LATEST.

--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 es false.

--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 en true. El valor predeterminado es false.

--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:

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.

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 valor true a esta marca, el comando bq mk no sobrescribirá el recurso. El valor predeterminado es false.

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 o THREE_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 y type.

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 y password.

--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 a PHYSICAL para usar bytes físicos al calcular los cargos de almacenamiento o a LOGICAL 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 es true.
--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 es false. 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 es SCHEMA@FORMAT=URI.
  • El formato del valor SCHEMA es una lista de definiciones de columnas separadas por comas con el formato FIELD:DATA_TYPE, FIELD:DATA_TYPE, etc. Puedes omitir el valor de SCHEMA 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 especificar BUCKET_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.

  • 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 formato gs://bucket_name/[folder_name/]*.Puede especificar varios segmentos proporcionando varias rutas, como gs://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 el file_set_spec_type es FILE_SYSTEM_MATCH, el archivo se usa directamente como archivo de datos. Si el file_set_spec_type es NEW_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 datos INTERVAL. Por ejemplo, especifica 0-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 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.

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 como AVRO, esta marca especifica si se deben convertir los tipos lógicos en sus tipos correspondientes (como TIMESTAMP) en lugar de usar solo sus tipos sin formato (como INTEGER).

--parquet_enable_list_inference={true|false}

Si la parte FORMAT de la marca --external_table_definition se define como PARQUET, esta marca especifica si se debe usar la inferencia de esquema para los tipos lógicos LIST de Parquet.

--parquet_enum_as_string={true|false}

Si la parte FORMAT de la marca --external_table_definition se define como PARQUET, esta marca especifica si se deben inferir los tipos lógicos ENUM de Parquet como valores STRING.

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:
--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ámetro TABLES 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:

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 es 0, 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 es true, 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 o STRINGS, 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 sistema BQ.REFRESH_EXTERNAL_METADATA_CACHE para actualizar la caché.

Debes definir la marca --metadata_cache_mode si defines la marca --max_staleness con el comando bq mk.

--parquet_enable_list_inference={true|false}

Si source_format tiene el valor PARQUET, esta marca especifica si se debe usar la inferencia de esquema para los tipos lógicos LIST de Parquet. El valor predeterminado es false.

--parquet_enum_as_string={true|false}

Si source_format tiene el valor PARQUET, esta marca especifica si se deben inferir los tipos lógicos de Parquet como valores STRING.ENUM El valor predeterminado es false.

--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 el file_set_spec_type es FILE_SYSTEM_MATCH, el archivo se usa directamente como archivo de datos. Si el file_set_spec_type es NEW_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 valor AVRO, esta marca especifica si se deben convertir los tipos lógicos en sus tipos correspondientes (como TIMESTAMP) en lugar de usar solo sus tipos sin formato (como INTEGER). El valor predeterminado es false.

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 es false. 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 es false.
--append_table={true|false}
Para añadir datos a una tabla de destino, selecciona true. El valor predeterminado es false.
--batch={true|false}
Para ejecutar la consulta en modo por lotes, selecciona true. El valor predeterminado es false.
--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 campo labels del recurso JobConfiguration.
  • 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 es false.

--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. Especifique TABLE con el siguiente formato: PROJECT:DATASET.TABLE. Si no se especifica PROJECT, 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 valor SCHEMA es una lista de definiciones de columnas separadas por comas con el formato FIELD: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 es true.

--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 omite TYPE, se asume el tipo STRING. 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 forma column_name,start,end,interval, donde

  • 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

--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 es false.

--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 valor true. El valor predeterminado es false.

--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 campos REQUIRED relajantes se NULLABLE.

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 es true.

--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 es true 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:

  1. Usa el comando bq get-iam-policy para recuperar el archivo de política (en formato JSON).
  2. Editar el archivo de política.
  3. 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 es false.

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 sustituye RESOURCE 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 es false.
--force={true|false} o -f={true|false}
Para eliminar un recurso sin que se te pida confirmación, selecciona true. El valor predeterminado es false.
--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 es false.
--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 es false.
--reservation={true|false}
Para eliminar una reserva, selecciona true. El valor predeterminado es false.
--reservation_assignment={true|false}
Para eliminar una asignación de reserva, selecciona true. El valor predeterminado es false.
--routine={true|false}
Para eliminar una rutina, selecciona true. El valor predeterminado es false. 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 es false.
--transfer_config={true|false}
Para eliminar una configuración de transferencia, selecciona true. El valor predeterminado es false.
RESOURCE
El recurso que quieras quitar.

Para obtener más información sobre el uso del comando bq rm, consulta lo siguiente:

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 es false.
--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 es false. 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 es false. 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 es false.
--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 es false. Ú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 es false.
--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 es false.
--reservation={true|false}
Para mostrar información sobre una reserva, selecciona true. El valor predeterminado es false.
--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 es false.
--routine={true|false}
Para mostrar información sobre una rutina, activa true. El valor predeterminado es false. 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 es false.
--transfer_config={true|false}
Para mostrar información sobre una configuración de transferencia, selecciona true. El valor predeterminado es false.
--transfer_run={true|false}
Para mostrar información sobre una ejecución de transferencia, elija true. El valor predeterminado es false.
--view={true|false}
Para mostrar información sobre una vista, selecciona true. El valor predeterminado es false.
RESOURCE
El recurso cuya información quieres mostrar.

Para obtener más información sobre el uso del comando bq show, consulta lo siguiente:

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 es false.
--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 es false.
--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. Especifica 0 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 argumento SECONDS.

--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 valor SCHEMA es una lista de definiciones de columnas separadas por comas con el formato FIELD: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 valor true. El valor predeterminado es false. 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.

--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 a true. Define la marca --capacity_commitment como true, especifica la ubicación de los compromisos que quieras combinar con la marca --location y sustituye RESOURCE 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é. Especifica MANUAL 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 es false.

--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. Sustituye PLAN 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. Sustituye PLAN 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. Sustituye RESOURCE 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. Sustituye RESOURCE 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 a PHYSICAL para usar bytes físicos al calcular los cargos de almacenamiento o a LOGICAL 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 es true 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:

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 es true. 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.