Referencia de la herramienta de línea de comandos

En este documento, se describen en detalle los comandos y las marcas de la herramienta de línea de comandos de bq. Para obtener información sobre el uso de la CLI, consulta Cómo usar la herramienta de línea de comandos de bq.

Marcas globales

Puedes usar las siguientes marcas globales con la herramienta de línea de comandos de bq.

Marcas de autorización de bq [OBSOLETAS]

Las marcas de autorización de bq se dieron de baja. Si deseas configurar la autorización para la herramienta de línea de comandos de bq, consulta Autorización de las herramientas del SDK de Cloud.

--application_default_credential_file
Si deseas obtener más información, consulta Configura la autenticación para aplicaciones de producción de servidor a servidor. El valor predeterminado es ''.
--credential_file
El nombre de archivo que se usa para almacenar tu token de OAuth. El valor predeterminado es $HOME/.bigquery.v2.token.
--service_account
Utiliza esta dirección de correo electrónico de cuenta de servicio para la autorización. Por ejemplo: 1234567890@developer.gserviceaccount.com. El valor predeterminado es ''.
--service_account_credential_file
El archivo que se utiliza como almacén de credenciales para cuentas de servicio. Esta marca se debe configurar si utilizas una cuenta de servicio.
--service_account_private_key_file
El archivo que contiene la clave privada de la cuenta de servicio. Esta marca es obligatoria si se especifica la marca --service_account. El valor predeterminado es ''.
--service_account_private_key_password
La contraseña de la clave privada. La contraseña debe coincidir con la que configuraste para la clave en el momento de su creación. El valor predeterminado es notasecret.
--use_gce_service_account
Especifica esta marca para usar las credenciales de la cuenta de servicio, en lugar de las credenciales almacenadas, cuando ejecutes una instancia de Google Compute Engine. Si deseas obtener más información, consulta Cómo crear y habilitar cuentas de servicio para instancias. El valor predeterminado es false.

Marcas globales de bq

--api
El extremo de API al cual se llamará. El valor predeterminado es https://www.googleapis.com.

--api_version La versión de API que se usará. El valor predeterminado es v2.

--apilog
Registra todas las solicitudes y respuestas de API en el archivo que especifica esta marca. También puedes usar stdout y stderr. Si especificas la string vacía (''), se hará un direccionamiento a stdout.
--bigqueryrc
La ruta al archivo de configuración de la herramienta de línea de comandos. El archivo de configuración especifica nuevos valores predeterminados para todas las marcas. Esto se puede anular mediante la especificación de la marca en la línea de comandos. Si no se especifica la marca --bigqueryrc, se usa la variable de entorno BIGQUERYRC. Si eso no se especifica, se usa la ruta ~/.bigqueryrc. El valor predeterminado es $HOME/.bigqueryrc.
--ca_certificates_file
La ubicación de tu archivo de Certificado de CA. El valor predeterminado es ''.
--dataset_id
El conjunto de datos predeterminado que se usa para las solicitudes. Esta marca se ignora cuando no es aplicable. Puedes configurar el valor en [PROJECT_ID]:[DATASET] o [DATASET]. Si falta [PROJECT_ID], se usa el proyecto predeterminado. Puedes anular esta configuración si especificas la marca --project_id. El valor predeterminado es ''.
--debug_mode
Muestra objetos traceback en las excepciones de Python. El valor predeterminado es false.
--disable_ssl_validation
Inhabilita la validación del certificado HTTPS. El valor predeterminado es false.
--discovery_file
El nombre del archivo JSON que se debe leer para la detección. El valor predeterminado es ''.
--enable_gdrive
Cuando se configura en true, se solicita un token de OAuth nuevo con alcance de GDrive. Cuando se configura en false, se solicita un token de OAuth nuevo sin alcance de GDrive.
--fingerprint_job_id
Determina si se utiliza un ID de trabajo derivado de una huella digital de la configuración del trabajo. Esto impide que se ejecute varias veces el mismo trabajo de forma accidental. El valor predeterminado es false.
--flagfile
Cuando se especifica, las definiciones de marcas del archivo proporcionado se insertan en la herramienta de línea de comandos. El valor predeterminado es ''.
--format

Especifica el formato del resultado del comando. Incluye las siguientes opciones:

  • pretty: el resultado es una tabla con formato
  • sparse: el resultado es una tabla más simple
  • prettyjson: formato JSON fácil de leer
  • json: JSON lo más compacto posible
  • csv: formato csv con encabezado

Las opciones pretty, sparse y prettyjson están diseñadas para que las pueda leer un ser humano. En cambio, json y csv están pensadas para pasarlas a otro programa. Si se especifica none, el comando no produce ningún resultado. Si la marca --format está ausente, se elige un formato de resultado apropiado según el comando.

--headless

Especifica si se debe ejecutar la sesión de bq sin interacción del usuario. Cuando se configura en true, la interacción se inhabilita. Por ejemplo, debug_mode no accederá al depurador, y la frecuencia de impresión de la información disminuye. El valor predeterminado es false.

--job_id

El ID de trabajo único que se utilizará para la solicitud. Si no se especifica en una solicitud de creación de trabajo, se genera un ID de trabajo. Esta marca solo se aplica a los comandos que crean trabajos: cp, extract, load y query. Para obtener más información, consulta Genera un ID de trabajo.

--job_property

Un par clave-valor adicional para incluir en el campo de propiedades de la configuración del trabajo. Repite esta marca para especificar propiedades adicionales.

--location

Una string correspondiente a tu región o ubicación multirregión. La marca de ubicación es obligatoria para los comandos cancel y show (cuando usas la marca -j a fin de mostrar información sobre los trabajos). La marca de ubicación es opcional para los siguientes comandos:

Todos los demás comandos ignoran la marca --location.

--max_rows_per_request

Un número entero que especifica la cantidad máxima de filas que se mostrarán por lectura.

--project_id

El ID del proyecto que se utilizará para las solicitudes. El valor predeterminado es ''.

--proxy_address

El nombre o la dirección IP del host del proxy que se usará para conectarse a GCP. El valor predeterminado es ''.

--proxy_password

La contraseña que se utilizará cuando te autentiques con el host del proxy. El valor predeterminado es ''.

--proxy_port

El número de puerto que se utilizará para conectarse al host del proxy. El valor predeterminado es ''.

--proxy_username

El nombre de usuario que se usará cuando te autentiques con el host del proxy. El valor predeterminado es ''.

--quiet o -q

Si se configura en true, ignora las actualizaciones de estado mientras los trabajos estén ejecutándose. El valor predeterminado es false.

--synchronous_mode o -sync

Si se configura en true, espera a que se complete el comando antes de mostrar el trabajo y usa el estado de finalización del trabajo como código de error. Si se configura en false, el trabajo se crea y el estado de finalización correcta se utiliza para el código de error. El valor predeterminado es true.

--trace

Un token de seguimiento que se especifica como token:[TOKEN] para incluir en las solicitudes a la API.

Marcas específicas del comando

Puedes usar las siguientes marcas de comando en la herramienta de línea de comandos de bq.

bq cancel

El comando cancel se utiliza para cancelar trabajos. No hay marcas específicas para el comando cancel.

Para obtener más información sobre el uso del comando cancel, consulta Cancela trabajos.

El comando cancel utiliza las siguientes marcas globales.

--job_id
El ID de trabajo único que se utilizará para la solicitud de cancelación. Puedes especificar el ID de trabajo sin usar la marca --job_id, por ejemplo: bq cancel [JOB_ID].
--synchronous_mode o --sync
Cuando se especifica, se espera a que se complete el comando antes de que se muestre un resultado. Si se establece en false, el comando muestra un resultado de inmediato. El valor predeterminado es true.

bq cp

El comando cp se utiliza para copiar tablas. El comando cp utiliza las siguientes marcas específicas.

Para obtener más información sobre el uso del comando cp, consulta Copiar tablas.

--append_table o -a
Cuando se especifica, copia una tabla y la agrega a otra existente. El valor predeterminado es false.
--destination_kms_key
La clave de Cloud KMS que se usa para encriptar los datos de la tabla de destino.
--force o -f
Cuando se especifica, si la tabla de destino existe, la reemplaza sin ningún aviso. El valor predeterminado es false.
--no_clobber o -n
Cuando se especifica, si la tabla de destino existe, no la reemplaza. El valor predeterminado es false.

bq extract

El comando extract se usa para exportar datos de una tabla a Google Cloud Storage.

Para obtener más información sobre cómo usar el comando extract, consulta Exporta datos de tablas.

Estas son las marcas que se usan específicamente con el comando extract.

--compression
El tipo de compresión que se utilizará para los archivos exportados. Los valores posibles incluyen GZIP (solo CSV y JSON), DEFLATE (solo Avro), SNAPPY (solo Avro) y NONE. El valor predeterminado es NONE.
--destination_format

El formato de los datos exportados. Entre los valores posibles, se incluyen los siguientes:

  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO

El valor predeterminado es CSV.

--field_delimiter o -F

El carácter que indica el límite entre las columnas del archivo de salida para las exportaciones en formato CSV. Los delimitadores de tabulación pueden indicarse como \t o tab.

--print_header

Cuando se especifica, imprime las filas de encabezado de los formatos que tienen encabezados. El valor predeterminado es true.

bq head

El comando head muestra filas en una tabla.

Si deseas obtener más información sobre el comando head, consulta Examina los datos de las tablas.

Estas son las marcas que se usan específicamente con el comando head.

--job o -j
Especifica esta marca con un ID de trabajo válido para leer los resultados de un trabajo de consulta. El valor predeterminado es false.
--max_rows o -n
Un número entero que indica la cantidad de filas que se imprimirán cuando se muestren los datos de la tabla. El valor predeterminado es 100.
--selected_fields o -c
Una lista separada por comas que indica un subconjunto de campos (incluidos los campos anidados y repetidos) que deben incluirse cuando se muestren los datos de la tabla. Si no se especifica, se recuperan todas las columnas.
--start_row o -s
Un número entero que indica la cantidad de filas que se omitirán antes de mostrar datos de la tabla. El valor predeterminado es 0 (comienza en la primera fila).
--table o -t
Especifica esta marca con un ID de tabla para leer las filas de una tabla. El valor predeterminado es false.

bq insert

El comando insert te permite insertar filas de datos JSON con formato delimitados por saltos de línea utilizando el búfer de transmisión. Este comando debería usarse solo para hacer pruebas. Si quieres transmitir datos a BigQuery, usa el método de API insertAll.

Para obtener más información, consulta Transmite datos a BigQuery.

Estas son las marcas que se usan específicamente con el comando insert.

--ignore_unknown_values o -i
Cuando se especifica, ignora cualquier valor de una fila que no esté presente en el esquema de la tabla.
--skip_invalid_rows o -s
Cuando se especifica, intenta insertar todas las filas válidas, incluso si hay filas que no lo son.
--template_suffix o -x
Cuando se especifica, trata la tabla de destino como una plantilla base y también inserta las filas en una tabla de instancia llamada {destination}{templateSuffix}. BigQuery administra la creación de la tabla de instancias con el esquema de la plantilla base.

bq load

El comando load carga datos en una tabla.

Para obtener más información sobre la carga de datos desde Google Cloud Storage con el comando load, consulta los siguientes recursos:

Si deseas obtener más información sobre cómo cargar datos desde una fuente local con el comando load, consulta cómo cargar datos en BigQuery desde una fuente de datos local.

Estas son las marcas que se usan específicamente con el comando load.

--allow_jagged_rows
Cuando se especifica, permite que falten columnas opcionales finales en los datos de formato CSV.
--allow_quoted_newlines
Cuando se especifica, permite saltos de línea en secciones entrecomilladas en los datos de formato CSV.
--autodetect
Cuando se especifica, habilita la detección automática del esquema para los datos de formato CSV y JSON.
--destination_kms_key
La clave de Cloud KMS para la encriptación de los datos de la tabla de destino.
--encoding o -E
La codificación de caracteres que se utiliza en los datos. Entre los valores posibles, se incluyen los siguientes:
  • ISO-8859-1 (también conocido como Latin-1)
  • UTF-8
--field_delimiter o -F
El carácter que indica el límite entre las columnas en los datos. Los delimitadores de tabulación pueden indicarse como \t o tab.
--ignore_unknown_values
Cuando se especifica, permite y omite valores adicionales no reconocidos en los datos de formato CSV o JSON.
--max_bad_records
Un número entero que especifica la cantidad máxima de registros incorrectos permitidos antes de que falle todo el trabajo. El valor predeterminado es 0. Como máximo, se muestran cinco errores de cualquier tipo, independientemente del valor que se le asigne a --max_bad_records.
--null_marker
Una string personalizada opcional que representa un valor NULL en los datos de formato CSV.
--projection_fields
Si se usa con --source_format configurado en DATASTORE_BACKUP, indica qué propiedades de la entidad se deben cargar a partir de una exportación de Cloud Datastore como una lista separada por comas. Los nombres de las propiedades distinguen entre mayúsculas y minúsculas, y deben referirse a propiedades de nivel superior. El valor predeterminado es ''. Esta marca también se puede utilizar con las exportaciones de Cloud Firestore.
--quote
El carácter de comillas que se usará para encerrar registros. El valor predeterminado es ", que indica que no hay ningún carácter de comillas.
--replace
Si se especifica, los datos existentes se borran cuando se cargan nuevos datos. El valor predeterminado es false.
--schema
La ruta a un archivo de esquema JSON local o una lista de definiciones de columnas separadas por comas con el formato [FIELD]:[DATA_TYPE],[FIELD]:[DATA_TYPE].
--schema_update_option

Cuando se agregan datos a una tabla (en un trabajo de carga o de consulta) o se reemplaza una partición de una tabla, especifica cómo actualizar el esquema de la tabla de destino. Entre los valores posibles, se incluyen los siguientes:

  • ALLOW_FIELD_ADDITION: Permite que se agreguen campos nuevos.
  • ALLOW_FIELD_RELAXATION: Permite disminuir la rigurosidad de los campos REQUIRED a NULLABLE.

Repite esta marca para especificar varias opciones de actualización del esquema.

--skip_leading_rows

Un número entero que especifica la cantidad de filas que se deben omitir al principio del archivo de origen.

--source_format

El formato de los datos de origen. Entre los valores posibles, se incluyen los siguientes:

  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO
  • DATASTORE_BACKUP
  • PARQUET
  • ORC
--time_partitioning_expiration

Un número entero que especifica (en segundos) cuándo se debe borrar una partición basada en el tiempo. La fecha y hora de vencimiento se evalúa según la suma de la fecha de la partición en formato UTC más el valor del número entero. Si el número es negativo, no hay vencimiento.

--time_partitioning_field

El campo utilizado para determinar cómo crear una partición basada en el tiempo. Si la partición basada en el tiempo se habilita sin este valor, la tabla se particiona en función del tiempo de carga.

--time_partitioning_type

Habilita la generación de particiones basadas en el tiempo en una tabla y establece el tipo de partición. Actualmente, el único valor posible es DAY, que genera una partición por día.

--use_avro_logical_types

Si sourceFormat se configura en AVRO, indica si los tipos lógicos se deben convertir en sus tipos correspondientes (p. ej., TIMESTAMP), en lugar de simplemente usar los tipos sin procesar (p. ej., INTEGER).

bq ls

El comando ls muestra una lista de los objetos de una colección.

Para obtener más información sobre cómo usar el comando ls, consulta los siguientes recursos:

Estas son las marcas que se usan específicamente con el comando ls.

--all o -a
Cuando se especifica, muestra todos los resultados: trabajos de todos los usuarios o todos los conjuntos de datos (incluidos los ocultos). Esta marca no es necesaria cuando se muestra una lista de configuraciones de transferencia o ejecuciones de transferencia.
--datasets o -d
Cuando se especifica, muestra una lista de conjuntos de datos. El valor predeterminado es false.
--filter

Muestra una lista de los conjuntos de datos que coinciden con la expresión del filtro. Usa una lista de claves de etiquetas y valores separados por espacios en el formato labels.[KEY]:[VALUE]. En el caso de las configuraciones de transferencia, una expresión de filtro en el formato dataSourceIds:[DATA_SOURCES] muestra una lista de las configuraciones de transferencia para las fuentes de datos especificadas. Entre los valores posibles, se incluyen los siguientes:

  • dcm_dt: Campaign Manager
  • google_cloud_storage: Cloud Storage
  • dfp_dt: Google Ad Manager
  • adwords: Google Ads
  • merchant_center: Google Merchant Center
  • play: Google Play
  • youtube_channel: informes de canales de YouTube
  • youtube_content_owner: informes de propietario de contenido de YouTube

También para las ejecuciones de transferencias, una expresión de filtro con el formato states:[STATE], muestra una lista de ejecuciones de transferencias con los estados especificados. Los valores posibles incluyen los siguientes: + SUCCEEDEDFAILEDPENDINGRUNNINGCANCELLED

--jobs o -j

Cuando se especifica, muestra una lista de trabajos. El valor predeterminado es false. De forma predeterminada, tienes un límite de 100,000 resultados.

--max_creation_time

Un número entero que representa una marca de tiempo en milisegundos. Cuando se especifica con la marca -j, muestra una lista de los trabajos creados antes de la marca de tiempo.

--max_results o -n

Un número entero que indica la cantidad máxima de resultados. El valor predeterminado es 50.

--min_creation_time

Un número entero que representa una marca de tiempo en milisegundos. Cuando se especifica con la marca -j, muestra una lista de los trabajos creados después de la marca de tiempo.

--message_type

Para mostrar una lista de mensajes de registro de ejecución de transferencia pertenecientes a un tipo determinado, especifica messageTypes:[MESSAGE_TYPE]. Entre los valores posibles, se incluyen los siguientes:

  • INFO
  • WARNING
  • ERROR
--models o -m

Cuando se especifica, se muestra una lista de modelos de BigQuery ML.

--page_token o -k

Cuando se especifica, se muestra una lista de los elementos a partir de este token de página.

--projects o -p

Cuando se especifica, muestra todos los proyectos. El valor predeterminado es false.

--run_attempt

Configura esta marca en LATEST para mostrar una lista solo de las ejecuciones más recientes de una transferencia.

--transfer_config

Cuando se especifica, muestra una lista de configuraciones de transferencia. Cuando usas esta marca, también debes especificar --transfer_location. El valor predeterminado es false.

--transfer_location

Muestra una lista de las configuraciones de transferencia en la ubicación especificada. Debes establecer la ubicación de transferencia cuando se crea la transferencia.

--transfer_log

Cuando se especifica, se muestra una lista de los mensajes de registro de transferencia de la ejecución de transferencias especificada. El valor predeterminado es false.

--transfer_run

Cuando se especifica, muestra una lista de ejecuciones de transferencias. El valor predeterminado es false.

bq mk

El comando mk crea un conjunto de datos, una tabla, una vista o una configuración de transferencia.

Para obtener más información sobre cómo usar el comando mk con BigQuery, consulta los siguientes recursos:

Para obtener más información sobre cómo usar el comando mk con el Servicio de transferencia de datos de BigQuery, consulta los siguientes recursos:

Estas son las marcas que se usan específicamente con el comando mk.

--clustering_fields
Una lista separada por comas de los nombres de columnas utilizados para agrupar una tabla en clústeres. Esta marca está disponible actualmente solo para tablas particionadas. Cuando se especifica, la tabla se particiona y, luego, se agrupa en clústeres con estas columnas.
--data_location
Esta es una marca heredada que especifica la ubicación del conjunto de datos. En su lugar, utiliza la marca global --location.
--data_source

Especifica la fuente de datos de una configuración de transferencia. Entre los valores posibles, se incluyen los siguientes:

  • dcm_dt: Campaign Manager
  • google_cloud_storage: Cloud Storage
  • dfp_dt: Google Ad Manager
  • adwords: Google Ads
  • merchant_center: Google Merchant Center
  • play: Google Play
  • youtube_channel: informes de canales de YouTube
  • youtube_content_owner: informes de propietario de contenido de YouTube

El valor predeterminado es ''.

--dataset o -d

Cuando se especifica, crea un conjunto de datos. El valor predeterminado es false.

--default_partition_expiration

Un número entero que especifica la fecha y hora de vencimiento predeterminada (en segundos) de todas las particiones de las tablas particionadas nuevas que se crean en el conjunto de datos. La fecha y hora de vencimiento de una partición se determina según la suma de la fecha de la partición en formato UTC más el valor del número entero. Cuando se configura esta propiedad, se anula el vencimiento predeterminado de la tabla definido para todo el conjunto de datos, si existe. Si proporcionas la marca --time_partitioning_expiration cuando creas o actualizas una tabla particionada, el vencimiento de la partición a nivel de la tabla tiene prioridad sobre el vencimiento predeterminado de la partición definido para todo el conjunto de datos.

--default_table_expiration

Un número entero que especifica la duración predeterminada, en segundos, de las tablas nuevas que se crean en un conjunto de datos. La fecha y hora de vencimiento se determina mediante la suma de la hora actual en formato UTC más este valor.

--description

La descripción del conjunto de datos o la tabla.

--destination_kms_key

La clave de Cloud KMS utilizada para encriptar los datos de la tabla.

--display_name

El nombre visible de la configuración de transferencia. El valor predeterminado es ''.

--end_time

Una marca de tiempo que especifica la hora de finalización de un rango de ejecuciones de transferencias. El formato de la marca de tiempo es RFC3339 UTC "Zulu".

--expiration

Un número entero que especifica la fecha y hora de vencimiento de la tabla o vista. La fecha y hora de vencimiento se determina mediante la suma de la hora actual en formato UTC más este valor.

--external_table_definition

Especifica una definición de tabla que se utilizará para crear una tabla externa. El valor puede ser una definición de tabla intercalada o una ruta a un archivo que contiene una definición de tabla JSON. El formato de una definición intercalada es schema@format=uri.

--force o -f

Cuando se especifica, si ya existe un recurso, el código de salida es 0. El valor predeterminado es false.

--label

Una etiqueta que se debe configurar en la tabla. El formato es [KEY]:[VALUE]. Repite esta marca para especificar varias etiquetas.

--params o -p

Los parámetros para una configuración de transferencia en formato JSON: {"[PARAMETER]":"[VALUE]"}. Los parámetros varían según la fuente de datos. Para obtener más información, consulta Introducción al Servicio de transferencia de datos de BigQuery.

--refresh_window_days

Un número entero que especifica el período de actualización para una configuración de transferencia en días. El valor predeterminado es 0.

--require_partition_filter

Cuando se especifica, esta marca determina si se requiere un filtro de partición para las consultas sobre la tabla suministrada. Esta marca solo se aplica a las tablas particionadas. El valor predeterminado es true.

--schema

La ruta a un archivo de esquema JSON local o una lista de definiciones de columnas separadas por comas en el formato [FIELD]:[DATA_TYPE],[FIELD]:[DATA_TYPE]. El valor predeterminado es ''.

--start_time

Una marca de tiempo que especifica la hora de inicio para un rango de ejecuciones de transferencias. El formato de la marca de tiempo es RFC3339 UTC "Zulu".

--table o -t

Cuando se especifica, crea una tabla. El valor predeterminado es false.

--target_dataset

El conjunto de datos de destino de una configuración de transferencia. El valor predeterminado es ''.

--time_partitioning_expiration

Un número entero que especifica (en segundos) cuándo se debe borrar una partición basada en el tiempo. La fecha y hora de vencimiento se evalúa según la suma de la fecha de la partición en formato UTC más el valor del número entero. Si el número es negativo, no hay vencimiento.

--time_partitioning_field

El campo utilizado para determinar cómo crear una partición basada en el tiempo. Si la partición basada en el tiempo se habilita sin este valor, la tabla se particiona en función del tiempo de carga.

--time_partitioning_type

Habilita la generación de particiones basadas en el tiempo en una tabla y establece el tipo de partición. Actualmente, el único valor posible es DAY, que genera una partición por día.

--transfer_config

Cuando se especifica, crea una configuración de transferencia. Cuando usas esta marca, también debes especificar los parámetros: --data_source, --display_name, --target_dataset y --params. Las opciones para --params varían según la data_source específica. El valor predeterminado es false.

--transfer_run

Cuando se especifica, crea ejecuciones de transferencias para un intervalo de tiempo. El valor predeterminado es false.

--use_legacy_sql

Cuando se configura en false, utiliza una consulta de SQL estándar para crear una vista. El valor predeterminado es true (utiliza SQL heredado).

--view

Cuando se especifica, crea una vista. El valor predeterminado es ''.

--view_udf_resource

El URI de Cloud Storage o la ruta a un archivo de código local que se cargará y evaluará de inmediato como un recurso de función definida por el usuario utilizada por una consulta de SQL de la vista. Repite esta marca para especificar varios archivos.

bq mkdef

El comando mkdef crea una definición de tabla en formato JSON para los datos almacenados en Google Cloud Storage o Google Drive.

Para obtener más información sobre el uso del comando mkdef, consulta Cómo crear un archivo de definición de tablas para una fuente de datos externa.

Estas son las marcas que se usan específicamente con el comando mkdef.

--autodetect
Cuando se especifica, usa la detección automática del esquema para datos CSV y JSON.
--ignore_unknown_values o -i
Cuando se especifica, ignora cualquier valor en una fila que no esté presente en el esquema.
--source_format
El formato de los datos de origen. Entre los valores posibles, se incluyen los siguientes:
  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO
  • DATASTORE_BACKUP
  • GOOGLE_SHEETS El valor predeterminado es CSV.

bq partition

El comando partition se usa para generar tablas particionadas a partir de tablas con fechas en el nombre (terminadas en [YYYYmmdd]).

Para obtener más información sobre cómo usar el comando partition, consulta Convierte tablas fragmentadas por fecha en tablas particionadas por tiempo de transferencia.

Estas son las marcas que se usan específicamente con el comando partition.

--no_clobber o -n
Cuando se especifica, no se reemplaza una partición existente. El valor predeterminado es false.
--time_partitioning_expiration
Un número entero que especifica (en segundos) cuándo se debe borrar una partición basada en el tiempo. La fecha y hora de vencimiento se evalúa según la suma de la fecha de la partición en formato UTC más el valor del número entero. Si el número es negativo, no hay vencimiento.
--time_partitioning_type
Habilita la generación de particiones basadas en el tiempo en una tabla y establece el tipo de partición. Actualmente, el único valor posible es DAY, que genera una partición por día.

bq query

El comando query crea un trabajo de consulta que ejecuta la consulta de SQL suministrada.

Para obtener más información sobre cómo usar el comando query, consulta Cómo ejecutar consultas interactivas y por lotes.

Estas son las marcas que se usan específicamente con el comando query.

--allow_large_results
Cuando se especifica, habilita tablas de destino de gran tamaño para las consultas de SQL heredado.
--append_table
Cuando se especifica, agrega datos a una tabla de destino. El valor predeterminado es false.
--batch
Cuando se especifica, se ejecuta la consulta en modo por lotes. El valor predeterminado es false.
--clustering_fields
Si se especifica, se utiliza una lista de columnas separadas por comas para agrupar en clústeres la tabla de destino en una consulta. Esta marca debe usarse con las marcas de partición de tiempo para crear una tabla particionada por tiempo de transferencia o una tabla particionada en una columna DATE o TIMESTAMP. Cuando se especifica, la tabla se particiona y, luego, se agrupa en clústeres con las columnas proporcionadas.
--destination_kms_key
La clave de Cloud KMS utilizada para encriptar los datos de la tabla de destino.
--destination_schema
La ruta a un archivo de esquema JSON local o una lista de definiciones de columnas separadas por comas en el formato [FIELD]:[DATA_TYPE],[FIELD]:[DATA_TYPE]. El valor predeterminado es ''.
--destination_table
El nombre de la tabla de destino para escribir los resultados de la consulta. El valor predeterminado es ''.
--dry_run
Cuando se especifica, la consulta se valida, pero no se ejecuta.
--external_table_definition
El nombre de la tabla y la definición de esquema utilizados en una consulta de tabla externa. El esquema puede ser una ruta a un archivo de esquema JSON local o una lista de definiciones de columnas separadas por comas en el formato [FIELD]:[DATA_TYPE],[FIELD]:[DATA_TYPE]. El formato para proporcionar el nombre de la tabla y el esquema es: [TABLE]::[PATH_TO_FILE] o [TABLE]::[SCHEMA]@[SOURCE_FORMAT]=[CLOUD_STORAGE_URI]. Repite esta marca para consultar varias tablas.
--flatten_results
Cuando se especifica, se compactan los campos anidados y repetidos en los resultados para las consultas de SQL heredado. El valor predeterminado es true.
--label
Una etiqueta para aplicar a un trabajo de consulta con el formato [KEY]:[VALUE]. Repite esta marca para especificar varias etiquetas.
--max_rows o -n
Un número entero que especifica la cantidad de filas que se deben mostrar en los resultados de la consulta. El valor predeterminado es 100.
--maximum_bytes_billed
Un número entero que limita los bytes facturados para la consulta. Si la consulta supera el límite, falla (sin incurrir en cargos). Si no se especifica, los bytes facturados se configuran según el valor predeterminado del proyecto.
--min_completion_ratio
Esta marca experimental es un número entre 0 y 1.0 que especifica la fracción mínima de datos que deben analizarse antes de que se muestre el resultado de una consulta. Si no se establece, se utiliza 1.0, el valor predeterminado del servidor.
--parameter
Un archivo JSON que contiene una lista de parámetros de consulta o un parámetro de consulta con el formato [NAME]:[TYPE]:[VALUE]. Si el nombre está vacío, se crea un parámetro posicional. [TYPE] se puede omitir para asumir un valor de STRING con el formato: name::value o ::value. NULL genera un valor nulo. Repite esta marca para especificar varios parámetros.
--replace
Si se especifica, reemplaza la tabla de destino con los resultados de la consulta. El valor predeterminado es false.
--require_cache
Cuando se especifica, ejecuta la consulta solo si los resultados se pueden recuperar a partir de la caché.
--require_partition_filter
Si se especifica, se requiere un filtro de partición para las consultas sobre la tabla suministrada. Esta marca solo se puede utilizar con una tabla particionada.
--rpc
Si se especifica, usa la API de consulta de estilo rpc en lugar del método jobs.insert de la API de REST. El valor predeterminado es false.
--schema_update_option

Cuando se agregan datos a una tabla (en un trabajo de carga o de consulta) o se reemplaza una partición de una tabla, especifica cómo actualizar el esquema de la tabla de destino. Entre los valores posibles, se incluyen los siguientes:

  • ALLOW_FIELD_ADDITION: Permite que se agreguen campos nuevos.
  • ALLOW_FIELD_RELAXATION: Permite disminuir la rigurosidad de los campos REQUIRED a NULLABLE.

Repite esta marca para especificar varias opciones de actualización del esquema.

--start_row o -s

Un número entero que especifica la primera fila que se mostrará en el resultado de la consulta. El valor predeterminado es 0.

--time_partitioning_expiration

Un número entero que especifica (en segundos) cuándo se debe borrar una partición basada en el tiempo. La fecha y hora de vencimiento se evalúa según la suma de la fecha de la partición en formato UTC más el valor del número entero. Si el número es negativo, no hay vencimiento.

--time_partitioning_field

El campo utilizado para determinar cómo crear una partición basada en el tiempo. Si la partición basada en el tiempo se habilita sin este valor, la tabla se particiona en función del tiempo de carga.

--time_partitioning_type

Habilita la generación de particiones basadas en el tiempo en una tabla y establece el tipo de partición. Actualmente, el único valor posible es DAY, que genera una partición por día.

--udf_resource

Esta marca solo se aplica a las consultas de SQL heredado. Cuando se especifica, este es el URI de Cloud Storage o la ruta a un archivo de código local que se cargará y evaluará de inmediato como recurso de función definida por el usuario utilizada por una consulta de SQL heredado. Repite esta marca para especificar varios archivos.

--use_cache

Cuando se especifica, almacena en caché los resultados de la consulta. El valor predeterminado es true.

--use_legacy_sql

Cuando se configura en false, ejecuta una consulta de SQL estándar. El valor predeterminado es true (utiliza SQL heredado).

bq rm

El comando rm borra un conjunto de datos, una tabla, una vista, un modelo o una configuración de transferencia.

Para obtener más información sobre cómo usar el comando rm, consulta los siguientes recursos:

Estas son las marcas que se usan específicamente con el comando rm.

--dataset o -d
Cuando se especifica, borra un conjunto de datos. El valor predeterminado es false.
--force o -f
Cuando se especifica, borra una tabla, una vista, un modelo o un conjunto de datos sin preguntar. El valor predeterminado es false.
--model o -m
Cuando se especifica, borra un modelo de BigQuery ML.
--recursive o -r
Cuando se especifica, borra un conjunto de datos y todas las tablas, los datos de tablas o los modelos que este contenga. El valor predeterminado es false.
--table o -t
Cuando se especifica, borra una tabla. El valor predeterminado es false.
--transfer_config
Cuando se especifica, borra una configuración de transferencia. El valor predeterminado es false.

bq show

El comando show muestra información sobre un objeto.

Para obtener más información sobre cómo usar el comando show, consulta los siguientes recursos:

Estas son las marcas que se usan específicamente con el comando show.

--dataset o -d
Cuando se especifica, muestra información sobre un conjunto de datos. El valor predeterminado es false.
--encryption_service_account
Cuando se especifica, muestra la cuenta de servicio de un usuario (si existe) o la crea (si no existe). El valor predeterminado es false.
--job o -j
Si se especifica, muestra información sobre un trabajo. El valor predeterminado es false.
--model o -m
Si se especifica, muestra información sobre un modelo de BigQuery ML.
--schema
Cuando se especifica, muestra solo el esquema de la tabla. El valor predeterminado es false.
--transfer_config
Cuando se especifica, muestra información sobre una configuración de transferencia. El valor predeterminado es false.
--transfer_run
Cuando se especifica, muestra información sobre una ejecución de transferencia. El valor predeterminado es false.
--view
Cuando se especifica, muestra información sobre una vista. El valor predeterminado es false.

bq update

El comando update actualiza un conjunto de datos, una tabla, una vista un modelo o una configuración de transferencia.

Para obtener más información sobre cómo usar el comando update, consulta los siguientes recursos:

Estas son las marcas que se usan específicamente con el comando update.

--clear_label
Quita una etiqueta con el formato [KEY]:. Repite esta etiqueta para quitar varias etiquetas.
--dataset o -d
Actualiza un conjunto de datos. El valor predeterminado es false.
--default_partition_expiration

Un número entero que especifica la fecha y hora de vencimiento predeterminada (en segundos) de todas las particiones de las tablas particionadas nuevas que se crean en el conjunto de datos. Esta marca no tiene un valor mínimo.

La fecha y hora de vencimiento de una partición se determina según la suma de la fecha de la partición en formato UTC más el valor del número entero. Cuando se configura esta propiedad, se anula el vencimiento predeterminado de la tabla definido para todo el conjunto de datos, si existe. Si proporcionas la marca --time_partitioning_expiration cuando creas o actualizas una tabla particionada, el vencimiento de la partición a nivel de la tabla tiene prioridad sobre el vencimiento predeterminado de la partición definido para todo el conjunto de datos. Especifica 0 para quitar el tiempo de vencimiento existente.

--default_table_expiration

Un número entero que actualiza la duración predeterminada, en segundos, de las tablas nuevas que se crean en un conjunto de datos. La fecha y hora de vencimiento se determina mediante la suma de la hora actual en formato UTC más este valor. Especifica 0 para quitar el tiempo de vencimiento existente.

--description

Actualiza la descripción de un conjunto de datos, una tabla, un modelo o una vista.

--display_name

Actualiza el nombre visible de una configuración de transferencia. El valor predeterminado es ''.

--etag

Actualiza los recursos solo si la etag coincide.

--expiration

Un número entero que actualiza la fecha y hora de vencimiento en segundos de una tabla, una vista o un modelo. Si especificas 0, se quita la fecha y hora de vencimiento.

--external_table_definition

Actualiza una tabla externa con la definición de tabla especificada. El esquema puede ser una ruta a un archivo de esquema JSON local o una lista de definiciones de columnas separadas por comas en el formato [FIELD]:[DATA_TYPE],[FIELD]:[DATA_TYPE]. El formato para proporcionar el nombre de la tabla y el esquema es: [TABLE]::[PATH_TO_FILE] o [TABLE]::[SCHEMA]@[SOURCE_FORMAT]=[CLOUD_STORAGE_URI].

--model o -m

Actualiza los metadatos de un modelo de BigQuery ML.

--params o -p

Actualiza los parámetros de una configuración de transferencia en formato JSON: {"[PARAMETER]":"[VALUE]"}. Los parámetros varían según la fuente de datos. Para obtener más información, consulta Introducción al Servicio de transferencia de datos de BigQuery.

--refresh_window_days

Un número entero que especifica un nuevo período de actualización (en días) para una configuración de transferencia.

--schema

La ruta a un archivo de esquema JSON local o una lista de definiciones de columnas separadas por comas en el formato [FIELD]:[DATA_TYPE],[FIELD]:[DATA_TYPE]. El valor predeterminado es ''.

--set_label

Una etiqueta que debe actualizarse en el formato [KEY]:[VALUE]. Repite esta marca para actualizar varias etiquetas.

--source

La ruta a un archivo JSON local que contiene una carga útil utilizada para actualizar un recurso. Por ejemplo, puedes usar esta marca para especificar un archivo JSON que contenga un recurso de conjunto de datos con una propiedad access actualizada. El archivo se utiliza para reemplazar los controles de acceso del conjunto de datos.

--table o -t

Cuando se especifica, actualiza una tabla. El valor predeterminado es false.

--target_dataset

Cuando se especifica, actualiza el conjunto de datos de destino de una configuración de transferencia. El valor predeterminado es ''.

--time_partitioning_expiration

Un número entero que actualiza (en segundos) cuándo se debe borrar una partición basada en el tiempo. La fecha y hora de vencimiento se evalúa según la suma de la fecha de la partición en formato UTC más el valor del número entero. Si el número es negativo, no hay vencimiento.

--time_partitioning_field

Actualiza el campo utilizado para determinar cómo crear una partición basada en el tiempo. Si la partición basada en el tiempo se habilita sin este valor, la tabla se particiona en función del tiempo de carga.

--time_partitioning_type

Actualiza el tipo de partición basada en el tiempo de una tabla. Actualmente, el único valor posible es DAY, que genera una partición por día.

--transfer_config

Cuando se especifica, actualiza una configuración de transferencia. El valor predeterminado es false.

--update_credentials

Cuando se especifica, actualiza las credenciales de una configuración de transferencia. El valor predeterminado es false.

--use_legacy_sql

Cuando se configura en false, actualiza la consulta de SQL de una vista de SQL heredado a SQL estándar. El valor predeterminado es true (utilizar SQL heredado).

--view

Cuando se especifica, actualiza la consulta de SQL de una vista. El valor predeterminado es ''.

--view_udf_resource

Actualiza el URI de Cloud Storage o la ruta a un archivo de código local que se cargará y evaluará de inmediato como recurso de función definido por el usuario en la consulta de SQL de una vista. Repite esta marca para especificar varios archivos.

bq wait

El comando wait espera algunos segundos para finalizar un trabajo.

El comando wait utiliza la marca global --job_id y las siguientes marcas específicas del comando.

[INTEGER]
Un valor de número entero mayor o igual que 0, el cual especifica el tiempo de espera (este valor no es una marca; el número entero se especifica en la línea de comandos). Si ingresas 0, el comando realiza un sondeo para determinar si se completó el trabajo y el resultado se muestra inmediatamente. Si no especificas un valor entero, el comando espera durante un período sin fin.
--fail_on_error
Cuando se especifica, una vez transcurrido el tiempo de espera, se muestra como resultado un error si el trabajo aún se está ejecutando o finalizó con errores. El valor predeterminado es true.
--wait_for_status

Cuando se especifica, espera un estado de trabajo específico antes de mostrar un resultado. Entre los valores posibles, se incluyen los siguientes:

  • PENDING
  • RUNNING
  • DONE

El valor predeterminado es DONE.

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.