Referência da ferramenta de linha de comando bq
Este documento descreve a sintaxe, comandos, sinalizações e argumentos da bq
,
a ferramenta de linha de comando do BigQuery.
Ela é destinada a usuários que já estão familiarizados com o BigQuery, mas
que querem saber como usar um determinado comando da ferramenta de linha de comando bq
.
Para informações gerais sobre como usar a ferramenta de linha de comando bq
, consulte
Como usar a ferramenta de linha de comando bq
.
Sinopse
A ferramenta de linha de comando bq
usa o seguinte formato:
bq COMMAND [FLAGS] [ARGUMENTS]
Algumas sinalizações podem ser usadas com vários comandos da ferramenta de linha de comando bq
: essas sinalizações são
descritas na seção Sinalizações globais.
Outras sinalizações são específicas de comandos; só podem ser usadas com um comando
específico da ferramenta de linha de comando bq
. As sinalizações específicas de comando são descritas nas seções de
comando.
Sinalizações booleanas
Algumas sinalizações da ferramenta de linha de comando bq
são booleanas; defina o valor da
sinalização como true
ou false
.
A ferramenta de linha de comando bq
aceita os seguintes formatos para definir sinalizações booleanas.
Valor | Formato | Exemplo |
---|---|---|
true |
--FLAGNAME=true |
--debug_mode=true |
true |
--FLAGNAME |
--debug_mode |
false |
--FLAGNAME=false |
--debug_mode=false |
false |
--noFLAGNAME |
--nodebug_mode |
Este documento usa o formato --FLAGNAME=VALUE
para sinalizações booleanas.
Todas as sinalizações booleanas são opcionais. Se uma sinalização booleana não estiver presente, o BigQuery usará o valor padrão da sinalização.
Como especificar valores para sinalizações
Quando você especifica um valor para uma sinalização, o sinal de igual (=
) é opcional. No exemplo abaixo,
as seguintes consultas são equivalentes:
bq ls --format prettyjson myDataset bq ls --format=prettyjson myDataset
Neste documento, usamos o sinal de igual para maior clareza.
Ajuda on-line
A documentação está disponível na ferramenta de linha de comando bq
da seguinte maneira:
Descrição | Formato do comando de ajuda | Exemplo |
---|---|---|
Lista de todos os comandos com exemplos | bq help |
bq help |
Descrição das sinalizações globais | bq --help |
bq --help |
Descrição de um comando específico | bq help COMMAND |
bq help mk |
Especificação de recursos
O formato para especificar um recurso depende do contexto. Em alguns casos,
o separador entre o projeto e o conjunto de dados é dois pontos (:
) e, em alguns casos,
um ponto (.
). A tabela
a seguir descreve como especificar uma tabela do BigQuery em contextos diferentes.
Context | Formato | Exemplo |
---|---|---|
Ferramenta de linha de comando bq |
PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
Consulta SQL padrão | PROJECT.DATASET.TABLE |
myProject.myDataset.myTable |
Consulta do SQL legado | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
Se você não especificar um projeto, o BigQuery usará o projeto
atual. Por exemplo, se o projeto atual for myProject
, o
BigQuery interpretará myDataset.myTable
como
myProject:myDataset.myTable
(ou myProject.myDataset.myTable
).
Alguns identificadores de recurso precisam ser citados com acentos graves (`
).
Se o identificador de recurso começar com uma letra ou um caractere de
sublinhado e contiver apenas caracteres que sejam letras, números e sublinhados,
não será necessário citá-lo. No entanto, se o identificador de
recurso contiver outros tipos de
caracteres ou palavras-chave reservadas, você precisará cercar o identificador (ou a
parte do identificador com os caracteres especiais ou palavras-chave reservadas) com acentos
graves. Para mais informações, consulte
Identificadores.
Sinalizações globais
Use as sinalizações a seguir com qualquer comando bq
, quando aplicável:
--api=ENDPOINT
- Especifica o endpoint da API a ser chamada. O valor padrão é
https://www.googleapis.com
. --api_version=VERSION
- Especifica a versão da API a ser usada. O padrão é
v2
. --apilog=FILE
Registra todas as solicitações e respostas de API no arquivo especificado por
FILE
. Os valores possíveis são:- o caminho para um arquivo - registra para o arquivo especificado
stdout
: grava na saída padrãostderr
: registra para erro padrãofalse
: as solicitações e as respostas da API não são registradas (padrão)
--bigqueryrc=PATH
Especifica o caminho para o arquivo de configuração da ferramenta de linha de comando
bq
. Se você não especificar a sinalização--bigqueryrc
, o comando usará a variável de ambienteBIGQUERYRC
. Se a variável de ambiente não estiver configurada,$HOME/.bigqueryrc
será usado. Se esse arquivo não existir, será usado~/.bigqueryrc
. Para mais informações, consulte Como configurar valores padrão para sinalizações de linha de comando.--ca_certificates_file=PATH
Especifica a localização do arquivo do Certificate Authority Service (CA, na sigla em inglês).
--dataset_id=DATASET_ID
Especifica o conjunto de dados padrão a ser usado com o comando. Essa sinalização é ignorada quando não aplicável. É possível especificar o argumento
DATASET_ID
usando o formatoPROJECT:DATASET
ouDATASET
. Se a partePROJECT
estiver ausente, o projeto padrão será usado. É possível substituir a configuração padrão do projeto especificando a sinalização--project_id
.--debug_mode={true|false}
Se definido como
true
, mostra rastreamentos em exceções do Python. O valor padrão éfalse
.--disable_ssl_validation={true|false}
Se definido como
true
, ativa a validação do certificado HTTPS. O valor padrão éfalse
.--discovery_file=PATH
Especifica o arquivo JSON que será lido para descoberta.
--enable_gdrive={true|false}
Se definido como
false
, solicita um novo token OAuth sem escopo do Drive. O valor padrão étrue
; solicita um novo token OAuth com escopo do Drive.--fingerprint_job_id={true|false}
Para usar um ID do job derivado de uma impressão digital da configuração do job, defina como
true
. Isso evita que o mesmo job seja executado várias vezes acidentalmente. O valor padrão éfalse
.--format=FORMAT
Especifica o formato da saída do comando. Use um dos seguintes valores:
pretty
: saída de tabela formatadasparse
: saída de tabela mais simplesprettyjson
: formato JSON fácil de lerjson
: JSON compactado ao máximocsv
: formato csv com cabeçalho
pretty
,sparse
eprettyjson
foram desenvolvidos para ser legíveis por humanos.json
ecsv
devem ser usados por outro programa. Senone
for especificado, o comando não produzirá saída. Se a sinalização--format
não estiver presente, um formato de saída apropriado será escolhido com base no comando.--headless={true|false}
Para executar a sessão
bq
sem interação do usuário, defina comotrue
. Por exemplo,debug_mode
não forçará a entrada no depurador, e a frequência da impressão informativa será reduzida. O valor padrão éfalse
.--httplib2_debuglevel=DEBUG_LEVEL
Especifica se as informações de depuração HTTP serão exibidas. Se
DEBUG_LEVEL
for maior que0
, o comando registrará solicitações e respostas do servidor HTTP para stderr, além de mensagens de erro. SeDEBUG_LEVEL
não for > 0, ou se a sinalização--httplib2_debuglevel
não for usada, apenas mensagens de erro serão fornecidas.Exemplo:
--httplib2_debuglevel=1
--job_id=JOB_ID
Especifica um identificador de job para um novo job. Essa sinalização aplica-se apenas aos comandos que criam jobs:
cp
,extract
,load
equery
. Se você não usar a sinalização--job_id
, os comandos gerarão um identificador de job exclusivo. Para mais informações, consulte Como executar jobs de maneira programática.--job_property=KEY:VALUE
Um par de chave-valor a ser incluído no campo de propriedades da configuração do job. Repita essa sinalização para especificar outras propriedades.
--location=LOCATION
Uma string correspondente ao local da sua região ou multirregião. A sinalização de local é obrigatória nos comandos
bq cancel
ebq show
quando você usa a sinalização--jobs
para mostrar informações sobre jobs. Nos comandos a seguir, ela é opcional:query
cp
load
extract
partition
wait
mk
quando você usa a sinalização--dataset
para criar um conjunto de dados
Todos os outros comandos ignoram a sinalização
--location
.--max_rows_per_request=MAX_ROWS
Um número inteiro que especifica o número máximo de linhas a serem retornadas por leitura.
--project_id=PROJECT
Especifica o projeto a ser usado para comandos.
--proxy_address=PROXY
O nome ou endereço IP do host proxy a ser usado para conexão com o Google Cloud.
--proxy_password=PASSWORD
Especifica a senha a ser usada ao autenticar com o host proxy.
--proxy_port=PORT
Especifica o número da porta a ser usado para se conectar ao host proxy.
--proxy_username=USERNAME
Especifica o nome de usuário a ser usado na autenticação com o host de proxy.
--quiet={true|false}
ou-q={true|false}
Para suprimir atualizações de status enquanto os jobs estão em execução, defina como
true
. O valor padrão éfalse
.--synchronous_mode={true|false}
ou-sync={true|false}
Para criar o job e retornar imediatamente, com um status de conclusão bem-sucedido como código de erro, defina como
false
. Se definido comotrue
, o comando aguardará a conclusão do job antes de retornar e retornará o status de conclusão do job como o código do erro. O valor padrão étrue
.--trace=token:TOKEN
Especifica um token de rastreamento a ser incluído nas solicitações da API.
Sinalizações globais obsoletas
As sinalizações globais a seguir para configurar a autorização da ferramenta de linha de comando bq
estão obsoletas. Para configurar a autorização da ferramenta
de linha de comando bq
, consulte
Como autorizar ferramentas da Google Cloud CLI.
--application_default_credential_file
Para mais informações, consulte
Autenticação como uma conta de
serviço.
O valor padrão é ''
.
--credential_file
O nome de arquivo usado para armazenar o token OAuth. O
valor padrão é $HOME/.bigquery.v2.token
.
--service_account
Especifica um endereço de e-mail da conta de serviço a ser usado para autorização. Exemplo:
1234567890@developer.gserviceaccount.com.
--service_account_credential_file
O arquivo usado como armazenamento de credenciais para contas de serviço. Será necessário definir essa sinalização se você estiver usando uma conta de serviço.
--service_account_private_key_file
O arquivo que contém a chave privada da conta
de serviço. Essa sinalização será obrigatória se
--service_account
for
especificada. O valor padrão é ''
.
--service_account_private_key_password
A senha da chave privada. A senha precisa corresponder à que você
definiu na chave ao criá-la.
O valor padrão é notasecret
.
--use_gce_service_account={true|false}
Para usar as credenciais da conta
de serviço em vez de credenciais armazenadas ao executar
uma instância do Compute Engine, defina como true
. O valor padrão
é false
;
são usadas as credenciais armazenadas.
Para mais informações, consulte:
Como criar e ativar contas de serviço para instâncias.
A sinalização global a seguir para especificar sinalizações da ferramenta de linha de comando bq
de um arquivo
está
obsoleta. Para especificar sinalizações de um arquivo, use a
sinalização --bigqueryrc
.
--flagfile=PATH
Quando essa sinalização é especificada, as definições de sinalização do arquivo fornecido são inseridas
na
ferramenta de linha de comando bq
. O valor padrão é ''
.
Para mais informações, consulte Como configurar valores padrão para sinalizações de linha de comando.
Comandos
As seções a seguir descrevem os comandos da ferramenta de linha de comando bq
, além das
sinalizações e argumentos específicos dos comandos.
bq add-iam-policy-binding
Use o comando bq add-iam-policy-binding
para recuperar a
política de gerenciamento de identidade e acesso (IAM, na sigla em inglês) de uma tabela ou visualização e adicionar uma vinculação à
política em uma etapa.
Esse comando é uma alternativa ao processo de três etapas a seguir:
- Como usar o comando
bq get-iam-policy
para recuperar o arquivo de política (no formato JSON). - Como editar o arquivo de política.
- Como usar o comando
bq set-iam-policy
para atualizar a política com uma nova vinculação.
Sinopse
bq add-iam-policy-binding [FLAGS] --member=MEMBER_TYPE:MEMBER --role=ROLE [--table] RESOURCE
Exemplo
bq add-iam-policy-binding --member=user:myAccount@gmail.com \ --role=roles/bigquery.dataViewer myDataset.myTable
Sinalizações e argumentos
O comando bq add-iam-policy-binding
usa as seguintes sinalizações e
argumentos:
--member=MEMBER_TYPE:MEMBER
Obrigatório. Use a sinalização
--member
para especificar a parte do membro da vinculação da política do IAM. A sinalização--member
é obrigatória com a sinalização--role
. Uma combinação de sinalizações--member
e--role
é igual a uma vinculação.O valor
MEMBER_TYPE
especifica o tipo de membro na vinculação da política do IAM. Use um dos seguintes valores:user
serviceAccount
group
domain
O valor
MEMBER
especifica o endereço de e-mail ou o domínio do membro na vinculação política do IAM.--role=ROLE
Obrigatório. Especifica a parte do papel da vinculação de política do IAM. A sinalização
--role
é obrigatória com a sinalização--member
. Uma combinação de sinalizações--member
e--role
é igual a uma vinculação.--table={true|false}
Para retornar um erro se o argumento
RESOURCE
não for um identificador de tabela ou visualização, defina a sinalização--table
comotrue
. O valor padrão éfalse
. Essa sinalização é compatível com a consistência de outros comandos.- RESOURCE
A tabela ou a visualização com a política que você quer adicionar.
Para mais informações, consulte a referência da política do IAM.
bq cancel
Use o comando bq cancel
para cancelar jobs do BigQuery.
Sinopse
bq [--synchronous_mode=false] cancel JOB_ID
Exemplos
bq cancel bqjob_12345
bq --synchronous_mode=false cancel bqjob_12345
Sinalizações e argumentos
O comando bq cancel
usa as seguintes sinalizações e argumentos:
--synchronous_mode=false
- Se você não quiser aguardar a conclusão do comando
bq cancel
, defina a sinalização global--synchronous_mode
comofalse
. O padrão étrue
. JOB_ID
- O job que você quer cancelar.
Para mais informações sobre como usar o comando bq cancel
, consulte
Como gerenciar jobs.
bq cp
Use o comando bq cp
para as seguintes tarefas:
- Crie uma cópia de uma tabela, de um clone de tabela ou de um snapshot de tabela.
- Crie um clone da tabela.
- Crie um snapshot da tabela.
Sinopse
bq cp [FLAGS] SOURCE_TABLE DESTINATION_TABLE
Exemplo
bq cp myDataset.myTable myDataset.myTableCopy
Sinalizações e argumentos
O comando bq cp
usa as seguintes sinalizações e argumentos:
--append_table={true|false}
ou-a={true|false}
- Para anexar uma tabela a uma tabela atual, defina como
true
. O valor padrão éfalse
. --clone={true|false}
- Para criar um clone de tabela, defina como
true
. A tabela de origem pode ser uma tabela padrão, um clone de tabela ou um snapshot de tabela. A tabela de destino é um clone da tabela. O padrão éfalse
. Se--clone=true
e--snapshot=true
não forem especificados, a tabela de destino será o mesmo tipo da tabela de origem. --destination_kms_key=KEY
Especifica um ID de recurso de chave do Cloud KMS para criptografar os dados da tabela de destino.
Exemplo:
--destination_kms_key=projects/myProject/locations/global/keyRings/myKeyRing/cryptoKeys/myKey
--expiration=SECONDS
O número de segundos até a expiração de um snapshot da tabela. Se não for incluído, a expiração do snapshot da tabela será definida como a expiração padrão do conjunto de dados que contém o novo snapshot da tabela. Use com a sinalização
--snapshot
.--force={true|false}
ou-f={true|false}
Para substituir a tabela de destino, se houver, sem prompt, defina como
true
. O valor padrão éfalse
; se a tabela de destino existir, o comando solicitará uma confirmação antes da substituição.--no_clobber={true|false}
ou-n={true|false}
Para proibir a substituição da tabela de destino, se ela existir, defina como
true
. O valor padrão éfalse
; se a tabela de destino existir, ela será substituída.--restore={true|false}
A sinalização terá o uso suspenso. Para criar uma tabela gravável em um snapshot de tabela, use os comandos
bq cp
oubq cp --clone
.--snapshot={true|false}
Para criar um snapshot da tabela especificada no argumento
SOURCE_TABLE
, defina comotrue
. A tabela de origem pode ser uma tabela padrão, um clone de tabela ou outro snapshot de tabela. O padrão éfalse
. Se--clone=true
e--snapshot=true
não forem especificados, a tabela de destino será o mesmo tipo da tabela de origem. Requer a sinalização--no_clobber
.SOURCE_TABLE
A tabela que você quer copiar.
DESTINATION_TABLE
A tabela para onde você quer copiar.
Para mais informações sobre como usar o comando cp
, consulte:
bq extract
Use o comando bq extract
para exportar dados da tabela ao Cloud Storage.
Sinopse
bq extract [FLAGS] RESOURCE DESTINATION
Exemplos
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
Sinalizações e argumentos
O comando bq extract
usa as seguintes sinalizações e argumentos:
--compression=COMPRESSION_TYPE
Especifica o tipo de compactação a ser usado para arquivos exportados. Os valores possíveis são:
GZIP
DEFLATE
SNAPPY
NONE
O valor padrão é
NONE
.Para ver informações sobre quais formatos são compatíveis com cada tipo de compactação, consulte Exportar formatos e tipos de compactação.
--destination_format=FORMAT
Especifica o formato dos dados exportados. Os valores possíveis são:
CSV
NEWLINE_DELIMITED_JSON
AVRO
PARQUET
O valor padrão é
CSV
.--field_delimiter=DELIMITER
Nas exportações CSV, especifica o caractere que marca o limite entre as colunas no arquivo de saída. O separador pode ser qualquer caractere ISO-8859-1 de um byte. É possível usar
\t
outab
para especificar delimitadores de tabulação.--print_header={true|false}
Para suprimir linhas de cabeçalho de impressão para formatos que tenham cabeçalhos, defina como
false
. O padrão étrue
; linhas de cabeçalho estão incluídas.- RESOURCE
A tabela da qual você está exportando.
- DESTINATION
O local de armazenamento que recebe os dados exportados.
Para mais informações sobre como usar o comando bq extract
, consulte
Como exportar dados da tabela.
bq get-iam-policy
Use o comando bq get-iam-policy
para recuperar a
política do IAM
de um recurso e
imprima-a no stdout
. O recurso pode ser uma tabela ou uma visualização. A política está no
formato JSON.
Sinopse
bq get-iam-policy [FLAGS] RESOURCE
Exemplo
bq get-iam-policy myDataset.myTable
Sinalizações e argumentos
O comando bq get-iam-policy
usa as seguintes sinalizações e argumentos:
--table={true|false}
ou--t={true|false}
- Para retornar um erro se
RESOURCE
não for um identificador de tabela ou visualização, defina a sinalização--table
comotrue
. O valor padrão éfalse
. Essa sinalização é compatível com a consistência de outros comandos. RESOURCE
- A tabela ou visualização da política que você quer receber.
Para mais informações sobre o comando bq get-iam-policy
, consulte
Introdução aos controles de acesso à tabela.
bq head
Use o comando bq head
para exibir as linhas e colunas especificadas de uma tabela.
Por padrão, ele exibe todas as colunas das primeiras 100 linhas.
Sinopse
bq head [FLAGS] [TABLE]
Exemplo
bq head --max_rows=10 --start_row=50 --selected_fields=field1,field3 \ myDataset.myTable
Sinalizações e argumentos
O comando bq head
usa as seguintes sinalizações e argumentos:
--job=JOB or -j=JOB
- Para ler os resultados de um job de consulta, especifique essa sinalização com um ID de job válido.
--max_rows=MAX or -n=MAX
- Um número inteiro que indica o número máximo de linhas a serem impressas ao
mostrar dados da tabela. O valor padrão é
100
. --selected_fields=COLUMN_NAMES or -c=COLUMN_NAMES
- Uma lista separada por vírgulas que indica um subconjunto de campos (incluindo campos aninhados e repetidos) para retornar ao mostrar dados da tabela. Se essa sinalização não for especificada, todas as colunas serão retornadas.
--start_row=START_ROW or -s=START_ROW
- Um número inteiro que especifica a quantidade de linhas a serem ignoradas
antes de mostrar os dados da tabela. O valor padrão é
0
; os dados da tabela começam na primeira linha. --table={true|false}
ou-t={true|false}
- Para retornar um erro se o argumento do comando não for uma
tabela ou visualização, defina como
true
. O valor padrão éfalse
. Essa sinalização é compatível com a consistência de outros comandos. TABLE
- A tabela cujos dados você quer recuperar.
Para mais informações sobre como usar o comando bq head
, consulte
Como gerenciar dados de tabela.
bq help
Use o comando bq help
para exibir a documentação da ferramenta de linha de comando bq
na ferramenta.
Sinopse
bq help [COMMAND]
Sinalizações e argumentos
O comando bq help
usa as seguintes sinalizações e argumentos:
COMMAND
- Especifica um comando específico da ferramenta de linha de comando
bq
para receber ajuda on-line.
bq insert
Use o comando bq insert
para inserir linhas de dados delimitados por nova linha
em formato JSON em uma tabela de um arquivo usando a inserção por streaming. Os tipos
de dados são convertidos para corresponder
aos tipos de coluna da tabela de destino. Esse comando é usado apenas para testes. Use o método de API insertAll
para fazer streaming de dados para o BigQuery.
Sinopse
bq insert [FLAGS] TABLE FILE
Exemplos
bq insert --ignore_unknown_values --template_suffix=_insert myDataset.myTable /tmp/myData.json
echo '{"a":1, "b":2}' | bq insert myDataset.myTable
Sinalizações e argumentos
O comando bq insert
usa as seguintes sinalizações e argumentos:
--ignore_unknown_values={true|false}
ou-i={true|false}
- Quando definido como
true
, o BigQuery ignora todos os pares de chave-valor que não correspondem ao esquema da tabela e insere a linha com os dados que correspondem ao esquema. Quando definido comofalse
, as linhas com dados que não correspondem ao esquema da tabela não são inseridas. O padrão éfalse
. --skip_invalid_rows={true|false}
ou-s={true|false}
- Quando definido como
true
, o BigQuery tenta inserir qualquer linha válida, mesmo que haja linhas inválidas. Quando definido comofalse
, o comando falhará se houver linhas inválidas. O padrão éfalse
. --template_suffix=SUFFIX or -x=SUFFIX
- Quando especificada, trata a tabela de destino TABLE como um
modelo base e insere as linhas em uma tabela de instâncias denominada
{destination}{templateSuffix}
. O BigQuery cria a tabela de instâncias usando o esquema do modelo base. TABLE
- A tabela em que você quer inserir dados.
FILE
- O arquivo que contém os dados que você quer inserir.
Saiba mais sobre como usar o comando bq insert
em
Como fazer streaming de dados para o BigQuery.
bq load
Use o comando bq load
para carregar dados em uma tabela.
Sinopse
bq load [FLAGS] DESTINATION_TABLE SOURCE_DATA [SCHEMA]
Exemplo
bq load myDataset.newTable gs://mybucket/info.csv ./info_schema.json
Sinalizações e argumentos
O comando bq load
usa as seguintes sinalizações e argumentos:
--allow_jagged_rows={true|false}
- Para permitir a falta de colunas opcionais à direita nos dados CSV, defina como
true
. --preserve_ascii_control_characters={true|false}
- Para permitir caracteres de controle ASCII incorporados nos dados CSV, defina como
true
. --allow_quoted_newlines={true|false}
- Para permitir novas linhas entre aspas em dados CSV, defina como
true
. --autodetect={true|false}
- Para ativar a detecção automática de esquema em dados CSV e JSON, defina como
true
. O padrão éfalse
. Se--autodetect
forfalse
e nenhum esquema for especificado usando a sinalização--schema
e a tabela de destino existir, o esquema da tabela de destino será usado. --clustering_fields=COLUMNS
- Uma lista separada por vírgulas de até quatro nomes de colunas que especifica os campos a serem usados para o clustering de tabelas.
--destination_kms_key=KEY
- Especifica um ID de recurso de chave do Cloud KMS para criptografar os dados da tabela de destino.
--encoding=ENCODING_TYPE or -E=ENCODING_TYPE
- A codificação de caracteres usada nos dados. Use um dos seguintes valores:
ISO-8859-1
(também conhecido como Latin-1)UTF-8
--field_delimiter=DELIMITER or -F=DELIMITER
- Especifica o caractere que marca o limite entre colunas nos dados.
O delimitador pode ser qualquer caractere ISO-8859-1 de um byte. É possível usar
\t
outab
para especificar os delimitadores de guia. --ignore_unknown_values={true|false}
- Quando definido como
true
, ignora e não carrega linhas de arquivos CSV e JSON com valores de colunas extras que não correspondem ao esquema da tabela. Da mesma forma, para arquivos Avro, Parquet e ORC, os campos no esquema de arquivo que não existem no esquema da tabela são ignorados e não são carregados. --json_extension=JSON_TYPE
Especifica o tipo de arquivo JSON que será carregado. Aplicável apenas a arquivos JSON. Os valores possíveis são:
GEOJSON
: arquivo GeoJSON delimitado por nova linha.
Para usar essa sinalização, a sinalização
--source_format
precisa ser definida comoNEWLINE_DELIMITED_JSON
.Para mais informações, consulte Como carregar arquivos GeoJSON delimitados por nova linha.
--max_bad_records=MAX
Um número inteiro que especifica o número máximo de registros inválidos permitidos antes de uma falha em todo o job. O valor padrão é
0
. No máximo, cinco erros de qualquer tipo são retornados, seja qual for o valor de--max_bad_records
. Essa sinalização aplica-se ao carregamento apenas de dados CSV, JSON e Planilhas.--null_marker=STRING
Uma string personalizada opcional que representa um valor
NULL
nos dados CSV.--projection_fields=PROPERTY_NAMES
Se você definir
--source_format
comoDATASTORE_BACKUP
, essa sinalização indicará quais propriedades da entidade serão carregadas de uma exportação do Datastore. Especifique os nomes das propriedades em uma lista separada por vírgulas. Nomes de propriedades diferenciam maiúsculas e minúsculas e precisam fazer referência às propriedades de nível superior. Também é possível usar essa sinalização com exportações do Firestore.--quote=CHARACTER
Especifica um caractere de aspas ao redor dos campos nos dados CSV. O argumento
CHARACTER
pode ser qualquer caractere de um byte. O valor padrão é aspas duplas ("
). Para especificar que não há caracteres de aspas, use uma string vazia""
.--replace={true|false}
Para apagar todos os dados e esquemas atuais quando novos dados forem carregados, defina como
true
. Todas as chaves do Cloud KMS também são removidas, a menos que você especifique a sinalização--destination_kms_key
. O valor padrão éfalse
.--schema={SCHEMA_FILE|SCHEMA
}Especifica o caminho para um arquivo de esquema JSON local ou uma lista separada por vírgulas de definições de coluna no formato
FIELD:DATA_TYPE, FIELD:DATA_TYPE
e assim por diante. Se você usar um arquivo de esquema, não atribua uma extensão a ele.Exemplo:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
Se nenhum esquema for especificado e
--autodetect
forfalse
, e a tabela de destino existir, o esquema da tabela de destino será usado.--schema_update_option=OPTION
Ao anexar dados a uma tabela (em um job de carregamento ou consulta) ou ao substituir uma partição de tabela, especifica como atualizar o esquema da tabela de destino. Use um dos seguintes valores:
ALLOW_FIELD_ADDITION
: permite que novos campos sejam adicionados.ALLOW_FIELD_RELAXATION
: permite o relaxamento de camposREQUIRED
paraNULLABLE
.
Repita essa sinalização para especificar várias opções de atualização de esquema.
--skip_leading_rows=NUMBER_OF_ROWS
Um número inteiro que especifica a quantidade de linhas a ignorar no início do arquivo de origem. O padrão é
0
.--source_format=FORMAT
O formato dos dados de origem. Use um dos seguintes valores:
CSV
NEWLINE_DELIMITED_JSON
AVRO
DATASTORE_BACKUP
(use este valor para o Filestore)PARQUET
ORC
--time_partitioning_expiration=SECONDS
Um número inteiro que especifica (em segundos) quando uma partição baseada em tempo precisa ser excluída. O prazo de validade é a soma da data UTC da partição com o valor do número inteiro. Um número negativo indica que não há validade.
--time_partitioning_field=COLUMN_NAME
Especifica o campo que determina como criar uma partição baseada em tempo. Se o particionamento baseado em tempo estiver ativado sem esse valor, a tabela será particionada com base no tempo de carregamento.
--time_partitioning_type=INTERVAL
Ativa o particionamento baseado em tempo na tabela e define o tipo de partição. Use um dos seguintes valores:
DAY
HOUR
MONTH
YEAR
O tipo de partição padrão para particionamento baseado em tempo é
DAY
.--use_avro_logical_types={true|false}
Se a sinalização
--source_format
estiver definida comoAVRO
, defina-a comotrue
para converter os tipos lógicos nos tipos correspondentes (comoTIMESTAMP
), em vez de apenas usar. seus tipos brutos (comoINTEGER
).--decimal_target_types=DECIMAL_TYPE
Determina como converter um tipo lógico
Decimal
. Equivalente a JobConfigurationLoad.decimalTargetTypes. Repita essa sinalização para especificar vários tipos de destino.--parquet_enum_as_string={true|false}
Se a sinalização
--source_format
estiver definida comoPARQUET
e você quiser que o BigQuery infira tipos lógicosENUM
do Parquet como valoresSTRING
, defina essa sinalização comotrue
. O padrão éfalse
.--parquet_enable_list_inference={true|false}
Se a sinalização
--source_format
estiver definida comoPARQUET
, essa sinalização indicará se é necessário usar a inferência de esquema para os tipos lógicosLIST
do Parquet.DESTINATION_TABLE
A tabela em que você quer carregar dados.
SOURCE_DATA
O URI do Cloud Storage do arquivo que contém os dados que você quer carregar.
SCHEMA
O esquema da tabela de destino.
Saiba mais sobre como carregar dados do Cloud Storage usando o comando
bq load
em:
- Como carregar dados Avro
- Como carregar dados CSV
- Como carregar dados JSON
- Como carregar dados ORC
- Como carregar dados Parquet
- Como carregar dados de exportações do Datastore
- Como carregar dados de exportações do Firestore
Para mais informações sobre como carregar dados de uma fonte local usando o comando bq load
,
consulte:
bq ls
Use o comando bq ls
para listar objetos em uma coleção.
Sinopse
bq ls [FLAGS] [RESOURCE]
Exemplo
bq ls myDataset
Sinalizações e argumentos
O comando bq ls
usa as seguintes sinalizações e argumentos:
--all={true|false}
ou-a={true|false}
- Para mostrar todos os resultados, defina como
true
. Mostra jobs de todos os usuários ou de todos os conjuntos de dados, incluindo os ocultos. Essa sinalização não é necessária ao listar configurações ou execuções de transferência. O valor padrão éfalse
. --capacity_commitment={true|false}
Para listar compromissos de capacidade, defina como
true
e use a sinalização--location
para especificar o local. Para mais informações, consulte Ver compromissos adquiridos.Por exemplo:
bq ls --capacity_commitment=true --location='us'
--datasets={true|false}
ou-d={true|false}
Para listar conjuntos de dados, defina como
true
. O valor padrão éfalse
.--filter="FILTER"
Filtra os recursos listados para corresponder ao argumento
FILTER
.Para conjuntos de dados,
FILTER
consiste em um ou mais triplos separados por espaço no formatolabels.KEY:VALUE
. Se mais de um triplo for fornecido, o comando retornará apenas os conjuntos de dados correspondentes a todos dos três (ou seja, o comando usa o operador lógicoAND
, nãoOR
). Se você quiser especificar mais de três vezes, coloque o seguinte valorFILTER
com aspas.Para filtrar com base nos rótulos do conjunto de dados, use as chaves e os valores aplicados aos conjuntos de dados.
Exemplo:
--filter "labels.department:marketing labels.team:sales"
Para configurações de transferência, use
dataSourceIds
como a chave e uma das seguintes fontes de dados como o valor:
amazon_s3
- Transferência de dados do Amazon S3dcm_dt
- Transferência de dados do Campaign Managergoogle_cloud_storage
- Transferência de dados do Cloud Storagecross_region_copy
- Cópia do conjunto de dadosdfp_dt
- Transferência de dados do Google Ad Manageradwords
- Transferência de dados do Google Adsmerchant_center
- Transferência de dados do Google Merchant Centerplay
- Transferência de dados do Google Playdoubleclick_search
- Transferência de dados do Search Ads 360youtube_channel
- Transferência de dados do canal do YouTubeyoutube_content_owner
- Transferência de dados do proprietário do conteúdo do YouTuberedshift
- Migração do Amazon Redshifton_premises
- Migração da Teradata
Exemplo:
--filter labels.dataSourceIds:dcm_dt
Para execuções de transferência, usestates
como a chave, e um dos
seguintes estados de transferência como o valor:
+SUCCEEDED
+FAILED
+PENDING
+RUNNING
+CANCELLED
For example:
<pre>
--filter labels.states:FAILED
</pre>
A sinalização de filtro não é compatível com jobs.
--jobs={true|false}
ou-j={true|false}
- Para listar jobs, defina como
true
. O valor padrão éfalse
. Por padrão, o limite é de 100.000 resultados. --max_creation_time=MAX_CREATION_TIME_MS
- Um número inteiro que representa um carimbo de data/hora em milissegundos. Quando especificada com
--jobs
, essa sinalização lista apenas os jobs criados antes do carimbo de data/hora. --max_results=MAX_RESULTS or -n=MAX_RESULTS
- Um número inteiro indicando a quantidade máxima de resultados. O valor padrão é 50, e o valor máximo é 1.000. Se você tiver mais de 1.000 jobs, use a
sinalização
page_token
para listar todos os jobs usando paginação. - --
min_creation_time=MIN_CREATION_TIME_MS
- Um número inteiro que representa um carimbo de data/hora em milissegundos. Quando especificada com
--jobs
, essa sinalização lista apenas os jobs criados após o carimbo de data/hora. --message_type=messageTypes:MESSAGE_TYPE
Para listar mensagens de registro de execução de transferência de um tipo específico, use
messageTypes:MESSAGE_TYPE
. Os valores possíveis são:INFO
WARNING
ERROR
--models={true|false}
ou-m={true|false}
Para listar modelos do BigQuery ML, defina como
true
. O valor padrão éfalse
.--page_token=TOKEN
ou-k=TOKEN
Lista itens a partir do token de página especificado.
--projects={true|false}
ou-p={true|false}
Para mostrar todos os projetos, defina como
true
. O valor padrão éfalse
.--reservation={true|false}
Para listar todas as reservas de um determinado projeto e local, defina como
true
. O valor padrão éfalse
. Use com as sinalizações--project_id
e--location
.Exemplo:
bq ls --reservation=true --project_id=myProject --location=us
--reservation_assignment={true|false}
Para listar todas as atribuições de reserva de um determinado projeto e local, defina como
true
. O valor padrão éfalse
. Use com as sinalizações--project_id
e--location
.--routines={true|false}
Para listar todas as rotinas no conjunto de dados especificado, defina como
true
. O valor padrão éfalse
. As rotinas incluem funções permanentes definidas pelo usuário, funções de tabela (Visualização) e procedimentos armazenados.--row_access_policies
Quando especificada, lista todas as políticas de acesso no nível da linha em uma tabela. As políticas de acesso no nível da linha são usadas para a segurança no nível da linha. Você precisa fornecer o nome da tabela no formato
dataset.table
.--run_attempt=RUN_ATTEMPT
Use com a sinalização
--transfer_run
. Para listar todas as tentativas de execução da execução de transferência especificada, defina comoRUN_ATTEMPT_UNSPECIFIED
. Para listar apenas a última tentativa de execução, defina comoLATEST
. O padrão éLATEST
.--transfer_config={true|false}
Para listar configurações de transferência no projeto e no local especificados, defina como
true
. Use com as sinalizações--transfer_location
e--project_id
. O valor padrão éfalse
.--transfer_location=LOCATION
Lista as configurações de transferência no local especificado. O local da transferência é definido quando ela é criada.
--transfer_log={true|false}
Use com a sinalização
--transfer_run
. Para listar mensagens de registro de transferência da execução de transferência especificada, defina comotrue
. O valor padrão éfalse
.--transfer_run={true|false}
Lista as execuções de transferência para a configuração de transferência especificada.
Exemplo:
bq ls --transfer_run=true projects/myProject/locations/us/transferConfigs/12345
RESOURCE
A coleção cujos objetos você quer listar. O recurso pode ser um conjunto de dados, projeto, reserva ou configuração de transferência.
Para mais informações sobre como usar o comando bq ls
, consulte:
- Como gerenciar jobs
- Como listar conjuntos de dados em um projeto
- Como criar e usar tabelas
- Como listar visualizações em um conjunto de dados
- Como trabalhar com transferências
- Como listar snapshots da tabela em um conjunto de dados
bq mk
Use o comando bq mk
para criar um recurso do BigQuery.
Sinopse
bq mk TYPE_FLAG [OTHER FLAGS] [ARGS]
Sinalizações e argumentos
O comando bq mk
usa uma sinalização de tipo que especifica o tipo de recurso a ser
criado e outras sinalizações que dependem do tipo de recurso.
TYPE_FLAG
: defina uma das seguintes sinalizações como true
.
Sua seleção especifica o tipo de recurso que será criado.
--capacity_commitment
: adquirir um compromisso de capacidade.--connection
: criar uma conexão--dataset
ou-d
: criar um conjunto de dados.--materialized_view
: criar uma visualização materializada.--reservation
: criar uma reserva.--reservation_assignment
: atribui uma pasta, projeto ou organização a uma reserva.--table
ou-t
: criar uma tabela.--transfer_config
: criar uma configuração de transferência.--transfer_run
: criar uma execução de transferência para um intervalo de tempo.--view
: criar uma visualização.
O comando bq mk
é compatível com a seguinte sinalização para todos os tipos de recursos:
--force={true|false}
ou-f={true|false}
- Para ignorar erros se um recurso com o mesmo nome já existir, defina como
true
. Se o recurso já existir, o código de saída será 0, mas definir essa sinalização comotrue
não fará com que o comandobq mk
substitua o recurso. O valor padrão éfalse
.
O comando bq mk
aceita sinalizações adicionais, dependendo do tipo de recurso que você está
criando, conforme descrito nas seções a seguir.
bq mk --capacity_commitment
Para adquirir um compromisso de capacidade, defina --capacity_commitment
como true
e use
as seguintes sinalizações:
--location=LOCATION
- Especifica a localização do projeto.
--plan=PLAN_TYPE
- Especifica o
tipo de plano de compromisso.
Defina como um dos seguintes:
FLEX
MONTHLY
ANNUAL
--renewal_plan=RENEWAL_TYPE
- Especifica o
tipo de plano de renovação.
Aplicável e obrigatório apenas para um plano de compromisso
ANNUAL
. Uma das seguintes opções:FLEX
MONTHLY
ANNUAL
--project_id=PROJECT_ID
- Especifica o projeto que administra os slots.
--slots=NUMBER_OF_SLOTS
- Especifica o número de slots para compra.
Para mais informações, consulte Slots de compra.
bq mk --connection
Cria uma conexão. As sinalizações a seguir são compatíveis:
--connection_type=CONNECTION_TYPE
- O tipo de conexão (por exemplo,
CLOUD_SQL
) para conexões do Cloud SQL. --properties=PROPERTIES
- Parâmetros específicos de conexão no formato JSON.
instanceId
,database
etype
precisam ser especificados. --connection_credential=CONNECTION_CREDENTIAL
- As credenciais da conexão no formato JSON. É preciso especificar
username
epassword
. --project_id=PROJECT_ID
- Especifica o ID do projeto ao qual a conexão pertence.
--location=LOCATION
- Especifica o local em que a conexão será armazenada.
--display_name=DISPLAY_NAME
- Especifica um nome opcional fácil de lembrar para a conexão.
--description=DESCRIPTION
- Especifica uma descrição opcional da conexão.
--iam_role_id=ROLE_ID
Para o BigQuery Omni na AWS, especifica um papel do IAM que permite acesso ao recurso.
Use o seguinte formato:
"arn:aws:iam::AWS_ACCOUNT_ID:role/POLICY_NAME"
, em que:- AWS_ACCOUNT_ID é o número do ID do usuário do IAM da AWS da conexão.
- POLICY_NAME é o nome da política.
Exemplo:
"arn:aws:iam::0123456789AB:policy/s3-read-role"
--tenant_id=TENANT_ID
Para o BigQuery Omni no Azure, especifica o ID do locatário do diretório do Azure que contém a conta do Azure Storage.
CONNECTION_ID
Especifica um ID de conexão opcional para a conexão. Se um ID de conexão não for fornecido, um ID exclusivo será gerado automaticamente. O ID da conexão pode conter letras, números e sublinhados.
Para mais informações, consulte Como criar conexões.
bq mk --dataset
Cria um conjunto de dados. As sinalizações a seguir são compatíveis:
--default_kms_key=KEY
- Especifica o ID de recurso de chave padrão do Cloud KMS para criptografar os dados da tabela em um conjunto de dados, caso nenhuma chave explícita seja fornecida durante a criação ou consulta da tabela.
--default_partition_expiration=SECONDS
- Um número inteiro que especifica o prazo de validade padrão, em segundos, para todas as partições em tabelas particionadas recém-criadas em um conjunto de dados. O prazo de validade é definido como a data UTC da partição acrescida do valor de número inteiro.
Se essa propriedade for definida, o valor dela modificará a validade da tabela
padrão no nível do conjunto
de dados, se houver. Se você fornecer a sinalização
--time_partitioning_expiration
ao criar ou atualizar uma tabela particionada, a validade da partição no nível da tabela terá prioridade sobre a validade da partição padrão no nível do conjunto de dados. --default_table_expiration=SECONDS
- Um número inteiro que especifica o ciclo de vida padrão, em segundos, para tabelas recém-criadas em um conjunto de dados. O prazo de validade é definido como a hora UTC atual mais esse valor.
--description=DESCRIPTION
- Especifica a descrição do conjunto de dados.
--label=KEY:VALUE
- Especifica um rótulo para o conjunto de dados. Repita essa sinalização para especificar vários rótulos.
--location=LOCATION
ou--data_location=LOCATION
- Especifica a localização do conjunto de dados. Prefira a sinalização
--location
. A sinalização--data_location
é legada. --max_time_travel_hours=HOURS
Em pré-lançamento. Especifica a duração em horas da janela de viagem no tempo para o conjunto de dados. O valor de
--max_time_travel_hours
precisa ser um número inteiro entre 48 (2 dias) e 168 (7 dias). O padrão será 168 horas se essa sinalização não for especificada.Para mais informações sobre a janela de viagem no tempo, consulte Como configurar a janela de viagem no tempo.
--storage_billing_model=BILLING_MODEL
Em pré-lançamento. Especifica o modelo de faturamento de armazenamento do conjunto de dados. Defina esse valor de sinalização como
LOGICAL
para usar bytes lógicos para o faturamento de armazenamento ou comoPHYSICAL
para usar bytes físicos.LOGICAL
será o padrão se essa sinalização não for especificada.Para mais informações, consulte Modelos de faturamento de armazenamento de conjuntos de dados.
Para mais informações, consulte Como criar conjuntos de dados.
bq mk --materialized_view
Cria uma visualização materializada. As sinalizações a seguir são compatíveis:
--enable_refresh={true|false}
- Para desativar a atualização automática de uma visualização materializada, defina como
false
. O padrão ao criar uma visualização materializada étrue
. --refresh_interval_ms=MILLISECONDS
- Especifica o número de milissegundos para o intervalo de atualização de uma visualização materializada. Se essa sinalização não for especificada, o intervalo de atualização padrão para uma visualização materializada com atualização ativada será de 1.800.000 milissegundos, ou seja, 30 minutos.
Para mais informações, consulte Como criar e usar visualizações materializadas.
bq mk --reservation
Cria uma reserva com slots dedicados. As sinalizações a seguir são compatíveis:
--concurrency=CONCURRENCY
Em - pré-lançamento. Especifica o número desejado de consultas executadas simultaneamente. O valor padrão é 0, o que significa que a simultaneidade é calculada automaticamente com base no tamanho da reserva. Para mais informações, consulte Usar filas de consultas.
--ignore_idle_slots={true|false}
- Para restringir os jobs em execução nesta reserva a fim de usar somente slots alocados para
a reserva, defina como
true
. O valor padrão éfalse
; jobs nesta reserva podem usar slots inativos de outras reservas ou slots que não são alocados para nenhuma reserva. Para mais informações, consulte Slots inativos. --location=LOCATION
- Especifica a localização do projeto.
--project_id=PROJECT_ID
- Especifica o projeto que é proprietário da reserva.
--slots=NUMBER_OF_SLOTS
- Especifica o número de slots a serem alocados para esta reserva.
Para mais informações, consulte Criar uma reserva com slots dedicados.
bq mk --reservation_assignment
Atribui um projeto, uma pasta ou uma organização a uma reserva. As sinalizações a seguir são compatíveis:
--assignee_id=ASSIGNEE_ID
- Especifica o ID da pasta, organização ou projeto.
--assignee_type=ASSIGNEE_TYPE
- Especifica o tipo de entidade a ser atribuído à reserva. Uma das
seguintes opções:
FOLDER
ORGANIZATION
PROJECT
--job_type=JOB_TYPE
- Especifica o tipo de job a ser atribuído à reserva. Uma das seguintes opções:
QUERY
PIPELINE
ML_EXTERNAL
--location=LOCATION
- Especifica a localização do projeto.
--project_id=PROJECT_ID
- Especifica o projeto que é proprietário da reserva.
--reservation_id=RESERVATION_ID
- Especifica o ID da reserva.
Para mais informações, consulte Trabalhar com atribuições de reserva.
bq mk --table
Cria uma tabela. As sinalizações a seguir são compatíveis:
--clustering_fields=COLUMNS
- Uma lista separada por vírgulas de até quatro nomes de colunas que especifica os campos a serem usados para o clustering de tabelas. Se especificada com particionamento, a tabela será particionada e, em seguida, cada partição será agrupada usando as colunas fornecidas.
--description=DESCRIPTION
- Especifica a descrição da tabela.
--destination_kms_key=KEY
- Especifica um ID de recurso de chave do Cloud KMS para criptografar os dados da tabela de destino.
--expiration=SECONDS
- Especifica a vida útil da tabela. Se
SECONDS
for0
, a tabela não expirará. Se você não especificar a sinalização--expiration
, o BigQuery criará a tabela com o ciclo de vida da tabela padrão do conjunto de dados. --external_table_definition={PATH_TO_FILE|DEFINITION}
Especifica uma definição de tabela para criar uma