Referencia de la herramienta de línea de comandos de bq
En este documento, se describe la sintaxis, los comandos, las marcas y los argumentos para bq
, la herramienta de línea de comandos de BigQuery.
Está destinado a usuarios que estén familiarizados con BigQuery, pero que quieran saber cómo usar un comando particular de la herramienta de línea de comandos de bq
.
Para obtener información general sobre cómo usar la herramienta de línea de comandos de bq
, consulta Usa la herramienta de línea de comandos de bq
.
Sinopsis
La herramienta de línea de comandos de bq
usa el siguiente formato:
bq COMMAND [FLAGS] [ARGUMENTS]
Algunas marcas pueden usarse con varios comandos de la herramienta de línea de comandos de bq
. Estas marcas se describen en la sección Marcas globales.
Otras marcas son específicas del comando, solo se pueden usar con un comando de herramienta de línea de comandos de bq
en particular. Las marcas específicas de comandos se describen en las secciones de comandos.
Marcas booleanas
Algunas marcas de herramientas de línea de comandos de bq
son booleanas. Puedes configurar el valor de la marca como true
o false
.
La herramienta de línea de comandos de bq
acepta los siguientes formatos para configurar marcas booleanas.
Valor | Formato | Ejemplo |
---|---|---|
true |
--FLAGNAME=true |
--debug_mode=true |
true |
--FLAGNAME |
--debug_mode |
false |
--FLAGNAME=false |
--debug_mode=false |
false |
--noFLAGNAME |
--nodebug_mode |
En este documento, se usa el formato --FLAGNAME=VALUE
para marcas booleanas.
Todas las marcas booleanas son opcionales. Si no hay una marca, BigQuery usa el valor predeterminado de la marca.
Especifica valores para marcas
Cuando especificas un valor para una marca, el signo igual (=
) es opcional. Por ejemplo, los siguientes dos comandos son equivalentes:
bq ls --format prettyjson myDataset bq ls --format=prettyjson myDataset
En este documento, se usa el signo igual para brindar mayor claridad.
Ayuda en línea
La documentación está disponible en la herramienta de línea de comandos de bq
, de la siguiente manera:
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 en particular | 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 de dos puntos (:
) y, en otros casos, un punto (.
). En la siguiente tabla, se describe cómo especificar una tabla de BigQuery en diferentes contextos.
Context | Formato | Ejemplo |
---|---|---|
bq Herramienta de línea de comandos |
PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
Consulta de GoogleSQL | PROJECT.DATASET.TABLE |
myProject.myDataset.myTable |
Consulta de SQL heredado | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
Si no especificas un proyecto, BigQuery usa el proyecto actual. Por ejemplo, si el proyecto actual es myProject
, BigQuery interpreta myDataset.myTable
como myProject:myDataset.myTable
(o myProject.myDataset.myTable
).
Algunos identificadores de recursos deben estar entre comillas simples (`
). Si tu identificador de recursos comienza con una letra o un carácter de guion bajo y contiene solo caracteres que son letras, números y guiones bajos, no es necesario que los cites. Sin embargo, si el identificador de recursos contiene otros tipos de caracteres o palabras clave reservadas, debes rodear el identificador (o la parte del identificador con caracteres especiales o palabras clave reservadas) con acentos graves. Para obtener más información, consulta Identificadores.
Marcas globales
Puedes usar las siguientes marcas con cualquier comando bq
, cuando corresponda:
--api=ENDPOINT
- Especifica el extremo de API al que se llamará. El valor predeterminado es
https://www.googleapis.com
. --api_version=VERSION
- Especifica la versión de la API que se usará. El predeterminado es
v2
. --apilog=FILE
Registra todas las solicitudes y respuestas a la API en el archivo que especifica
FILE
. Los valores posibles son los siguientes:- la ruta de acceso de un archivo: los registros al archivo especificado
stdout
: los registros de la salida estándarstderr
: los registros de un error estándarfalse
: las solicitudes y respuestas de API no se registran (predeterminado)
--bigqueryrc=PATH
Especifica la ruta al archivo de configuración de la herramienta de línea de comandos de
bq
. Si no especificas la marca--bigqueryrc
, el comando usa la variable de entornoBIGQUERYRC
. Si no se configura la variable de entorno, se usa$HOME/.bigqueryrc
. Si ese archivo no existe, se usa~/.bigqueryrc
. Si deseas obtener más información, consulta Configura los valores predeterminados para marcas de línea de comandos.--ca_certificates_file=PATH
Especifica la ubicación del archivo de Certificate Authority Service (CA).
--dataset_id=DATASET_ID
Especifica el conjunto de datos predeterminado que se usará con el comando. Esta marca se ignora cuando no es aplicable. Puedes especificar el argumento
DATASET_ID
con el formatoPROJECT:DATASET
oDATASET
. Si falta la partePROJECT
, se usa el proyecto predeterminado. Puedes anular la configuración predeterminada del proyecto si especificas la marca--project_id
.--debug_mode={true|false}
Si se configura como
true
, se muestran objetos traceback en las excepciones de Python. El valor predeterminado esfalse
.--disable_ssl_validation={true|false}
Si se establece como
true
, habilita la validación del certificado HTTPS. El valor predeterminado esfalse
.--discovery_file=PATH
Especifica el archivo JSON que se debe leer para la detección.
--enable_gdrive={true|false}
Si se configura como
false
, solicita un token de OAuth nuevo sin permiso de Google Drive. El valor predeterminado estrue
. Solicita un token de OAuth nuevo con alcance de Drive.--fingerprint_job_id={true|false}
Para usar un ID de trabajo derivado de una huella digital de la configuración del trabajo, configúralo como
true
. Esto evita que el mismo trabajo se ejecute varias veces por accidente. El valor predeterminado esfalse
.--format=FORMAT
Especifica el formato del resultado del comando. Usa uno de los siguientes valores:
pretty
: genera una tabla con formatosparse
: genera una tabla más simpleprettyjson
: formato JSON fácil de leerjson
: JSON lo más compacto posiblecsv
: formato csv con encabezado
Las opciones
pretty
,sparse
yprettyjson
están diseñadas para que las pueda leer un ser humano.json
ycsv
están diseñados para que los use otro programa. Si se especificanone
, 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={true|false}
Para ejecutar la sesión
bq
sin interacción del usuario, configúrala comotrue
. Por ejemplo,debug_mode
no accederá al depurador, y la frecuencia de impresión de la información se disminuirá. El valor predeterminado esfalse
.--httplib2_debuglevel=DEBUG_LEVEL
Especifica si se debe mostrar la información de depuración HTTP. Si
DEBUG_LEVEL
es mayor que0
, entonces el comando registra las solicitudes y respuestas del servidor HTTP a stderr, además de los mensajes de error. SiDEBUG_LEVEL
no es > 0, o si no se usa la marca--httplib2_debuglevel
, solo se proporcionan los mensajes de error.Por ejemplo:
--httplib2_debuglevel=1
--job_id=JOB_ID
Especifica un identificador de trabajo para un trabajo nuevo. Esta marca solo se aplica a los comandos que crean trabajos:
cp
,extract
,load
yquery
. Si no usas la marca--job_id
, los comandos generan un identificador de trabajo único. Para obtener más información, consulta Ejecuta trabajos de manera programática.--job_property=KEY:VALUE
Un par clave-valor para incluir en el campo de propiedades de la configuración del trabajo. Repite esta marca para especificar propiedades adicionales.
--location=LOCATION
Una string correspondiente a tu región o ubicación multirregión. La marca de ubicación es obligatoria para los comandos
bq cancel
y para los comandosbq show
cuando usas la marca--jobs
a fin de mostrar información sobre los trabajos. La marca de ubicación es opcional para los siguientes comandos:query
cp
load
extract
partition
update
wait
mk
cuando usas la marca--dataset
para crear un conjunto de datos
Todos los demás comandos ignoran la marca
--location
.--max_rows_per_request=MAX_ROWS
Un número entero que especifica la cantidad máxima de filas que se mostrarán por lectura.
--project_id=PROJECT
Especifica el proyecto que se usará para los comandos.
--proxy_address=PROXY
Especifica el nombre o la dirección IP del host del proxy que se usará para establecer la conexión a Google Cloud.
--proxy_password=PASSWORD
Especifica la contraseña que se usará para la autenticación con el host del proxy.
--proxy_port=PORT
Especifica el número de puerto que se usará para la conexión al host del proxy.
--proxy_username=USERNAME
Especifica el nombre de usuario que se usará para la autenticación con el host del proxy.
--quiet={true|false}
o-q={true|false}
Para suprimir las actualizaciones de estado mientras se ejecutan los trabajos, configúralo como
true
. El valor predeterminado esfalse
.--synchronous_mode={true|false}
o-sync={true|false}
Para crear el trabajo y volver de inmediato, con un estado de finalización correcto como código de error, configúralo como
false
. Si se configura comotrue
, el comando espera a que se complete el trabajo antes de mostrar el estado de finalización del trabajo como código de error. El valor predeterminado estrue
.--trace=token:TOKEN
Especifica un token de seguimiento para incluir en las solicitudes a la API.
Marcas globales obsoletas
La siguiente marca global para especificar marcas
de herramienta de línea de comandos de bq
desde un archivo
está
obsoleta. Para especificar marcas de un archivo, usa la
marca --bigqueryrc
.
--flagfile=PATH
Cuando se especifica, las definiciones de marcas del archivo que se proporcionó se insertan en la herramienta de línea de comandos de bq
. El valor predeterminado es ''
. Si deseas obtener más información, consulta
Configura
los valores predeterminados para marcas de línea de comandos.
Comandos
En las siguientes secciones, se describen los comandos de la herramienta de línea de comandos de bq
, junto con las
marcas y los argumentos específicos de cada comando.
bq add-iam-policy-binding
Usa el comando bq add-iam-policy-binding
a fin de recuperar la
política de Identity and Access Management (IAM)
para una tabla o vista, y agrega una vinculación a la
política en un solo paso.
Este comando es una alternativa al siguiente proceso de tres pasos:
- Usar el comando
bq get-iam-policy
para recuperar el archivo de políticas (en formato JSON). - Editar el archivo de políticas.
- Usar el comando
bq set-iam-policy
para actualizar la política con una vinculación nueva.
Sinopsis
bq add-iam-policy-binding [FLAGS] --member=MEMBER_TYPE:MEMBER --role=ROLE [--table] RESOURCE
Ejemplo
bq add-iam-policy-binding --member=user:myAccount@gmail.com \ --role=roles/bigquery.dataViewer myDataset.myTable
Marcas y argumentos
El comando bq add-iam-policy-binding
usa los siguientes argumentos y marcas:
--member=MEMBER_TYPE:MEMBER
Obligatorio. Usa la marca
--member
para especificar la parte del miembro de la vinculación de la política de IAM. La marca--member
es obligatoria junto con la marca--role
. Una combinación de las marcas--member
y--role
equivale a una vinculación.El valor
MEMBER_TYPE
especifica el tipo de miembro en la vinculación de política de IAM. Usa uno de los siguientes valores:user
serviceAccount
group
domain
El valor
MEMBER
especifica la dirección de correo electrónico o el dominio del miembro en la vinculación de política de IAM.--role=ROLE
Obligatorio. Especifica la parte de la función que pertenece a la vinculación de política de IAM. La marca
--role
es obligatoria junto con la marca--member
. Una combinación de las marcas--member
y--role
equivale a una vinculación.--table={true|false}
Para mostrar un error si el argumento
RESOURCE
no es un identificador de tabla o vista, establece la marca--table
entrue
. El valor predeterminado esfalse
. Esta marca es compatible para mantener la coherencia con otros comandos.- RESOURCE
La tabla o vista a cuya política deseas agregar.
Para obtener más información, consulta la referencia de la política de IAM.
bq cancel
Usa el comando bq cancel
para cancelar trabajos de BigQuery.
Sinopsis
bq [--synchronous_mode=false] cancel JOB_ID
Ejemplos
bq cancel bqjob_12345
bq --synchronous_mode=false cancel bqjob_12345
Marcas y argumentos
El comando bq cancel
usa los siguientes argumentos y marcas:
--synchronous_mode=false
- Si no quieres esperar a que se complete el comando
bq cancel
, establece la marca global--synchronous_mode
enfalse
. El valor predeterminado estrue
. JOB_ID
- El trabajo que deseas cancelar.
Para obtener más información sobre el uso del comando bq cancel
, consulta Administra trabajos.
bq cp
Usa el comando bq cp
para las siguientes tareas:
- Crea una copia de una tabla, una clonación de tabla o una instantánea de tabla.
- Crea una clonación de tabla.
- Crea una instantánea de tabla.
Sinopsis
bq cp [FLAGS] SOURCE_TABLE DESTINATION_TABLE
Ejemplo
bq cp myDataset.myTable myDataset.myTableCopy
Marcas y argumentos
El comando bq cp
usa los siguientes argumentos y marcas:
--append_table={true|false}
o-a={true|false}
- Para agregar una tabla a una tabla existente, configúrala como
true
. El valor predeterminado esfalse
. --clone={true|false}
- Para crear una clonación de tabla, configúrala como
true
. La tabla de origen puede ser una tabla estándar, una clonación de tabla o una instantánea de tabla. La tabla de destino es una clonación de tabla. El valor predeterminado esfalse
. Si no se especifica--clone=true
ni--snapshot=true
, la tabla de destino es del mismo tipo de tabla que la tabla de origen. --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
La cantidad de segundos hasta que vence una instantánea de tabla. Si no se incluye, el vencimiento de la instantánea de tabla se establece en el vencimiento predeterminado del conjunto de datos que contiene la nueva instantánea de tabla. Úsalo con la marca
--snapshot
.--force={true|false}
o-f={true|false}
Para reemplazar la tabla de destino, si existe, sin solicitarla, configúrala como
true
. El valor predeterminado esfalse
. Si la tabla de destino existe, entonces el comando solicita confirmación antes de reemplazarla.--no_clobber={true|false}
o-n={true|false}
Para inhabilitar el reemplazo de la tabla de destino, si existe, configúrala como
true
. El valor predeterminado esfalse
. Si la tabla de destino existe, se reemplaza.--restore={true|false}
Esta marca quedará obsoleta. Para crear una tabla que admita escritura a partir de una instantánea de tabla, usa los comandos
bq cp
obq cp --clone
.--snapshot={true|false}
Para crear una instantánea de la tabla que se especifica en el argumento
SOURCE_TABLE
, configúrala comotrue
. La tabla de origen puede ser una tabla estándar, una clonación de tabla u otra instantánea de tabla. El valor predeterminado esfalse
. Si no se especifica--clone=true
ni--snapshot=true
, la tabla de destino es del mismo tipo de tabla que la tabla de origen. Requiere la marca--no_clobber
.SOURCE_TABLE
Es la tabla que deseas copiar.
DESTINATION_TABLE
La tabla a la que deseas copiar.
Para obtener más información sobre el uso del comando cp
, consulta los siguientes vínculos:
- Copia una tabla
- Crea clonaciones de tablas
- Crea instantáneas de tablas
- Restablece las instantáneas tablas
bq extract
Usa el comando bq extract
para exportar datos de la tabla a Cloud Storage.
Sinopsis
bq extract [FLAGS] RESOURCE DESTINATION
Ejemplos
bq extract --compression=GZIP --destination_format=CSV --field_delimiter=tab \ --print_header=false myDataset.myTable gs://my-bucket/myFile.csv.gzip
bq extract --destination_format=CSV --field_delimiter='|' myDataset.myTable \ gs://myBucket/myFile.csv
Marcas y argumentos
El comando bq extract
usa los siguientes argumentos y marcas:
--compression=COMPRESSION_TYPE
Especifica el tipo de compresión que se usará para los archivos exportados. Los valores posibles son los siguientes:
GZIP
DEFLATE
SNAPPY
NONE
El valor predeterminado es
NONE
.Para obtener información sobre qué formatos son compatibles con cada tipo de compresión, consulta Exporta formatos y tipos de compresión.
--destination_format=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
Para las exportaciones de archivos CSV, especifica el carácter que marca el límite entre columnas en el archivo de salida. El delimitador puede ser cualquier carácter ISO-8859-1 de un solo byte. Puedes usar
\t
otab
para especificar delimitadores de tabulaciones.--print_header={true|false}
A fin de eliminar la impresión de filas de encabezados para formatos que tienen encabezados, configúralos como
false
. El valor predeterminado estrue
; se incluyen las filas de encabezado.- RESOURCE
La tabla desde la que exportas.
- DESTINATION
La ubicación de almacenamiento que recibe los datos exportados.
Para obtener más información sobre el uso del comando bq extract
, consulta Exporta datos de tablas.
bq get-iam-policy
Usa el comando bq get-iam-policy
a fin de recuperar la política de IAM para un recurso y, luego, imprimirla en stdout
. El recurso puede ser una tabla o una vista. La política está en formato JSON.
Sinopsis
bq get-iam-policy [FLAGS] RESOURCE
Ejemplo
bq get-iam-policy myDataset.myTable
Marcas y argumentos
El comando bq get-iam-policy
usa los siguientes argumentos y marcas:
--table={true|false}
o--t={true|false}
- Para mostrar un error si
RESOURCE
no es un identificador de tabla o vista, establece la marca--table
entrue
. El valor predeterminado esfalse
. Esta marca es compatible para mantener la coherencia con otros comandos. RESOURCE
- La tabla o vista cuya política deseas obtener.
Para obtener más información sobre el comando bq get-iam-policy
, consulta Controla el acceso a los recursos con IAM.
bq head
Usa el comando bq head
para mostrar las filas y columnas especificadas de una tabla.
De forma predeterminada, muestra todas las columnas de las primeras 100 filas.
Sinopsis
bq head [FLAGS] [TABLE]
Ejemplo
bq head --max_rows=10 --start_row=50 --selected_fields=field1,field3 \ myDataset.myTable
Marcas y argumentos
El comando bq head
usa los siguientes argumentos y marcas:
--job=JOB or -j=JOB
- Para leer los resultados de un trabajo de búsqueda, especifica esta marca con un ID de trabajo válido.
--max_rows=MAX or -n=MAX
- Un número entero que indica la cantidad máxima de filas que se deben imprimir cuando
se muestran los datos de la tabla. El valor predeterminado es
100
. --selected_fields=COLUMN_NAMES or -c=COLUMN_NAMES
- Una lista separada por comas que indica un subconjunto de campos (incluidos los campos anidados y repetidos) que deben incluirse cuando se muestren los datos de la tabla. Si no se especifica esta marca, se muestran todas las columnas.
--start_row=START_ROW or -s=START_ROW
- Un número entero que especifica la cantidad de filas que se deben omitir
antes de mostrar los datos de la tabla. El valor predeterminado es
0
. Los datos de la tabla comienzan en la primera fila. --table={true|false}
o-t={true|false}
- Para mostrar un error si el argumento del comando no es una tabla o una vista, configúralo como
true
. El valor predeterminado esfalse
Esta marca es compatible para mantener la coherencia con otros comandos. TABLE
- La tabla cuyos datos deseas recuperar.
Para obtener más información sobre el uso del comando bq head
, consulta Cómo administrar datos de tablas
bq help
Usa el comando bq help
para mostrar la documentación de la herramienta de línea de comandos de bq
dentro de la herramienta.
Sinopsis
bq help [COMMAND]
Marcas y argumentos
El comando bq help
usa los siguientes argumentos y marcas:
COMMAND
- Especifica un comando de herramienta de línea de
bq
en particular para el que deseas obtener ayuda en línea.
bq insert
Usa el comando bq insert
para insertar filas de datos con formato JSON delimitado por saltos de línea en una tabla desde un archivo mediante la inserción de transmisión. Los tipos de datos se convierten para que coincidan con los tipos de columna de la tabla de destino. Este comando debe usarse solo para hacer pruebas. Si quieres transmitir datos a BigQuery, usa el método de API insertAll
.
Sinopsis
bq insert [FLAGS] TABLE FILE
Ejemplos
bq insert --ignore_unknown_values --template_suffix=_insert myDataset.myTable /tmp/myData.json
echo '{"a":1, "b":2}' | bq insert myDataset.myTable
Marcas y argumentos
El comando bq insert
usa los siguientes argumentos y marcas:
--ignore_unknown_values={true|false}
o-i={true|false}
- Cuando se establece en
true
, BigQuery ignora cualquier par clave-valor que no coincida con el esquema de la tabla y, luego, inserta la fila con los datos que sí coinciden. Cuando se establece enfalse
, no se insertan las filas con datos que no coinciden con el esquema de la tabla. El valor predeterminado esfalse
. --skip_invalid_rows={true|false}
o-s={true|false}
- Cuando se establece en
true
, BigQuery intenta insertar todas las filas válidas, incluso si hay filas que no lo son. Cuando se establece enfalse
, el comando falla si hay filas no válidas. El valor predeterminado esfalse
. --template_suffix=SUFFIX or -x=SUFFIX
- Cuando se especifica, trata a la tabla de destino TABLE como una plantilla base y, también, inserta las filas en una tabla de instancias llamada
{destination}{templateSuffix}
. BigQuery crea la tabla de instancias con el esquema de la plantilla base. TABLE
- La tabla en la que deseas insertar los datos.
FILE
- El archivo que contiene los datos que deseas insertar.
Para obtener más información sobre el uso del comando bq insert
, consulta Transmite datos a BigQuery.
bq load
Usa el comando bq load
para cargar datos en una tabla.
Sinopsis
bq load [FLAGS] DESTINATION_TABLE SOURCE_DATA [SCHEMA]
Ejemplo
bq load myDataset.newTable gs://mybucket/info.csv ./info_schema.json
Marcas y argumentos
El comando bq load
usa los siguientes argumentos y marcas:
--allow_jagged_rows={true|false}
- Para permitir que falten columnas opcionales finales en los datos CSV, configúralas como
true
. --preserve_ascii_control_characters={true|false}
- Para permitir los caracteres de control ASCII incorporados en los datos CSV, configúralo como
true
. --allow_quoted_newlines={true|false}
- Para permitir saltos de línea en secciones entrecomilladas en los datos CSV, configúralos como
true
. --autodetect={true|false}
- A fin de habilitar la detección automática de esquemas para los datos de formato CSV y JSON, configúralos como
true
. El valor predeterminado esfalse
. Si--autodetect
esfalse
, y no se especifica ningún esquema mediante la marca--schema
, y la tabla de destino existe, se usa el esquema de la tabla de destino. --clustering_fields=COLUMNS
- Una lista separada por comas de hasta cuatro nombres de columna que especifica los campos que se usarán para el agrupamiento en clústeres de la tabla.
--destination_kms_key=KEY
- Especifica un ID de recurso de clave de Cloud KMS para encriptar los datos de la tabla de destino.
--encoding=ENCODING_TYPE or -E=ENCODING_TYPE
- La codificación de caracteres que se usa en los datos. Usa uno de los siguientes valores:
ISO-8859-1
(también conocido como Latin-1)UTF-8
--field_delimiter=DELIMITER or -F=DELIMITER
- Especifica el carácter que marca el límite entre las columnas en los datos.
El delimitador puede ser cualquier carácter ISO-8859-1 de un solo byte. Puedes usar
\t
otab
para especificar delimitadores de tabulación. --ignore_unknown_values={true|false}
- Cuando se configura como
true
, en el caso de los archivos CSV y JSON, las filas con valores de columna adicionales que no coinciden con el esquema de la tabla se ignoran y no se cargan. De manera similar, para los archivos Avro, Parquet y ORC, los campos del esquema de archivos que no existen en el esquema de la tabla se ignoran y no se cargan. --json_extension=JSON_TYPE
Especifica el tipo de archivo JSON que se cargará. Solo se aplica a archivos JSON. Los valores posibles son los siguientes:
GEOJSON
: archivo GeoJSON delimitado por saltos de línea
Para usar esta marca, la marca
--source_format
debe configurarse comoNEWLINE_DELIMITED_JSON
.Para obtener más información, consulta Carga archivos GeoJSON delimitados por saltos de línea.
--max_bad_records=MAX
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, sin importar el valor--max_bad_records
. Esta marca solo se aplica para cargar datos de CSV, JSON y Hojas de cálculo de Google.--null_marker=STRING
Una string personalizada opcional que representa un valor
NULL
en los datos de formato CSV.--projection_fields=PROPERTY_NAMES
Si estableces
--source_format
enDATASTORE_BACKUP
, esta marca indica qué propiedades de la entidad se deben cargar a partir de una exportación de Datastore. Especifica los nombres de las propiedades en una lista separada por comas. Los nombres de las propiedades distinguen entre mayúsculas y minúsculas, y deben referirse a propiedades de nivel superior. También puedes usar esta marca con las exportaciones de Firestore.--quote=CHARACTER
Especifica un carácter de comillas en los campos de los datos del archivo CSV. El argumento
CHARACTER
puede ser cualquier carácter de un solo byte. El valor predeterminado son las comillas dobles ("
). Para especificar que no hay caracteres de comillas, usa una string vacía""
.--replace={true|false}
Para borrar cualquier dato y esquema existentes cuando se cargan datos nuevos, configúralos como
true
. También se quita cualquier clave de Cloud KMS, a menos que especifiques la marca--destination_kms_key
. El valor predeterminado esfalse
.Equivale al valor
WRITE_TRUNCATE
paraJobConfigurationLoad.writeDisposition
.--schema={SCHEMA_FILE|SCHEMA
}Especifica la ruta de acceso a un archivo de esquema JSON local o una lista de definiciones de columnas separadas por comas con el formato
FIELD:DATA_TYPE, FIELD:DATA_TYPE
, etcétera. Si usas un archivo de esquema, no le pongas una extensión.Por ejemplo:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
Si no se especifica ningún esquema y
--autodetect
esfalse
, y la tabla de destino existe, se usa el esquema de la tabla de destino.--schema_update_option=OPTION
Cuando se agregan datos a una tabla (en un trabajo de carga o de consulta) o se reemplaza una partición de una tabla, especifica cómo actualizar el esquema de la tabla de destino. Usa uno de los siguientes valores:
ALLOW_FIELD_ADDITION
: Permite que se agreguen campos nuevos.ALLOW_FIELD_RELAXATION
: Permite disminuir la rigurosidad de los camposREQUIRED
aNULLABLE
.
Repite esta marca para especificar varias opciones de actualización del esquema.
--skip_leading_rows=NUMBER_OF_ROWS
Un número entero que especifica la cantidad de filas que se deben omitir al principio del archivo de origen. El valor predeterminado es
0
.--source_format=FORMAT
El formato de los datos de origen. Usa uno de los siguientes valores:
CSV
NEWLINE_DELIMITED_JSON
AVRO
DATASTORE_BACKUP
(usa este valor para Filestore)PARQUET
ORC
--time_partitioning_expiration=SECONDS
Un número entero que especifica (en segundos) cuándo se debe borrar una partición basada en el tiempo. La fecha y hora de vencimiento se evalúa según la suma de la fecha de la partición en formato UTC más el valor del número entero. Si el número es negativo, no hay vencimiento.
--time_partitioning_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 se habilita sin este valor, la tabla se particiona en función del tiempo de carga.
--time_partitioning_type=INTERVAL
Habilita las particiones basadas en el tiempo en una tabla y establece el tipo de partición. Usa uno de los siguientes valores:
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
se establece enAVRO
, establece esta marca entrue
para convertir tipos lógicos en sus tipos correspondientes (comoTIMESTAMP
) en lugar de usar solo sus tipos sin procesar (comoINTEGER
).--decimal_target_types=DECIMAL_TYPE
Determina cómo convertir un tipo
Decimal
de lógica. Equivale aJobConfigurationLoad.decimalTargetTypes
. Repite esta marca para especificar varios tipos de destino.--parquet_enum_as_string={true|false}
Si la marca
--source_format
se establece enPARQUET
y deseas que BigQuery infiera los tipos lógicos de ParquetENUM
como valoresSTRING
, establece esta marca entrue
. El predeterminado esfalse
.--parquet_enable_list_inference={true|false}
Si la marca
--source_format
se configura comoPARQUET
, indica si se debe usar la inferencia de esquema para los tipos lógicosLIST
de Parquet.--reference_file_schema_uri=URI
Especifica la ruta de acceso a un archivo de referencia con el esquema de tabla esperado para crear tablas externas. Equivale a
ExternalDataConfiguration.referenceFileSchemaUri
. Esta marca está habilitada para los formatos Avro, ORC y PARQUET.DESTINATION_TABLE
La tabla en la que deseas cargar los datos.
SOURCE_DATA
El URI de Cloud Storage del archivo que contiene los datos que deseas cargar.
SCHEMA
El esquema de la tabla de destino.
Para obtener más información sobre cómo cargar datos de Cloud Storage mediante el comando bq load
, consulta los siguientes vínculos:
- Cargar datos de Avro
- Cargar datos de CSV
- Cargar datos de JSON
- Cargar datos de ORC
- Cargar datos de Parquet
- Cómo cargar datos de exportaciones de Datastore
- Carga datos de exportaciones de Cloud Firestore
Para obtener más información sobre cómo cargar datos de una fuente local con el comando bq load
, consulta los siguientes vínculos:
bq ls
Usa el comando bq ls
para enumerar objetos en una colección.
Sinopsis
bq ls [FLAGS] [RESOURCE]
Ejemplo
bq ls myDataset
Marcas y argumentos
El comando bq ls
usa los siguientes argumentos y marcas:
--all={true|false}
o-a={true|false}
- Para mostrar todos los resultados, configúralo como
true
. Muestra trabajos de todos los usuarios o de todos los conjuntos de datos, incluidos los ocultos. Esta marca no es necesaria cuando se muestra una lista de configuraciones de transferencia o ejecuciones de transferencia. El valor predeterminado esfalse
. --capacity_commitment={true|false}
Para enumerar los compromisos de capacidad, establece el valor
true
y usa la marca--location
a fin de especificar la ubicación. Para obtener más información, consulta Ve los compromisos comprados.Por ejemplo:
bq ls --capacity_commitment=true --location='us'
.--datasets={true|false}
o-d={true|false}
Para enumerar conjuntos de datos, configúralo como
true
. El valor predeterminado esfalse
.--filter="FILTER"
Filtra los recursos enumerados para que coincidan con el argumento
FILTER
.Para los conjuntos de datos,
FILTER
consta de uno o más triples separados por espacios en el formatolabels.KEY:VALUE
. Si se proporciona más de un triple, el comando solo muestra conjuntos de datos que coincidan con todos los triples (es decir, el comando utiliza el operador lógico deAND
, noOR
). Si deseas especificar más de un triple, encierra el valor deFILTER
entre comillas.Para filtrar según etiquetas de conjuntos de datos, usa las claves y los valores que aplicaste a tus conjuntos de datos.
Por ejemplo:
--filter "labels.department:marketing labels.team:sales"
Para las configuraciones de transferencia, usa
dataSourceIds
como clave y una de las siguientes fuentes de datos como valor:
amazon_s3
: Transferencia de datos de Amazon S3azure_blob_storage
: Transferencia de datos de Azure Blob Storagedcm_dt
: Transferencia de datos de Campaign Managergoogle_cloud_storage
: Transferencia de datos de Cloud Storagecross_region_copy
: Copia de conjunto de datosdfp_dt
- Transferencia de datos de Google Ad Manageradwords
- Transferencia de datos de Google Adsgoogle_ads
: Transferencia de datos de Google Ads (versión preliminar)merchant_center
: Transferencia de datos de Google Merchant Centerplay
- Transferencia de datos de Google Playscheduled_query
: Transferencia de datos de consultas programadasdoubleclick_search
- Transferencia de datos de Search Ads 360youtube_channel
: Transferencia de datos de canal de YouTubeyoutube_content_owner
: Transferencia de datos de propietario del contenido de YouTuberedshift
: Migración de Amazon Redshifton_premises
- Migración desde Teradata
Por ejemplo:
--filter labels.dataSourceIds:dcm_dt
Para las ejecuciones de transferencia, usa states
como la clave y uno de los siguientes estados de transferencia como valor:
+ SUCCEEDED
+ FAILED
+ PENDING
+ RUNNING
+ CANCELLED
For example:
<pre>
--filter labels.states:FAILED
</pre>
No se admite la marca de filtro para los trabajos.
--jobs={true|false}
o-j={true|false}
- Para enumerar los trabajos, configúralos como
true
. El valor predeterminado esfalse
. De forma predeterminada, tienes un límite de 100,000 resultados. --max_creation_time=MAX_CREATION_TIME_MS
- Es un número entero que representa una marca de tiempo ciclo de entrenamiento de Unix en milisegundos.
Cuando se especifica con la marca
--jobs
, esta marca solo enumera los trabajos creados antes de la marca de tiempo. --max_results=MAX_RESULTS or -n=MAX_RESULTS
- Es un número entero que indica la cantidad máxima de resultados. El valor predeterminado es 50 y el valor máximo es 1,000. Si tienes más de 1,000 trabajos, puedes usar la marca
page_token
para enumerar todos los trabajos mediante la paginación. - --
min_creation_time=MIN_CREATION_TIME_MS
- Es un número entero que representa una marca de tiempo ciclo de entrenamiento de Unix en milisegundos. Cuando se especifica con la marca
--jobs
, muestra una lista solo de los trabajos creados después de la marca de tiempo. --message_type=messageTypes:MESSAGE_TYPE
Para mostrar solo una lista de mensajes de registro de ejecución de transferencia pertenecientes a un tipo determinado, especifica
messageTypes:MESSAGE_TYPE
. Los valores posibles son los siguientes:INFO
WARNING
ERROR
--models={true|false}
o-m={true|false}
Para enumerar los modelos de BigQuery ML, configúralo como
true
. El valor predeterminado esfalse
.--page_token=TOKEN
o-k=TOKEN
Muestra una lista de los elementos a partir del token de la página especificado.
--projects={true|false}
o-p={true|false}
Para mostrar todos los proyectos, configúralo como
true
. El valor predeterminado esfalse
.--reservation={true|false}
Para enumerar todas las reservas de un proyecto y una ubicación determinados, configúralo como
true
. El valor predeterminado esfalse
. Úsalo con las marcas--project_id
y--location
.Por ejemplo:
bq ls --reservation=true --project_id=myProject --location=us
--reservation_assignment={true|false}
Para enumerar todas las asignaciones de reserva de una ubicación y un proyecto determinados, configúralos como
true
. El valor predeterminado esfalse
. Úsalo con las marcas--project_id
y--location
.--routines={true|false}
Para enumerar todas las rutinas en el conjunto de datos especificado, configúrala como
true
. El valor predeterminado esfalse
. Las rutinas incluyen lo siguiente: funciones persistentes definidas por el usuario, funciones de tabla (Vista previa) y procedimientos almacenados.--row_access_policies
Cuando se especifique, enumera todas las políticas de acceso a nivel de fila en una tabla. Las políticas de acceso a nivel de fila se usan para la seguridad a nivel de fila. Debes proporcionar el nombre de la tabla en el formato
dataset.table
.--run_attempt=RUN_ATTEMPT
Úsalo con la marca
--transfer_run
. Para enumerar todos los intentos de ejecución de la ejecución de la transferencia especificada, configúrala comoRUN_ATTEMPT_UNSPECIFIED
. Para enumerar solo el intento de ejecución más reciente, estableceLATEST
. El valor predeterminado esLATEST
.--transfer_config={true|false}
Para mostrar una lista de las opciones de configuración de la transferencia en el proyecto y la ubicación que se especificaron, configúralos como
true
. Úsalo con las marcas--transfer_location
y--project_id
. El valor predeterminado esfalse
.--transfer_location=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={true|false}
Úsalo con la marca
--transfer_run
. Para mostrar una lista de los mensajes de registro de transferencia de la ejecución de transferencias que se especificó, configúrala comotrue
. El valor predeterminado esfalse
.--transfer_run={true|false}
Enumera las ejecuciones de transferencia para la configuración de la transferencia especificada.
Por ejemplo:
bq ls --transfer_run=true projects/myProject/locations/us/transferConfigs/12345
RESOURCE
La colección cuyos objetos deseas enumerar. El recurso puede ser un conjunto de datos, un proyecto, una reserva o una configuración de transferencia.
Para obtener más información sobre el uso del comando bq ls
, consulta los siguientes vínculos:
- Administra trabajos
- Haz una lista de los conjuntos de datos
- Crea y usa tablas
- Muestra una lista de las vistas de un conjunto de datos
- Trabaja con transferencias
- Enumera instantáneas de tablas en un conjunto de datos
bq mk
Usa el comando bq mk
para crear un recurso de BigQuery.
Sinopsis
bq mk TYPE_FLAG [OTHER FLAGS] [ARGS]
Marcas y argumentos
El comando bq mk
toma una marca de tipo que especifica el tipo de recurso que deseas crear y otras marcas que dependen del tipo de recurso.
TYPE_FLAG
: Establece una de las siguientes marcas en true
.
Tu selección especifica el tipo de recurso que deseas crear.
--capacity_commitment
: Compra un compromiso de capacidad.--connection
: Crea una conexión.--dataset
o-d
: Crea un conjunto de datos.--materialized_view
: Crea una vista materializada.--reservation
: Crea una reserva.--reservation_assignment
: Asigna una carpeta, organización o proyecto a una reserva.--table
o-t
: Crea una tabla.--transfer_config
: Crea una configuración de transferencia.--transfer_run
: Crea una ejecución de transferencia para un intervalo de tiempo.--view
: Crea una vista.
El comando bq mk
admite la siguiente marca para todos los tipos de recursos:
--force={true|false}
o-f={true|false}
- Para ignorar errores si ya existe un recurso con el mismo nombre, configúralo como
true
. Si el recurso ya existe, el código de salida es 0, pero establecer esta marca entrue
no hará que el comandobq mk
reemplace el recurso. El valor predeterminado esfalse
.
El comando bq mk
admite marcas adicionales, según el tipo de recurso
que crees, como se describe en las siguientes secciones.
bq mk --capacity_commitment
Para comprar un compromiso de capacidad, configura --capacity_commitment
como true
y usa las siguientes marcas:
--location=LOCATION
- Especifica la ubicación del compromiso.
--plan=PLAN_TYPE
- Especifica el tipo de plan del compromiso.
Configúralo con uno de los siguientes valores:
FLEX
MONTHLY
ANNUAL
--renewal_plan=RENEWAL_TYPE
- Especifica el tipo de plan de renovación.
Solo se aplica a un plan de compromiso de
ANNUAL
. Uno de los siguientes:FLEX
MONTHLY
ANNUAL
--project_id=PROJECT_ID
- Especifica el proyecto que administra las ranuras.
--slots=NUMBER_OF_SLOTS
- Especifica la cantidad de ranuras que se deben comprar.
Para obtener más información, consulta Adquiere ranuras.
bq mk --connection
Crea una conexión. Se admiten las siguientes marcas:
--connection_type=CONNECTION_TYPE
- El tipo de conexión, por ejemplo,
CLOUD_SQL
para conexiones de Cloud SQL. --properties=PROPERTIES
- Parámetros de conexión específicos en formato JSON Se deben especificar
instanceId
,database
ytype
. --connection_credential=CONNECTION_CREDENTIAL
- Las credenciales de la conexión en formato JSON. Se deben especificar
username
ypassword
. --project_id=PROJECT_ID
- Especifica el ID del proyecto al que pertenece la conexión.
--location=LOCATION
- Especifica la ubicación en la que se almacenará la conexión.
--display_name=DISPLAY_NAME
- Especifica un nombre descriptivo opcional para la conexión.
--description=DESCRIPTION
- Especifica una descripción opcional de la conexión.
--iam_role_id=ROLE_ID
En BigQuery Omni en AWS, especifica una función de IAM que permite el acceso al recurso.
Usa el siguiente formato:
"arn:aws:iam::AWS_ACCOUNT_ID:role/POLICY_NAME"
, en el que:- AWS_ACCOUNT_ID: Es el número de ID del usuario de IAM de AWS de la conexión.
- POLICY_NAME es el nombre de la política.
Ejemplo:
"arn:aws:iam::0123456789AB:policy/s3-read-role"
--tenant_id=TENANT_ID
Para BigQuery Omni en Azure, especifica el ID de usuario del directorio de Azure que contiene la cuenta de Azure Storage.
CONNECTION_ID
Especifica un ID de conexión opcional para la conexión. Si no se proporciona un ID de conexión, se genera un ID único de forma automática. El ID de conexión puede contener letras, números y guiones bajos.
Para obtener más información, consulta Cómo crear conexiones.
bq mk --dataset
Crea un conjunto de datos. Se admiten las siguientes marcas:
--default_kms_key=KEY
- Especifica el ID de recurso de la clave de Cloud KMS predeterminado para encriptar los datos de la tabla en un conjunto de datos si no se proporciona una clave explícita durante la creación o la búsqueda de la tabla.
--default_partition_expiration=SECONDS
- Es un número entero que especifica el vencimiento predeterminado (en segundos) de todas las particiones de las tablas particionadas nuevas que se crean en el conjunto de datos. La fecha y hora de vencimiento de una partición se determina según la suma de la fecha de la partición en formato UTC más el valor del número entero.
Si se configura esta propiedad, su valor anula el vencimiento predeterminado de la tabla definido para todo el conjunto de datos, si existe. Si suministras la marca
--time_partitioning_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 a nivel del conjunto de datos. --default_table_expiration=SECONDS
- Es un número entero que especifica la duración predeterminada (en segundos) de las tablas nuevas que se crean en un conjunto de datos. La fecha y hora de vencimiento se determina mediante la suma de la hora actual en formato UTC más este valor.
--description=DESCRIPTION
- Especifica la descripción del conjunto de datos.
--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
. La marca--data_location
es heredada. --max_time_travel_hours=HOURS
En vista previa. Especifica la duración en horas del período del viaje en el tiempo para el conjunto de datos. El valor
--max_time_travel_hours
debe ser un número entero entre 48 (2 días) y 168 (7 días). Si no se especifica esta marca, 168 horas es el valor predeterminado.Para obtener más información sobre el período de viaje en el tiempo, consulta Configura el período de viaje en el tiempo.
--storage_billing_model=BILLING_MODEL
En vista previa. Especifica el modelo de facturación de almacenamiento del conjunto de datos. Configura este valor de marca como
LOGICAL
si quieres usar bytes lógicos para la facturación de almacenamiento o comoPHYSICAL
si quieres usar bytes físicos.LOGICAL
es el valor predeterminado si no se especifica esta marca.Para obtener más información, consulta Modelos de facturación de almacenamiento de conjuntos de datos.
Para obtener más información, consulta Crea conjuntos de datos.
bq mk --materialized_view
Crea una vista materializada. Se admiten las siguientes marcas:
--enable_refresh={true|false}
- Para inhabilitar la actualización automática de una vista materializada, configúrala como
false
. El valor predeterminado cuando se crea una vista materializada estrue
. --refresh_interval_ms=MILLISECONDS
- Especifica la cantidad de milisegundos para el intervalo de actualización de una vista materializada. Si no se especifica esta marca, el intervalo de actualización predeterminado para una vista materializada que tenga habilitada la actualización es de 1,800,000 milisegundos, que equivale a 30 minutos.
Para obtener más información, consulta Crea y usa vistas materializadas.
bq mk --reservation
Crea una reserva con ranuras dedicadas. Se admiten las siguientes marcas:
--concurrency=CONCURRENCY
- En versión preliminar. Especifica la cantidad objetivo de las consultas que se ejecutan de forma simultánea. El valor predeterminado es 0, lo que significa que la simultaneidad se calcula de forma automática según el tamaño de la reserva. Para obtener más información, consulta Usa colas de consultas.
--ignore_idle_slots={true|false}
- Para restringir los trabajos que se ejecutan en esta reserva a fin de que solo usen las ranuras asignadas a
la reserva, configúrala como
true
. El valor predeterminado esfalse
. Los trabajos de esta reserva pueden usar ranuras inactivas de otras reservas o ranuras que no se asignaron a ninguna reserva. Para obtener más información, consulta Ranuras inactivas. --location=LOCATION
- Especifica la ubicación de la reserva.
--project_id=PROJECT_ID
- Especifica el proyecto al que pertenece la reserva.
--slots=NUMBER_OF_SLOTS
- Es la cantidad de ranuras que se asignarán a esta reserva.
Para obtener más información, consulta Crea una reserva con ranuras dedicadas.