Referência da ferramenta de linha de comando bq
Este documento descreve a sintaxe, os comandos, as flags e os argumentos da bq,
a ferramenta de linha de comando baseada em Python para o BigQuery.
Para um tutorial sobre como usar a ferramenta de linha de comando bq, consulte Carregar e consultar dados com a ferramenta bq.
Maneiras de usar a ferramenta de linha de comando bq
É possível inserir comandos da ferramenta de linha de comando bq no Cloud Shell pelo console do Google Cloud ou por uma instalação local da Google Cloud CLI.
Para usar a ferramenta de linha de comando bq no console Google Cloud , ative o Cloud Shell:
Para usar a ferramenta de linha de comando bq localmente, instale e configure a gcloud CLI. Para manter sua instalação atualizada, consulte Gerenciar uma instalação na documentação da CLI gcloud.
Formato do comando
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.
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.
Algumas sinalizações da ferramenta de linha de comando bq são booleanastrue; defina o valor da
sinalização como false ou .
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 recursos do BigQuery em argumentos
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.
| Contexto | Formato | Exemplo |
|---|---|---|
| Ferramenta de linha de comando bq | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
| Consulta do GoogleSQL | 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.
Como executar comandos
Coloque todas as flags globais antes do comando bq e inclua as flags específicas do comando. É possível incluir várias flags globais ou específicas de comandos. Exemplo:
bq --location=us mk --reservation --project_id=project reservation_name
É possível especificar argumentos de comando das seguintes maneiras:
--FLAG ARGUMENT(como mostrado nos exemplos anteriores)--FLAG=ARGUMENT--FLAG='ARGUMENT'--FLAG="ARGUMENT"--FLAG 'ARGUMENT'--FLAG "ARGUMENT"
Substitua:
FLAG: uma sinalização global ou específica de comandoARGUMENT: o argumento da sinalização
Para alguns comandos, é necessário usar aspas em torno dos argumentos. Se aspas forem necessárias, as simples ou duplas serão aceitas. Os argumentos que exigem aspas geralmente são valores que contêm espaços, vírgulas ou outros caracteres especiais. Se o argumento contiver um recurso do BigQuery, siga as regras para especificar nomes de recursos em comandos.
Este exemplo mostra como executar uma consulta do GoogleSQL na linha de comando:
bq query --nouse_legacy_sql \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
Sinalizações com valores booleanos podem ser especificados sem um argumento. Se você especificar
true ou false, será necessário usar o formato
FLAG=ARGUMENT.
Por exemplo, este comando especifica false para a sinalização booleana --use_legacy_sql posicionando no na frente da sinalização:
bq query --nouse_legacy_sql \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
Como alternativa, para especificar false como o argumento da sinalização, insira o
seguinte:
bq query --use_legacy_sql=false \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
Executar comandos em um script
É possível executar a ferramenta de linha de comando bq em um script, assim como executaria um
comando da CLI do Google Cloud. Veja a seguir um
exemplo de comandos gcloud e bq em um script bash:
#!/bin/bash
gcloud config set project myProject
bq query --use_legacy_sql=false --destination_table=myDataset.myTable \
'SELECT
word,
SUM(word_count) AS count
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word LIKE "%raisin%"
GROUP BY
word'
Usar uma conta de serviço
Use uma conta de serviço para fazer chamadas de API autorizadas ou executar jobs de consulta em seu nome. Para usar uma conta de serviço na ferramenta de linha de comando bq, autorize o acesso ao Google Cloud pela conta de serviço. Para mais informações, consulte gcloud auth activate-service-account.
Para começar a executar comandos bq usando a
representação da conta de serviço,
execute o seguinte:
gcloud config set auth/impersonate_service_account SERVICE_ACCOUNT_NAME
Substitua SERVICE_ACCOUNT_NAME pelo nome da conta de
serviço.
Os comandos bq que você executa agora usam as credenciais da conta de serviço.
Para interromper a execução de comandos bq de uma conta de serviço, execute o seguinte comando:
gcloud config unset auth/impersonate_service_account
Definir valores padrão para flags de linha de comando
Você pode definir valores padrão para as sinalizações de linha de comando incluindo-as no arquivo de configuração da ferramenta de linha de comando bq, .bigqueryrc. Antes de configurar as
opções padrão, você deve primeiro criar um arquivo .bigqueryrc. É possível usar seu
editor de texto preferido para criar o arquivo. Depois de criar o arquivo
.bigqueryrc, você pode especificar o caminho para o arquivo usando a sinalização global --bigqueryrc.
Se a sinalização --bigqueryrc não for especificada, a variável de ambiente BIGQUERYRC será usada. Se não for especificada, o caminho ~/.bigqueryrc será usado. O caminho padrão é $HOME/.bigqueryrc.
Como adicionar sinalizações a .bigqueryrc
Para adicionar valores padrão para sinalizações de linha de comando a .bigqueryrc:
- Coloque sinalizações globais na parte superior do arquivo sem um cabeçalho.
- Para sinalizações específicas do comando, insira o nome do comando (entre parênteses) e adicione as sinalizações específicas (uma por linha) depois do nome do comando.
Por exemplo:
--apilog=stdout --format=prettyjson --location=US [query] --use_legacy_sql=false --max_rows=100 --maximum_bytes_billed=10000000 [load] --destination_kms_key=projects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey
O exemplo anterior define os valores padrão para as seguintes sinalizações:
- A flag global
--apilogé definida comostdoutpara imprimir a saída de depuração no consoleGoogle Cloud . - A sinalização global
--formaté definida comoprettyjsonpara exibir a resposta ao comando em um formato JSON que pode ser lido por humanos. - A sinalização global
--locationestá definida como o local multirregionalUS. A sinalização
--use_legacy_sqlespecífica do comandoqueryé definida comofalsepara tornar o GoogleSQL a sintaxe de consulta padrão.A sinalização
queryespecífica do comando--max_rowsestá definida como100para controlar o número de linhas na saída da consulta.A sinalização
queryespecífica do comando--maximum_bytes_billedé definida como 10.000.000 bytes (10 MB) para apresentar falha em consultas que leem mais de 10 MB de dados.A sinalização
loadespecífica do comando--destination_kms_keyestá definida comoprojects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey.
Ajuda da CLI
Para receber ajuda com a ferramenta de linha de comando bq, execute os seguintes comandos:
| Descrição | Formato do comando de ajuda | Exemplo |
|---|---|---|
| Versão instalada | bq version |
bq version |
| 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 |
Comandos da CLI para solução de problemas
- Para registrar as solicitações enviadas e recebidas:
Adicione a flag
--apilog=PATH_TO_FILEpara salvar um registro de operações em um arquivo local. SubstituaPATH_TO_FILEpelo local em que você quer salvar o registro. A ferramenta de linha de comando bq funciona fazendo chamadas de API padrão baseadas em REST, que podem ser úteis para visualização durante a solução de problemas. Também é recomendável anexar esse registro ao relatar problemas ao atendimento ao cliente do Cloud.Usar
-oustdoutem vez de um caminho imprime o registro no console Google Cloud . Definir--apilogcomostderrgera a resposta no arquivo de erro padrão. Para registrar mais solicitações, use a flag--httplib2_debuglevel=LOG_LEVEL. UmLOG_LEVELsuperior registra mais informações sobre as solicitações HTTP.- Para resolver problemas:
Insira a flag
--format=prettyjsonao receber um status de tarefa ou ao visualizar informações detalhadas sobre recursos, como tabelas e conjuntos de dados. Usar essa flag gera a resposta no formato JSON, incluindo a propriedadereason. Você pode usar a propriedadereasonpara encontrar mensagens de erro.Para mais informações sobre erros ao executar um comando, use a flag
--debug_mode.
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=FILERegistra 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)
--use_google_auth={true|false}Se definido como
true, ativa a autenticação usando as bibliotecas de autenticação do Google. O valor padrão étrue.--bigqueryrc=PATHEspecifica 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/.bigqueryrcserá usado. Se esse arquivo não existir, será usado~/.bigqueryrc. Para mais informações, consulte Como configurar valores padrão para flags de linha de comando.--ca_certificates_file=PATHEspecifica a localização do arquivo do Certificate Authority Service (CA, na sigla em inglês).
--dataset_id=DATASET_IDEspecifica 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_IDusando o formatoPROJECT:DATASETouDATASET. Se a partePROJECTestiver 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=PATHEspecifica o arquivo JSON que será lido para descoberta.
--enable_gdrive={true|false}Se definido como
false, solicita um novo token OAuth sem escopo do Google Drive. O valor padrão étrue; solicita um novo token OAuth com escopo do Drive. Para definir essa flag comofalsequando autenticada usando uma conta de usuário, a flag--use_google_authprecisa ser definida comofalse.--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=FORMATEspecifica 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,sparseeprettyjsonforam desenvolvidos para ser legíveis por humanos.jsonecsvdevem ser usados por outro programa. Senonefor especificado, o comando não produzirá saída. Se a sinalização--formatnão estiver presente, um formato de saída apropriado será escolhido com base no comando.--headless={true|false}Para executar a sessão
bqsem interação do usuário, defina comotrue. Por exemplo,debug_modenã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_LEVELEspecifica se as informações de depuração HTTP serão exibidas. Se
DEBUG_LEVELfor maior que0, o comando registrará solicitações e respostas do servidor HTTP para stderr, além de mensagens de erro. SeDEBUG_LEVELnão for > 0, ou se a sinalização--httplib2_debuglevelnão for usada, apenas mensagens de erro serão fornecidas.Por exemplo:
--httplib2_debuglevel=1
--job_id=JOB_IDEspecifica um identificador de job para um novo job. Essa sinalização aplica-se apenas aos comandos que criam jobs:
cp,extract,loadequery. 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:VALUEUm 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=LOCATIONUma string correspondente ao local da sua região ou multirregião. A sinalização de local é obrigatória nos comandos
bq cancelebq showquando você usa a sinalização--jobspara mostrar informações sobre jobs. Nos comandos a seguir, ela é opcional:querycploadextractpartitionupdatewaitmkao usar as sinalizações--dataset,--reservation,--capacity_commitmentou--reservation_assignmentlsquando você usa as sinalizações--reservation,--capacity_commitmentou--reservation_assignment
Todos os outros comandos ignoram a sinalização
--location.--max_rows_per_request=MAX_ROWSUm número inteiro que especifica o número máximo de linhas a serem retornadas por leitura.
--project_id=PROJECTEspecifica o projeto a ser usado para comandos.
--proxy_address=PROXYEspecifica o nome ou endereço IP do host proxy a ser usado para conexão com Google Cloud.
--proxy_password=PASSWORDEspecifica a senha a ser usada ao autenticar com o host proxy.
--proxy_port=PORTEspecifica o número da porta a ser usado para se conectar ao host proxy.
--proxy_username=USERNAMEEspecifica 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:TOKENEspecifica um token de rastreamento a ser incluído nas solicitações da API.
--use_regional_endpoints={true|false}Em pré-lançamento. Para se conectar a um endpoint regional, defina a sinalização
--use_regional_endpointscomotruee a sinalização--locationcomo a região a que você quer se conectar. O valor padrão éfalse.
Sinalizações globais obsoletas
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 flags 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 do Identity and Access Management (IAM) 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-policypara recuperar o arquivo de política (no formato JSON). - Como editar o arquivo de política.
- Como usar o comando
bq set-iam-policypara 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:MEMBERObrigatório. Use a sinalização
--memberpara 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--membere--roleé igual a uma vinculação.O valor
MEMBER_TYPEespecifica o tipo de membro na vinculação da política do IAM. Use um dos seguintes valores:userserviceAccountgroupdomain
O valor
MEMBERespecifica o endereço de e-mail ou o domínio do membro na vinculação política do IAM.--role=ROLEObrigató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--membere--roleé igual a uma vinculação.--table={true|false}Para retornar um erro se o argumento
RESOURCEnão for um identificador de tabela ou visualização, defina a sinalização--tablecomotrue. O valor padrão éfalse. Essa sinalização é compatível com a consistência de outros comandos.RESOURCEA 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_modecomofalse. 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.Não é possível usar as configurações de sinalização
--append_table=truee--clone=trueao mesmo tempo.--clone={true|false}Para criar um clone de tabela, defina como
true. A tabela de base 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=truee--snapshot=truenão forem especificados, a tabela de destino será o mesmo tipo da tabela de base. Requer a flag--no_clobber.Não é possível usar as configurações de sinalização
--append_table=truee--clone=trueao mesmo tempo.--destination_kms_key=KEYEspecifica um ID de recurso de chave do Cloud KMS para criptografar os dados da tabela de destino.
Por exemplo:
--destination_kms_key=projects/myProject/locations/global/keyRings/myKeyRing/cryptoKeys/myKey
--expiration=SECONDSO 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 cpoubq cp --clone.--snapshot={true|false}Para criar um snapshot da tabela especificada no argumento
SOURCE_TABLE, defina comotrue. A tabela de base pode ser uma tabela padrão, um clone de tabela ou outro snapshot de tabela. O padrão éfalse. Se--clone=truee--snapshot=truenão forem especificados, a tabela de destino será o mesmo tipo da tabela de base. Requer a sinalização--no_clobber.SOURCE_TABLEA tabela que você quer copiar.
DESTINATION_TABLEA 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_TYPEEspecifica o tipo de compactação a ser usado para arquivos exportados. Os valores possíveis são:
GZIPDEFLATESNAPPYNONE
O valor padrão é
NONE.Para conferir 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=FORMATEspecifica o formato dos dados exportados. Os valores possíveis são:
CSVNEWLINE_DELIMITED_JSONAVROPARQUET
O valor padrão é
CSV.--field_delimiter=DELIMITERNas 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
\toutabpara 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.RESOURCEA tabela da qual você está exportando.
DESTINATIONO 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, uma visualização ou uma
reserva de slot.
A política está no formato JSON.
Sinopse
bq get-iam-policy [FLAGS] RESOURCE
Exemplos
bq get-iam-policy myDataset.myTable
bq get-iam-policy --reservation myReservation
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
RESOURCEnão for um identificador de tabela ou visualização, defina a sinalização--tablecomotrue. O valor padrão éfalse. Essa sinalização é compatível com a consistência de outros comandos. --reservation={true|false}- Para receber a política do IAM de uma reserva, defina como
true(prévia). O valor padrão éfalse. Quando essa flag é usada,RESOURCEé tratado como um identificador de reserva. A reserva pode ter prefixos opcionais de projeto e local:myProject:myLocation.myReservation. 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
Controlar o acesso a recursos com o IAM.
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--autodetectforfalsee nenhum esquema for especificado usando a sinalização--schemae 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.
--column_name_character_map=SCOPE- Define o escopo e o processamento de
caracteres em nomes de colunas, com a opção de ativar
nomes de colunas flexíveis.
Exige a opção
--autodetectpara arquivos CSV. Para uma lista de valores possíveis, consulteload_option_list. --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
\toutabpara especificar os delimitadores de guia. --ignore_unknown_values={true|false}- Quando definido como
truepara arquivos CSV e JSON, as linhas com valores de colunas extras que não correspondem ao esquema da tabela são carregadas, mas as colunas extras são ignoradas. Quando definidos comotruepara arquivos Avro, Parquet e ORC, os campos no esquema do arquivo que não existem no esquema da tabela são ignorados e não são carregados. --json_extension=JSON_TYPEEspecifica 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_formatprecisa ser definida comoNEWLINE_DELIMITED_JSON.Para mais informações, consulte Como carregar arquivos GeoJSON delimitados por nova linha.
--max_bad_records=MAXUm 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 apenas ao carregamento de dados CSV, JSON e Google Sheets.--null_marker=STRINGUma string personalizada opcional que representa um valor
NULLnos dados CSV.--projection_fields=PROPERTY_NAMESSe você definir
--source_formatcomoDATASTORE_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=CHARACTEREspecifica um caractere de aspas ao redor dos campos nos dados CSV. O argumento
CHARACTERpode 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.Equivalente ao valor
WRITE_TRUNCATEparaJobConfigurationLoad.writeDisposition.--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. Se você usar um arquivo de esquema, não adicione uma extensão ao nome do arquivo.Exemplo:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
Se nenhum esquema for especificado e
--autodetectforfalse, e a tabela de destino existir, o esquema da tabela de destino será usado.--schema_update_option=OPTIONAo 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 camposREQUIREDparaNULLABLE.
Repita essa sinalização para especificar várias opções de atualização de esquema.
--skip_leading_rows=NUMBER_OF_ROWSUm número inteiro que especifica a quantidade de linhas a ignorar no início do arquivo de origem. O padrão é
0.--file_set_spec_type=FILE_SET_SPEC_TYPEEspecifica como interpretar URIs de origem.
FILE_SYSTEM_MATCH: expande os URIs de origem listando arquivos do armazenamento de objetos. Esse é o comportamento padrão se FileSetSpecType não estiver definido.NEW_LINE_DELIMITED_MANIFEST: indica que os URIs fornecidos são arquivos de manifesto delimitados por nova linha, com um URI por linha. URIs curinga não são aceitos nos arquivos de manifesto, e todos os arquivos de dados referenciados precisam estar no mesmo bucket que o manifesto.
Por exemplo, se você tiver um URI de origem de
"gs://bucket/path/file"efile_set_spec_typeforFILE_SYSTEM_MATCH, o arquivo será usado diretamente como um arquivo de dados. Sefile_set_spec_typeforNEW_LINE_DELIMITED_MANIFEST, cada linha no arquivo será interpretada como um URI que aponta para um arquivo de dados.--source_format=FORMATO formato dos dados de origem. Use um dos seguintes valores:
CSVNEWLINE_DELIMITED_JSONAVRODATASTORE_BACKUP(use este valor para o Filestore)PARQUETORC
--time_partitioning_expiration=SECONDSUm 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_NAMEEspecifica 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=INTERVALAtiva o particionamento baseado em tempo na tabela e define o tipo de partição. Use um dos seguintes valores:
DAYHOURMONTHYEAR
O tipo de partição padrão para particionamento baseado em tempo é
DAY.--use_avro_logical_types={true|false}Se a sinalização
--source_formatestiver definida comoAVRO, defina-a comotruepara converter os tipos lógicos nos tipos correspondentes (comoTIMESTAMP), em vez de apenas usar. seus tipos brutos (comoINTEGER).--decimal_target_types=DECIMAL_TYPEDetermina como converter um tipo lógico
Decimal. Equivale aJobConfigurationLoad.decimalTargetTypes. Repita essa sinalização para especificar vários tipos de destino.--parquet_enum_as_string={true|false}Se a sinalização
--source_formatestiver definida comoPARQUETe você quiser que o BigQuery infira tipos lógicosENUMdo Parquet como valoresSTRING, defina essa sinalização comotrue. O padrão éfalse.--parquet_enable_list_inference={true|false}Se a sinalização
--source_formatestiver definida comoPARQUET, essa sinalização indicará se é necessário usar a inferência de esquema para os tipos lógicosLISTdo Parquet.--reference_file_schema_uri=URIEspecifica o caminho para um arquivo de referência com o esquema de tabela esperado para criar tabelas externas. Equivale a
ExternalDataConfiguration.referenceFileSchemaUri. Essa sinalização está ativada para os formatos Avro, ORC e PARQUET.DESTINATION_TABLEA tabela em que você quer carregar dados.
SOURCE_DATAO URI do Cloud Storage do arquivo que contém os dados que você quer carregar.
SCHEMAO 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
truee use a sinalização--locationpara 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,
FILTERconsiste 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 valorFILTERcom 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
dataSourceIdscomo a chave e uma das seguintes fontes de dados como o valor:
amazon_s3- Transferência de dados do Amazon S3azure_blob_storage: transferência de dados do Armazenamento de Blobs do Azuredcm_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 Managerdisplayvideo- Transferência de dados do Display & Video 360google_ads- Transferência de dados do Google Adsmerchant_center- Transferência de dados do Google Merchant Centermysql- Transferência de dados do MySQLplay- Transferência de dados do Google Playscheduled_query- Transferência de dados de consultas programadassearch_ads- 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, use states como a chave e um ou mais dos seguintes
estados de transferência como o valor:
SUCCEEDEDFAILEDPENDINGRUNNINGCANCELLED
Exemplo:
--filter="states:FAILED"
Para jobs, use states como a chave e um ou mais dos seguintes estados de job como
o valor:
RUNNINGPENDINGDONE
Exemplo:
bq ls --jobs --filter="states:RUNNING" bq ls --jobs --filter="states:RUNNING,PENDING"
--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 Era Unix 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_tokenpara 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 Era Unix 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_TYPEPara 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:INFOWARNINGERROR
--models={true|false}ou-m={true|false}Para listar modelos do BigQuery ML, defina como
true. O valor padrão éfalse.--page_token=TOKENou-k=TOKENLista 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_ide--location.Por 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_ide--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_policiesQuando 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_ATTEMPTUse 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_locatione--project_id. O valor padrão éfalse.--transfer_location=LOCATIONLista 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.
Por exemplo:
bq ls --transfer_run=true projects/myProject/locations/us/transferConfigs/12345
RESOURCEA 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--datasetou-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.--tableou-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 comotruenão fará com que o comandobq mksubstitua 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 o local do compromisso.
--plan=PLAN_TYPEEspecifica o tipo de plano de compromisso. Precisa ser um dos valores abaixo.
ANNUALTHREE_YEAR
Os clientes que usam preços fixos legados também podem usar um dos seguintes valores:
FLEXMONTHLYANNUAL
--renewal_plan=RENEWAL_TYPEEspecifica o tipo de plano de renovação. Obrigatório para planos de compromisso
ANNUALouTHREE_YEAR. Precisa ser um dos seguintes:ANNUALTHREE_YEARNONE
Os clientes que usam preços fixos legados também podem usar um dos seguintes valores:
FLEXMONTHLYANNUAL
--project_id=PROJECT_IDEspecifica o projeto que administra os slots.
--slots=NUMBER_OF_BASELINE_SLOTSEspecifica o número de slots de valor de referência para compra.
--edition=EDITIONA edição associada ao compromisso de capacidade. Deve atender a uma das seguintes condições:
ENTERPRISEENTERPRISE_PLUS
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=PROPERTIESParâmetros específicos de conexão no formato JSON. É preciso especificar
instanceIdedatabase.typeSe você criar uma conexão do Spanner e quiser usar o Data Boost, inclua os pares
"useParallelism":truee"useDataBoost":true.--connection_credential=CONNECTION_CREDENTIALAs credenciais da conexão no formato JSON. É preciso especificar
usernameepassword.--project_id=PROJECT_IDEspecifica o ID do projeto ao qual a conexão pertence.
--location=LOCATIONEspecifica o local em que a conexão será armazenada.
--display_name=DISPLAY_NAMEEspecifica um nome opcional fácil de lembrar para a conexão.
--description=DESCRIPTIONEspecifica uma descrição opcional da conexão.
--iam_role_id=ROLE_IDPara 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_IDPara o BigQuery Omni no Microsoft Azure, especifica o ID do locatário do diretório do Microsoft Azure que contém a conta do Microsoft Azure Storage.
CONNECTION_IDEspecifica 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 Introdução às conexões.
bq mk --dataset
Cria um conjunto de dados. As sinalizações a seguir são compatíveis:
--add_tags=TAGS- Especifica as tags que você está anexando à nova
conjunto de dados, separados por vírgulas. Por exemplo,
556741164180/env:prod,myProject/department:sales. Cada tag precisa ter o nome da chave com namespace e o nome curto do valor. --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_expirationao 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.
--external_source=EXTERNAL_SOURCE- Especifica a fonte de dados externa quando você cria um conjunto de dados federado.
--label=KEY:VALUE- Especifica um rótulo para o conjunto de dados. Repita essa sinalização para especificar vários rótulos.
--location=LOCATIONou--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- Especifica a duração em
horas da
janela de viagem no tempo
para o conjunto de dados. O
valor
--max_time_travel_hoursprecisa ser um número inteiro expresso em múltiplos de 24 (48, 72, 96, 120, 144 e 168) entre 48 (2 dias) e 168 (7 dias). O padrão será 168 horas se essa sinalização não for especificada. --storage_billing_model=BILLING_MODELEspecifica o modelo de faturamento de armazenamento do conjunto de dados. Defina o valor de
--storage_billing_modelcomoPHYSICALpara usar bytes físicos ao calcular as cobranças de armazenamento ou comoLOGICALpara usar bytes lógicos. O padrão éLOGICAL.Leva 24 horas para alterar o modelo de faturamento de um conjunto de dados.
Depois de alterar o modelo de faturamento do armazenamento de um conjunto de dados, aguarde 14 dias antes de alterar o modelo de faturamento do armazenamento novamente.
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:
--target_job_concurrency=CONCURRENCY- 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 da reserva.
--project_id=PROJECT_ID- Especifica o projeto que é proprietário da reserva.
--slots=NUMBER_OF_BASELINE_SLOTS- Especifica o número de slots de valor de referência a serem alocados para esta reserva.
--edition=EDITION- A edição associada ao compromisso de capacidade. Deve atender a uma das seguintes condições:
STANDARDENTERPRISEENTERPRISE_PLUS
--autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS- O número de slots de escalonamento automático atribuídos à reserva. Isto é igual a
o valor do tamanho máximo da reserva menos o número de slots de valor de referência. Disponível apenas com a sinalização
--edition. --max_slots=MAXIMUM_NUMBER_OF_SLOTS- O número máximo de slots que a reserva vai consumir. Precisa ser configurado com a flag
--scaling_mode(Pré-lançamento). --scaling_mode=SCALING_MODEO modo de escalonamento da reserva. Deve atender a uma das seguintes condições:
IDLE_SLOTS_ONLYALL_SLOTSAUTOSCALE_ONLYSCALING_MODE_UNSPECIFIED
Precisa ser configurado com a flag
--max_slots(visualização).
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:
FOLDERORGANIZATIONPROJECT
--job_type=JOB_TYPE- Especifica o tipo de job a ser atribuído à reserva. Uma das seguintes opções:
QUERYPIPELINEML_EXTERNALBACKGROUND
--location=LOCATION- Especifica a localização da reserva.
--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:
--add_tags=TAGS- Especifica as tags que você está anexando à nova
da tabela, separados por vírgulas. Por exemplo,
556741164180/env:prod,myProject/department:sales. Cada tag precisa ter o nome da chave com namespace e o nome curto do valor. --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 você não especificar a flag
--expiration, o BigQuery criará a tabela com a vida útil da tabela padrão do conjunto de dados, ou a tabela não vencerá. --external_table_definition=STRINGEspecifica uma definição de tabela para criar uma tabela externa.
Para tabelas externas do Cloud Storage e do Google Drive:
-
--external_table_definition={PATH_TO_FILE|DEFINITION} - O valor pode ser um caminho para um arquivo que contém uma
definição de tabela
(
PATH_TO_FILE) ou uma definição de tabela inline (DEFINITION).
- O formato do campo
DEFINITIONéSCHEMA@FORMAT=URI. O formato do valor
SCHEMAé uma lista separada por vírgulas de definições de coluna no formatoFIELD:DATA_TYPE, FIELD:DATA_TYPE. É possível omitir o valorSCHEMAse o formato de dados for autodescritivo (como Avro) ou se você estiver usando a detecção automática de esquema.O valor
FORMATespecifica o formato de dados, que pode ser uma das seguintes opções:AVROCSVDATASTORE_BACKUP(use este valor para o Filestore)ICEBERGNEWLINE_DELIMITED_JSONORCPARQUET
Se você especificar um arquivo de definição de tabela, não adicione uma extensão ao nome do arquivo.
Exemplo:
--external_table_definition=/tmp/tabledef
--external_table_definition=Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
Para tabelas externas do Bigtable e tabelas do BigLake baseadas na AWS e no Azure:
--external_table_definition=PATH_TO_FILE- O valor precisa ser um caminho para um arquivo que contenha uma definição de tabela.
Para tabelas do BigLake baseadas no Cloud Storage:
--external_table_definition=FORMAT=BUCKET_PATH@REGION.CONNECTION_NAME:O valor
FORMATespecifica o formato de dados, que pode ser uma das seguintes opções:AVROCSVNEWLINE_DELIMITED_JSONICEBERGORCPARQUET
BUCKET_PATHé o caminho para um ou mais arquivos no Cloud Storage que contêm os dados da tabela do BigLake. É possível especificarBUCKET_PATHnos seguintes formatos:- Para um único arquivo:
gs://bucket_name/[folder_name/]file_name. - Para vários arquivos em um único bucket:
gs://bucket_name/[folder_name/]*. Para vários arquivos em vários buckets:
gs://mybucket1/*,gs://mybucket2/folder5/*.É possível usar caracteres curinga para limitar os arquivos incluídos na tabela do BigLake. Por exemplo, se o bucket contiver vários tipos de dados, pode ser que a tabela use apenas arquivos PARQUET especificando
gs://bucket_name/*.parquet. Para mais informações sobre o uso de caracteres curinga, consulte Caracteres curinga de URI.
- Para um único arquivo:
O valor
REGIONespecifica a região ou multirregião que contém a conexão.O valor
CONNECTION_NAMEespecifica o nome da conexão do recurso de nuvem a ser usado com a tabela externa. A conexão determina qual conta de serviço é usada para ler dados a partir do Cloud Storage.
Para tabelas de objeto:
--external_table_definition=BUCKET_PATH@REGION.CONNECTION_NAME:BUCKET_PATHé o caminho para o bucket do Cloud Storage que contém os objetos representados pela tabela de objetos, no formatogs://bucket_name/[folder_name/]*.É possível especificar vários buckets fornecendo vários caminhos, por exemplo,gs://mybucket1/*,gs://mybucket2/folder5/*.É possível usar caracteres curinga para limitar os objetos na tabela. Por exemplo, se o bucket contiver vários tipos de dados não estruturados, você poderia criar a tabela de objetos usando apenas objetos PDF especificando
gs://bucket_name/*.pdf. Para mais informações sobre o uso de caracteres curinga, consulte Caracteres curinga de URI.O valor
REGIONespecifica a região ou multirregião que contém a conexão.O valor
CONNECTION_NAMEespecifica o nome da conexão do recurso de nuvem a ser usado com a tabela externa. A conexão determina qual conta de serviço é usada para ler dados a partir do Cloud Storage.
-
--file_set_spec_type=FILE_SET_SPEC_TYPEEspecifica como interpretar URIs de origem.
FILE_SYSTEM_MATCH: expande os URIs de origem listando arquivos do armazenamento de objetos. Esse é o comportamento padrão se FileSetSpecType não estiver definido.NEW_LINE_DELIMITED_MANIFEST: indica que os URIs fornecidos são arquivos de manifesto delimitados por nova linha, com um URI por linha. URIs curinga não são aceitos nos arquivos de manifesto, e todos os arquivos de dados referenciados precisam estar no mesmo bucket que o manifesto.
Por exemplo, se você tiver um URI de origem de
"gs://bucket/path/file"efile_set_spec_typeforFILE_SYSTEM_MATCH, o arquivo será usado diretamente como um arquivo de dados. Sefile_set_spec_typeforNEW_LINE_DELIMITED_MANIFEST, cada linha no arquivo será interpretada como um URI que aponta para um arquivo de dados.--reference_file_schema_uri=URIEspecifica o caminho para um arquivo de referência com o esquema de tabela esperado para criar tabelas externas. Equivale a
ExternalDataConfiguration.referenceFileSchemaUri. Essa sinalização está ativada para os formatos Avro, ORC e PARQUET.--label=KEY:VALUEEspecifica um rótulo para a tabela. Repita essa sinalização para especificar vários rótulos.
--max_staleness=INTERVALEspecifica se os metadados em cache são usados pelas operações na tabela e quando eles precisam ser atualizados para que a operação possa usá-los.
Aplicável a tabelas do BigLake e tabelas de objetos.
Para desativar o armazenamento em cache de metadados, especifique 0. Esse é o padrão.
Para ativar o armazenamento em cache de metadados, especifique um valor de intervalo entre 30 minutos e 7 dias, usando o formato
Y-M D H:M:Sdescrito na documentação do tipo de dadosINTERVAL. Por exemplo, especifique0-0 0 4:0:0para um intervalo de inatividade de quatro horas. Com esse valor, as operações na tabela usarão metadados em cache se tiverem sido atualizados nas últimas 4 horas. Se os metadados armazenados em cache forem mais antigos que isso, a operação retornará aos metadados do Cloud Storage.--object_metadata=STRINGDefina o valor dessa sinalização como
SIMPLEao criar uma tabela de objetos.Obrigatório apenas ao criar uma tabela de objetos.
--range_partitioning=COLUMN_NAME,START,END,INTERVALEspecifica opções para uma partição de intervalo de números inteiros, da seguinte maneira:
column_nameé a coluna usada para criar as partições por intervalo de números inteiros;starté o início do particionamento por intervalo, inclusivo;endé o fim do particionamento por intervalo, exclusivo;intervalé a largura de cada intervalo dentro da partição.
Por exemplo:
--range_partitioning=customer_id,0,10000,100
--require_partition_filter={true|false}Para exigir um filtro de partição para consultas na tabela fornecida, defina como
true. Essa sinalização só se aplica a tabelas particionadas. 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. Se você usar um arquivo de esquema, não adicione uma extensão ao nome do arquivo.Exemplos:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--time_partitioning_expiration=SECONDSUm 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_NAMEEspecifica o campo usado para determinar 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=INTERVALAtiva o particionamento baseado em tempo na tabela e define o tipo de partição. Use um dos seguintes valores:
DAYHOURMONTHYEAR
--use_avro_logical_types={true|false}Se a parte
FORMATda sinalização--external_table_definitionestiver definida comoAVRO, essa sinalização especificará se os tipos lógicos serão convertidos nos tipos correspondentes (comoTIMESTAMP) em vez de usar apenas os tipos brutos (comoINTEGER).--parquet_enable_list_inference={true|false}Se a parte
FORMATda sinalização--external_table_definitionestiver definida comoPARQUET, essa sinalização especificará se é necessário usar inferência de esquema nos tipos lógicos ParquetLIST.--parquet_enum_as_string={true|false}Se a parte
FORMATda sinalização--external_table_definitionestiver definida comoPARQUET, essa sinalização especificará se tipos lógicos ParquetENUMserão inferidos como valoresSTRING.
Para mais informações, consulte Como criar e usar tabelas.
bq mk --transfer_config
Cria uma configuração de transferência. As sinalizações a seguir são compatíveis:
--data_source=DATA_SOURCE- Especifica a fonte de dados. Obrigatório ao criar uma configuração de transferência. Use um dos seguintes valores:
amazon_s3- Transferência de dados do Amazon S3azure_blob_storage: transferência de dados do Armazenamento de Blobs do Azuredcm_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 Managerdisplayvideo- Transferência de dados do Display & Video 360google_ads- Transferência de dados do Google Adsmerchant_center- Transferência de dados do Google Merchant Centermysql- Transferência de dados do MySQLplay- Transferência de dados do Google Playscheduled_query- Transferência de dados de consultas programadassearch_ads- 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
--display_name=DISPLAY_NAME- Especifica o nome de exibição da configuração de transferência.
--no_auto_scheduling={true|false}- Desativa a programação automática de execuções de transferência de dados nesta configuração.
O valor padrão é
false. --params={"PARAMETER":"VALUE"}ou-p={"PARAMETER":"VALUE"}- Especifica os parâmetros da configuração de transferência no formato JSON. Os parâmetros variam de acordo com a fonte de dados.
--refresh_window_days=DAYS- Um número inteiro que especifica a janela de atualização para uma configuração de transferência em dias. O valor padrão é
0. --service_account_name=SERVICE_ACCOUNT- Especifica uma conta de serviço a ser usada como a credencial para a configuração de transferência.
--target_dataset=DATASET- Especifica o conjunto de dados de destino na configuração da transferência.
--table_filter=TABLES- Usado apenas com a fonte de dados
google_ads. O parâmetroTABLESé uma lista separada por vírgulas de tabelas a serem incluídas na transferência. Para excluir uma tabela, use um hífen (-) antes dela. O valor padrão inclui todas as tabelas na transferência. --destination_kms_key=KEY- Especifica um ID de recurso de chave do Cloud KMS para criptografar os dados da tabela de destino.
Para informações sobre como usar o comando bq mk com o
serviço de transferência de dados do
BigQuery, consulte:
- Configurar uma transferência do Amazon S3
- Configurar uma transferência do Campaign Manager
- Configurar uma transferência do Cloud Storage
- Configurar uma transferência do Google Ad Manager
- Configurar uma transferência do Google Ads
- Configurar uma transferência do Google Merchant Center (Beta)
- Configurar uma transferência do Google Play
- Configurar uma transferência do Search Ads 360 (Beta)
- Configurar uma transferência de canal do YouTube
- Configurar uma transferência do proprietário do conteúdo do YouTube
- Migrar dados do Amazon Redshift
- Migrar dados do Teradata
bq mk --transfer_run
Cria uma transferência de dados no horário ou intervalo de tempo especificado usando a configuração de transferência de dados especificada.
Sinopse
bq mk --transfer_run [--run_time=RUN_TIME | --start_time=START_TIME --end_time=END_TIME] CONFIG
As sinalizações a seguir são compatíveis:
--run_time=RUN_TIME- Um carimbo de data/hora que especifica o horário para programar a execução da transferência de dados.
--start_time=START_TIME- Um carimbo de data/hora que especifica o horário de início para um intervalo de execuções de transferência.
--end_time=END_TIME- Um carimbo de data/hora que especifica o horário de término para um intervalo de execuções de transferência.
O formato dos carimbos de data/hora é RFC3339 UTC "Zulu".
O argumento CONFIG especifica uma configuração de transferência de dados preexistente.
Exemplos
bq mk --transfer_run \ --run_time=2021-01-20T17:00:00.00Z \ projects/p/locations/l/transferConfigs/c
bq mk --transfer_run \ --start_time=2020-12-19T16:39:57-08:00 \ --end_time=2020-12-19T20:39:57-08:00 \ projects/p/locations/l/transferConfigs/c
bq mk --view
Cria uma visualização. As sinalizações a seguir são compatíveis:
--add_tags=TAGS- Especifica as tags que você está anexando à nova
separados por vírgulas. Por exemplo,
556741164180/env:prod,myProject/department:sales. Cada tag precisa ter o nome da chave com namespace e o nome curto do valor. --description=DESCRIPTION- Especifica a descrição da visualização.
--expiration=SECONDS- Especifica a vida útil da visualização. Se
SECONDSfor0, a visualização não expirará. Se você não especificar a sinalização--expiration, o BigQuery criará a visualização com o ciclo de vida padrão da tabela do conjunto de dados. --label=KEY:VALUE- Especifica um rótulo para a visualização. Repita essa sinalização para especificar vários rótulos.
--use_legacy_sql={true|false}- Defina como
falsepara usar uma consulta do GoogleSQL para criar uma visualização. O valor padrão é determinado pelas suas configurações. Se a configuração não for especificada, o valor padrão serátrue(usa SQL legado). --view_udf_resource=FILE- O URI do Cloud Storage ou o caminho para um arquivo de código local que é carregado e avaliado imediatamente como um recurso de função definido pelo usuário usado pela consulta SQL de uma visualização. Repita a sinalização para especificar vários arquivos.
Para mais informações, consulte Como criar visualizações.
bq mkdef
Use o comando bq mkdef para criar uma definição de tabela no formato JSON para dados
armazenados no Cloud Storage ou no Google Drive.
Sinopse
bq mkdef [FLAGS] URI [ > FILE ]
Sinalizações e argumentos
O comando bq mkdef usa as seguintes sinalizações e argumentos:
--autodetect={true|false}- Especifica se quer usar a detecção automática de esquema para dados CSV
e JSON. O padrão é
false. --connection_id=CONNECTION_ID- O ID de um recurso de conexão para usar na autenticação.
--hive_partitioning_modeEspecifica como determinar o esquema de particionamento quando o BigQuery lê dados. Estes são os modos compatíveis:
AUTO: inferir automaticamente nomes e tipos de chaves de partição.STRINGS: inferir automaticamente nomes de chave de partição. Todos os tipos são tratados como strings.CUSTOM: especifica o esquema de particionamento no prefixo do URI de origem.
O valor padrão é
AUTO.--hive_partitioning_source_uri_prefixEspecifica o prefixo comum para os URIs de origem. O valor de prefixo comum é a parte do URI que precede imediatamente a codificação da chave de partição. Se você especificou
CUSTOMpara o modo, também precisa identificar o esquema de particionamento.Por exemplo, considere os arquivos com a seguinte estrutura:
gs://bucket/path_to_table/dt=2019-06-01/country=USA/id=7/file.avrogs://bucket/path_to_table/dt=2019-05-31/country=CA/id=3/file.avro
Se você usar os modos
AUTOouSTRINGS, os seguintes valores serão aceitáveis:gs://bucket/path_to_tablegs://bucket/path_to_table/
Se você usar o modo
CUSTOM, os seguintes valores serão aceitáveis:gs://bucket/path_to_table/{dt:DATE}/{country:STRING}/{id:INTEGER}gs://bucket/path_to_table/{dt:STRING}/{country:STRING}/{id:INTEGER}gs://bucket/path_to_table/{dt:DATE}/{country:STRING}/{id:STRING}
Para mais informações sobre como usar o comando bq mkdef, consulte
Como criar um arquivo de definição de tabela para uma fonte de dados externa.
--ignore_unknown_values={true|false}ou-i={true|false}- Especifica se é necessário ignorar quaisquer valores em uma linha que não estejam presentes no
esquema. O padrão é
false. --metadata_cache_mode=STRINGEspecifica se o cache de metadados da tabela é atualizado de forma automática ou manual.
Defina como
AUTOMATICpara que o cache de metadados seja atualizado em um intervalo definido pelo sistema, geralmente entre 30 e 60 minutos.Defina como
MANUALse quiser atualizar o cache de metadados com uma programação que você determinar. Nesse caso, chame o procedimento do sistemaBQ.REFRESH_EXTERNAL_METADATA_CACHEpara atualizar o cache.Será necessário configurar a sinalização
--metadata_cache_modese você definir a sinalização--max_stalenesscom o comandobq mk.--parquet_enable_list_inference={true|false}Se
source_formatestiver definido comoPARQUET, essa sinalização especificará se é necessário usar a inferência de esquema para os tipos lógicosLISTdo Parquet. O padrão éfalse.--parquet_enum_as_string={true|false}Se
source_formatestiver definido comoPARQUET, essa sinalização especificará se os tipos lógicosENUMdo Parquet serão inferidos como valoresSTRING. O padrão éfalse.--file_set_spec_type=FILE_SET_SPEC_TYPEEspecifica como interpretar URIs de origem.
FILE_SYSTEM_MATCH: expande os URIs de origem listando arquivos do armazenamento de objetos. Esse é o comportamento padrão se FileSetSpecType não estiver definido.NEW_LINE_DELIMITED_MANIFEST: indica que os URIs fornecidos são arquivos de manifesto delimitados por nova linha, com um URI por linha. URIs curinga não são aceitos nos arquivos de manifesto, e todos os arquivos de dados referenciados precisam estar no mesmo bucket que o manifesto.
Por exemplo, se você tiver um URI de origem de
"gs://bucket/path/file"efile_set_spec_typeforFILE_SYSTEM_MATCH, o arquivo será usado diretamente como um arquivo de dados. Sefile_set_spec_typeforNEW_LINE_DELIMITED_MANIFEST, cada linha no arquivo será interpretada como um URI que aponta para um arquivo de dados.--source_format=FORMATEspecifica formato dos dados de origem. Use um dos seguintes valores:
AVROCSVDATASTORE_BACKUP(use este valor para o Filestore)GOOGLE_SHEETSNEWLINE_DELIMITED_JSONORCPARQUET
O valor padrão é
CSV.--use_avro_logical_types={true|false}Se a sinalização
--source_formatestiver definida comoAVRO, ela especificará se é necessário converter os tipos lógicos nos tipos correspondentes (comoTIMESTAMP) em vez de apenas usar os tipos brutos (comoINTEGER). O padrão éfalse.
bq partition
Use o comando bq partition para converter um grupo de tabelas com sufixos de
unidade de tempo, como tabelas que terminam em YYYYMMDD para
particionamento de data, em tabelas particionadas.
Sinopse
bq partition [FLAGS] SOURCE_TABLE_BASE_NAME PARTITION_TABLE
Sinalizações e argumentos
O comando bq partition usa as seguintes sinalizações e argumentos:
--no_clobber={true|false}ou-n={true|false}- Para proibir a substituição de uma partição atual,
defina como
true. O valor padrão éfalse; se a partição existir, ela será substituída. --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_type=INTERVALEspecifica o tipo de partição. A tabela a seguir fornece os valores possíveis para a sinalização
INTERVALe o formato de sufixo de unidade de tempo esperado para cada um:INTERVALSufixo HOURYYYYMMDDHHDAYYYYYMMDDMONTHYYYYMMYEARYYYYSOURCE_TABLE_BASE_NAMEO nome base do grupo de tabelas com sufixos de unidade de tempo.
PARTITION_TABLEO nome da tabela particionada de destino.
Para mais informações sobre como usar o comando bq partition, consulte
Como converter tabelas fragmentadas por data em tabelas particionadas por tempo de processamento.
bq query
Use o comando bq query para criar um job de consulta que execute a consulta
SQL especificada.
Sinopse
bq query [FLAGS] 'QUERY'
Sinalizações e argumentos
O comando bq query usa as seguintes sinalizações e argumentos:
--allow_large_results={true|false}- Para ativar tamanhos de tabela de destino grandes
para consultas SQL legadas, defina como
true. O valor padrão éfalse. --append_table={true|false}- Para anexar dados a uma tabela de destino, defina como
true. O valor padrão éfalse. --batch={true|false}- Para executar a consulta no modo em lote, defina como
true. O valor padrão éfalse. --clustering_fields=COLUMNS- Uma lista separada por vírgulas de até quatro nomes de colunas que especifica os campos a serem usados para armazenar em cluster a tabela de destino em uma consulta. Se especificada com particionamento, a tabela será particionada e, em seguida, cada partição será agrupada usando as colunas fornecidas.
--connection_property=KEY=VALUEUm par de chave-valor que permite especificar propriedades de nível de conexão para personalizar o comportamento das consultas. Repita essa sinalização para especificar outras propriedades.
As propriedades de conexão compatíveis são as seguintes:
dataset_project_id: representa o projeto padrão para conjuntos de dados que são usados na consulta, semelhante à variável de sistema@@dataset_project_id.query_label: associa a consulta a um determinado rótulo de job. Se definido, todas as consultas subsequentes em um script ou sessão têm esse rótulo. Para mais detalhes sobre os requisitos de formatação dos rótulos de consulta, consulte o campolabelsno recursoJobConfiguration.service_account: especifica uma conta de serviço a ser usada para executar a consulta. Por exemplo,--connection_property=service_account=myserviceaccount@project.iam.gserviceaccount.com.session_id: associa a consulta a uma determinada sessão.time_zone: representa o fuso horário padrão a ser usado para executar a consulta.
--continuous={true|false}Para executar uma consulta contínua, defina como
true. O valor padrão éfalse.--destination_kms_key=KEYEspecifica um ID de recurso de chave do Cloud KMS para criptografar os dados da tabela de destino.
--destination_schema={PATH_TO_FILE|SCHEMA}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.As alterações no esquema ocorrem em uma operação separada da execução da consulta. Se você gravar os resultados da consulta em uma tabela especificando a sinalização
--destination_tablee a consulta gerar uma exceção posteriormente, é possível que todas as alterações de esquema sejam ignoradas. Se isso ocorrer, verifique o esquema da tabela de destino e atualize-o manualmente, se necessário.--destination_table=TABLEQuando especificada, os resultados da consulta são salvos em
TABLE. EspecifiqueTABLEno seguinte formato:PROJECT:DATASET.TABLESePROJECTnão for especificado, o projeto atual será considerado. Se a sinalização--destination_tablenão for especificada, os resultados da consulta serão salvos em uma tabela temporária.Exemplos:
--destination_table myProject:myDataset.myTable
--destination_table myDataset.myTable
--dry_run={true|false}Quando especificada, a consulta é validada, mas não executada.
--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}Especifica o nome da tabela e a definição da tabela para uma consulta de tabela externa. A definição da tabela pode ser um caminho para um arquivo de esquema JSON local ou uma definição de tabela in-line. O formato para fornecer a definição de tabela in-line é
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI. O formato do valorSCHEMAé uma lista separada por vírgulas de definições de coluna no formatoFIELD:DATA_TYPE, FIELD:DATA_TYPE. Se você usar um arquivo de definição de tabela, não adicione uma extensão ao nome do arquivo.Exemplo:
--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
Repita essa sinalização para consultar várias tabelas.
--flatten_results={true|false}Para proibir o nivelamento de campos aninhados e repetidos nos resultados de consultas SQL legadas, defina como
false. O valor padrão étrue.--label=KEY:VALUEEspecifica um rótulo para o job de consulta. Repita essa sinalização para especificar vários rótulos.
--max_rows=MAX_ROWSou-n=MAX_ROWSUm número inteiro que especifica o número de linhas a retornar nos resultados da consulta. O valor padrão é
100.--maximum_bytes_billed=MAX_BYTESUm número inteiro que limita os bytes faturados pela consulta. Se a consulta ultrapassar o limite, ela falhará (sem gerar cobranças). Se essa sinalização não for especificada, os bytes faturados serão definidos como o padrão do projeto.
--max_statement_results=VALUEUm número inteiro que especifica o número máximo de instruções de script exibidas para os resultados da consulta. O valor padrão é
100.--min_completion_ratio=RATIO(Experimental) Um número entre 0 e 1 que especifica a fração mínima de dados que precisa ser verificada antes que uma consulta seja retornada. Se a sinalização não for especificada, o valor de servidor padrão
1.0será usado.--parameter={PATH_TO_FILE|PARAMETER}Um arquivo JSON contendo uma lista de parâmetros de consulta ou um parâmetro de consulta no formulário
NAME:TYPE:VALUE. Um nome vazio gera um parâmetro de posição. SeTYPEfor omitido, o tipoSTRINGserá usado.NULLespecifica um valor nulo. Repita essa sinalização para especificar vários parâmetros.Por exemplo:
--parameter=/tmp/queryParams
--parameter=Name::Oscar
--parameter=Count:INTEGER:42
--range_partitioning=COLUMN_NAME,START,END,INTERVALUse com a sinalização
--destination_table. Especifica opções para particionamento por intervalo de números inteiros na tabela de destino. O valor é uma lista separada por vírgulas no formatocolumn_name,start,end,interval, em que:column_nameé a coluna usada para criar as partições por intervalo de números inteiros;starté o início do particionamento por intervalo, inclusivo;endé o fim do particionamento por intervalo, exclusivo;intervalé a largura de cada intervalo dentro da partição.
Por exemplo:
--range_partitioning=customer_id,0,10000,100
--replace={true|false}Para substituir a tabela de destino pelos resultados da consulta, defina como
true. Todos os dados e esquemas atuais são apagados. 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.--require_cache={true|false}Se especificada, executa a consulta apenas se os resultados puderem ser recuperados do cache.
--require_partition_filter={true|false}Se especificada, requer um filtro de partição para consultas na tabela fornecida. Essa sinalização só pode ser usada com uma tabela particionada.
- **
--reservation_id=RESERVATION Prévia. Se especificado, a reserva em que a consulta é executada.
--rpc={true|false}Para usar a API de consulta no estilo RPC, em vez do método
jobs.insertda API REST, defina comotrue. O valor padrão éfalse.--schedule="SCHEDULE"Transforma a consulta em uma programada recorrente. É necessário definir uma frequência de execução da consulta.
Exemplos:
--schedule="every 24 hours"
--schedule="every 3 hours"
Para conferir uma descrição da sintaxe, consulte Como formatar a programação.
--schema_update_option=OPTIONAo 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 camposREQUIREDparaNULLABLE.
Repita essa sinalização para especificar várias opções de atualização de esquema.
--start_row=ROW_NUMBERou-s=ROW_NUMBERUm número inteiro que especifica a primeira linha a retornar no resultado da consulta. O valor padrão é
0.--target_dataset=DATASETQuando especificada com
--schedule, atualiza o conjunto de dados de destino para uma consulta programada. A consulta deve ser DDL ou DML.--time_partitioning_expiration=SECONDSUse com a sinalização
--destination_table. Trata-se de um número inteiro que especifica (em segundos) quando uma partição baseada em tempo será excluída. O prazo de validade é a soma da data UTC da partição com o valor do número inteiro. Caso ele seja negativo, isso indica que não há validade.--time_partitioning_field=COLUMN_NAMEUse com a sinalização
--destination_table. Especifica a coluna para o particionamento baseado em tempo. Se ele for ativado sem esse valor, a tabela será particionada com base no tempo de ingestão.--time_partitioning_type=INTERVALUse com a sinalização
--destination_table. Especifica o tipo de partição da tabela de destino. Use um dos seguintes valores:DAYHOURMONTHYEAR
--udf_resource=FILEEssa sinalização aplica-se somente a consultas SQL legadas. Especifica o URI do Cloud Storage ou o caminho para um arquivo local que contém um recurso de função definido pelo usuário a ser usado por uma consulta SQL legada. Repita a sinalização para especificar vários arquivos.
--use_cache={true|false}Para não permitir o armazenamento dos resultados da consulta em cache, defina como
false. O valor padrão étrue.--use_legacy_sql={true|false}Para executar uma consulta do GoogleSQL, defina como
false. O valor padrão é determinado pelas suas configurações. Se a configuração não for especificada, o valor padrão serátrue. O comando usa o SQL legado.--job_timeout_ms={string (Int64Value)}Especifica o tempo máximo de execução de uma consulta em milissegundos. Se esse limite de tempo for excedido, o BigQuery tentará interromper o job.
QUERYA consulta que você quer executar. É possível especificar a consulta usando uma das métodos a seguir:
Especifique uma string que contenha a consulta.
Se você precisar usar literais de string adicionais na consulta, deve seguir as regras de aspas para o shell que você está usando, como Bash ou PowerShell:
O exemplo a seguir mostra uma abordagem típica no Bash, que é usar aspas duplas para denotar os literais de string na consulta e depois coloque a consulta entre aspas simples:
'SELECT * FROM mydataset.mytable WHERE column1 = "value";'
Se você estiver copiando a consulta de outro local, remova também nenhum comentário na consulta.
Passe um script SQL que contenha a consulta. O exemplo a seguir mostra como transmitir um script SQL no shell Bash:
bq query --use_legacy_sql=false < query.sql
Para mais informações sobre como usar o comando bq query, consulte
Execute uma consulta.
bq remove-iam-policy-binding
Use o comando bq remove-iam-policy-binding para recuperar a
política do IAM
de um recurso e remover uma vinculação da política em uma única etapa.
O recurso pode ser uma tabela ou uma visualização.
Esse comando é uma alternativa ao processo de três etapas a seguir:
- Como usar o comando
bq get-iam-policypara recuperar o arquivo de política (no formato JSON). - Como editar o arquivo de política.
- Como usar o comando
bq set-iam-policypara atualizar a política sem a vinculação
Sinopse
bq remove-iam-policy-binding FLAGS --member=MEMBER_TYPE:MEMBER --role=ROLE RESOURCE
Sinalizações e argumentos
O comando bq remove-iam-policy-binding usa as seguintes
sinalizações e argumentos:
--member=MEMBER_TYPE:MEMBERObrigatório. Use a sinalização
--memberpara 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--membere--roleé igual a uma vinculação.O valor
MEMBER_TYPEespecifica o tipo de membro na vinculação da política do IAM. Use um dos seguintes valores:userserviceAccountgroupdomain
O valor
MEMBERespecifica o endereço de e-mail ou o domínio do membro na vinculação política do IAM.--role=ROLEObrigató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--membere--roleé igual a uma vinculação.--table={true|false}ou-t={true|false}Opcional. Para remover uma vinculação da política do IAM de uma tabela ou visualização, defina como
true. O valor padrão éfalse.
RESOURCE é a tabela ou a visualização com a vinculação
de política que você quer remover.
Para mais informações, consulte a referência da política do IAM.
bq rm
Use o comando bq rm para excluir um recurso do BigQuery.
Sinopse
bq rm [FLAGS] RESOURCE
Sinalizações e argumentos
O comando bq rm usa as seguintes sinalizações e argumentos:
--capacity_commitment={false|true}- Para excluir um compromisso de capacidade, defina como
true, especifique o local do compromisso que você quer remover usando a sinalização--locatione substituaRESOURCEpelo Código do compromisso que você quer remover. --dataset={true|false}ou-d={true|false}- Para excluir um conjunto de dados, defina como
true. O valor padrão éfalse. --force={true|false}ou-f={true|false}- Para excluir um recurso
sem prompt, defina como
true. O valor padrão éfalse. --job={true|false}ou-j={true|false}- Para excluir um job, defina como "true". O valor padrão é falso.
--model={true|false}ou-m={true|false}- Para excluir um modelo do BigQuery ML, defina como
true. O padrão éfalse. --recursive={true|false}ou-r{true|false}- Para excluir um conjunto de dados e quaisquer tabelas, dados da tabela
ou modelos contidos nele, defina como
true. O valor padrão éfalse. --reservation={true|false}- Para excluir uma reserva, defina como
true. O valor padrão éfalse. --reservation_assignment={true|false}- Para excluir uma atribuição de reserva, defina como
true. O valor padrão éfalse. --routine={true|false}- Para excluir uma rotina, defina como
true. O valor padrão éfalse. Uma rotina pode ser uma função definida pelo usuário permanente ,função de tabela (Visualização), ou procedimento armazenado. --table={true|false}ou-t={true|false}- Para excluir uma tabela ou visualização, defina como
true. O valor padrão éfalse. --transfer_config={true|false}- Para excluir uma configuração de transferência, defina como
true. O valor padrão éfalse. RESOURCE- O recurso que você quer remover.
Para mais informações sobre como usar o comando bq rm, consulte:
- Como gerenciar conjuntos de dados
- Como gerenciar jobs
- Como gerenciar tabelas
- Como gerenciar visualizações
- Como trabalhar com transferências
- Como excluir snapshots da tabela
bq set-iam-policy
Use o comando bq set-iam-policy para especificar ou atualizar a
política do IAM
de um recurso. O recurso pode ser uma tabela, uma visualização ou uma
reserva de slot.
Depois de definir a política, a nova política é impressa
em stdout. A política está no formato JSON.
O campo etag na política atualizada precisa corresponder ao valor etag da política
atual. Caso contrário, a atualização falhará. Esse recurso evita atualizações
simultâneas.
É possível conseguir a política atual e o valor etag de um recurso usando o
comando bq get-iam-policy.
Sinopse
bq set-iam-policy [FLAGS] RESOURCE FILE_NAME
Exemplos
bq set-iam-policy myDataset.myTable policy.json
bq set-iam-policy --reservation myReservation policy.json
Sinalizações e argumentos
O comando bq set-iam-policy usa as seguintes sinalizações e
argumentos.
--table={true|false}ou-t={true|false}- Opcional. Para definir a política do IAM
de uma tabela ou visualização, defina como
true. O valor padrão éfalse. --reservation={true|false}- Para definir a política do IAM de uma reserva, defina como
true(prévia). O valor padrão éfalse. Quando essa flag é usada,RESOURCEé tratado como um identificador de reserva. A reserva pode ter prefixos opcionais de projeto e local:myProject:myLocation.myReservation.
RESOURCE é a tabela ou a visualização com a política que você quer atualizar.
FILE_NAME é o nome de um arquivo que contém a política no formato JSON.
Para mais informações sobre o comando bq set-iam-policy, consulte
Controlar o acesso a recursos com o IAM.
bq show
Use o comando bq show para exibir informações sobre um recurso.
Sinopse
bq show [FLAGS] [RESOURCE]
Sinalizações e argumentos
O comando bq show usa as seguintes sinalizações e argumentos:
--assignee_id=ASSIGNEE- Quando usado com a sinalização
--reservation_assignment, especifica o ID de uma pasta, organização ou projeto. Use a sinalização--assignee_typepara especificar o tipo de cessionário a ser exibido. --assignee_type=TYPE- Quando usado com a sinalização
--reservation_assignment, especifica o tipo de entidade a ser exibido. Use um dos seguintes valores:FOLDERORGANIZATIONPROJECT
--connection={true|false}- Para mostrar informações sobre uma conexão, defina como
true. O valor padrão éfalse. Para mais informações, consulte Como visualizar um recurso de conexão. --dataset={true|false}ou-d={true|false}- Para mostrar informações sobre um conjunto de dados, defina como
true. O valor padrão éfalse. --encryption_service_account={true|false}- Para mostrar a conta de serviço de criptografia de um projeto, se existir, ou criar uma
se não existir, defina como
true. O valor padrão éfalse. Use com a sinalização--project_id. --job={true|false}ou-j={true|false}- Para mostrar informações sobre um job, defina como
true. O valor padrão éfalse. --job_type=JOB_TYPE- Quando usado com a sinalização
--reservation_assignment, especifica o tipo de job das atribuições de reserva que você quer mostrar. Use um dos seguintes valores:QUERYPIPELINEML_EXTERNAL
--model={true|false}ou-m={true|false}- Para mostrar informações sobre um modelo de ML do BigQuery, defina como
true. O valor padrão éfalse. --reservation={true|false}- Para mostrar informações sobre uma reserva, defina como
true. O valor padrão éfalse. --reservation_assignment={true|false}- Quando definido como
true, o comando exibe atribuições de reserva para uma pasta, organização ou projeto especificado. O comando exibe as atribuições explícitas do recurso de destino, se houver. Caso contrário, exibirá atribuições herdadas dos recursos pai. Por exemplo, um projeto pode herdar atribuições da pasta pai. Ao usar essa sinalização, as sinalizações--job_type,--assignee_typee--assignee_idsão aplicáveis. O valor padrão éfalse. --routine={true|false}- Para mostrar informações sobre uma rotina, defina como
true. O valor padrão éfalse. Uma rotina pode ser uma função definida pelo usuário permanente ,função de tabela (Visualização), ou procedimento armazenado. --schema={true|false}- Para exibir apenas o esquema da tabela, defina como
true. O valor padrão éfalse. --transfer_config={true|false}- Para exibir informações sobre uma configuração de transferência, defina como
true. O valor padrão éfalse. --transfer_run={true|false}- Para exibir informações sobre uma execução de transferência, defina como
true. O valor padrão éfalse. --view={true|false}- Para exibir informações sobre uma visualização, defina como
true. O valor padrão éfalse. RESOURCE- O recurso cujas informações você quer mostrar.
Para mais informações sobre como usar o comando bq show, consulte:
- Como receber informações sobre conjuntos de dados
- Como criar e usar tabelas
- Como receber informações sobre visualizações
- Como trabalhar com transferências
- Como gerenciar jobs
- Como encontrar informações sobre um snapshot da tabela
bq update
Use o comando bq update para alterar um recurso.
Sinopse
bq update [FLAGS] [RESOURCE]
Sinalizações e argumentos
O comando bq update usa as seguintes sinalizações e argumentos:
--add_tags=TAGS- Disponível apenas em conjuntos de dados e tabelas. Especifica o
tags que você
são anexados ao recurso, separados por vírgulas. Por exemplo,
556741164180/env:prod,myProject/department:sales. Cada tag precisa ter o nome da chave com namespace e o nome curto do valor. --autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS- O número de slots de escalonamento automático atribuídos à reserva. Isto é igual a
o valor do tamanho máximo da reserva menos o número de slots de valor de referência. Disponível apenas com a sinalização
--reservatione se a reserva foi criada com uma edição. --capacity_commitment={true|false}- Para atualizar um compromisso de capacidade, defina como
true. Use essa sinalização com as sinalizações--merge,--plan,--renewal_plan,--splite--slots. --clear_all_tags={true|false}- Disponível apenas em conjuntos de dados e tabelas. Para limpar todas as tags de um recurso, defina como
true. O valor padrão éfalse. --clear_label=KEY:VALUE- Remove um rótulo do recurso. Use o formato
KEY:VALUEpara especificar o rótulo a ser removido. Repita essa sinalização para remover vários rótulos. --clustering_fields=COLUMNS- Atualiza a especificação de clustering de uma tabela. O
valor COLUMNS é uma lista separada
por vírgulas de nomes de colunas para usar no cluster. Para remover o clustering, defina
COLUMNS como
""(a string vazia). Para mais informações, consulte Modificar a especificação de clustering. --target_job_concurrency=CONCURRENCY- Quando usado com a sinalização
--reservation, especifica o número de destino de consultas executadas ao mesmo tempo. O valor padrão é 0, o que significa que a simultaneidade é definida automaticamente com base no tamanho da reserva. Para mais informações, consulte Usar filas de consultas. --dataset={true|false}ou-d={true|false}- Para atualizar um conjunto de dados, defina como
true. O valor padrão éfalse. --default_kms_key=KEY- Especifica o ID de recurso de chave padrão do Cloud KMS para criptografar dados da tabela em um conjunto de dados. A chave padrão será usada se nenhuma chave explícita for fornecida para uma criação de tabela ou uma consulta.
--default_partition_expiration=SECONDSUm 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. Essa sinalização não tem valor mínimo.
O prazo de validade é definido como a data UTC da partição acrescida do valor de número inteiro. Se essa propriedade for definida, ela substituirá a validade da tabela padrão no nível do conjunto de dados, se houver. Se você fornecer a sinalização
--time_partitioning_expirationao 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. Especifique0para remover uma validade atual.--default_table_expiration=SECONDSUm número inteiro que atualiza a duração 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. Especifique
0para remover a validade atual.--description=DESCRIPTIONAtualiza a descrição de um conjunto de dados, tabela, snapshot da tabela, modelo ou visualização.
--destination_reservation_id=RESERVATION_IDQuando usado com a sinalização
--reservation_assignment, move uma atribuição de reserva atual para a reserva especificada. O valor é o ID da reserva de destino. Para mais informações, consulte Mover uma atribuição para uma reserva diferente.--display_name=DISPLAY_NAMEAtualiza o nome de exibição para uma configuração de transferência.
--etag=ETAGAtua como um filtro. Atualiza o recurso somente se ele tiver uma ETag que corresponda à string especificada no argumento
ETAG.--expiration SECONDSPara atualizar a expiração da tabela, do modelo, do snapshot da tabela ou da visualização, inclua essa sinalização. Substitua
SECONDSpelo número de segundos entre a hora de atualização e o prazo de validade. Para remover a expiração de uma tabela, um modelo, um snapshot da tabela ou uma visualização, defina o argumentoSECONDScomo 0.--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}Atualiza uma tabela externa com a definição de tabela especificada. A definição da tabela pode ser um caminho para um arquivo de definição de tabela JSON local ou in-line no formato
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI. O valor deSCHEMAé uma lista separada por vírgulas de definições de coluna no formatoFIELD:DATA_TYPE, FIELD:DATA_TYPE. Se você usar um arquivo de definição de tabela, não adicione uma extensão ao nome do arquivo.Exemplo:
--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
--ignore_idle_slots={true|false}Use com a sinalização
--reservation. Para restringir os jobs em execução na reserva especificada para usar somente os slots alocados para aquela reserva, defina comotrue. O valor padrão éfalse. Os jobs na reserva especificada podem usar slots inativos de outras reservas ou aqueles que não são alocados para nenhuma reserva. Para mais informações, consulte Slots inativos.--max_staleness=INTERVALEspecifica um valor de INTERVAL que determina o máximo de defasagem permitido ao consultar uma visualização materializada ou uma tabela externa. O valor padrão é
0-0 0 0:0:0.Exemplo:
- 1 dia:
0-0 1 0:0:0 - 1 hora:
0-0 0 1:0:0
Para usar essa flag, especifique uma definição de tabela com a flag
--external_table_definition.- 1 dia:
--max_time_travel_hours=HOURSEspecifica a duração em horas da janela de viagem no tempo para o conjunto de dados. O valor
--max_time_travel_hoursprecisa ser um número inteiro expresso em múltiplos de 24 (48, 72, 96, 120, 144 e 168) entre 48 (2 dias) e 168 (7 dias).--merge={true|false}Para mesclar dois compromissos de capacidade, defina
--mergecomotrue. Defina a sinalização--capacity_commitmentcomotrue, especifique o local dos compromissos que você quer mesclar usando a sinalização--locatione substituaRESOURCEpelos IDs dos dois compromissos que você quer mesclar, separados por vírgula. Para mais informações, consulte Mesclar dois compromissos.--metadata_cache_mode=METADATA_CACHE_MODEAtiva o cache de metadados para uma tabela externa com uma conexão. Use um dos seguintes valores:
AUTOMATICMANUAL
Especifique
AUTOMATICpara atualizar automaticamente os metadados em cache. EspecifiqueMANUALpara interromper a atualização automática. Para usar essa flag, especifique uma definição de tabela com a flag--external_table_definition.--model={true|false}ou-m={true|false}Para atualizar os metadados de um modelo de ML do BigQuery, defina como
true. O valor padrão éfalse.--params={"PARAMETER":"VALUE"} or -p={"PARAMETER":"VALUE"}Atualiza parâmetros para uma configuração de transferência. Os parâmetros variam de acordo com a fonte de dados. Para mais informações, consulte Introdução ao serviço de transferência de dados do BigQuery.
--plan=PLANQuando usado com a sinalização
--capacity_commitment, converte um compromisso de capacidade no plano de compromisso de maior duração especificado. SubstituaPLANpor um dos seguintes:ANNUALTHREE_YEAR
--refresh_window_days=DAYSUm número inteiro que especifica uma janela atualizada (em dias) para uma configuração de transferência.
--remove_tags=TAG_KEYSDisponível apenas em conjuntos de dados e tabelas. Especifica as tags que você está removendo do recurso, separadas por vírgulas, por exemplo,
556741164180/env,myProject/department. Cada chave de tag precisa ter o nome de chave com namespace.--renewal_plan=PLANQuando usado com a sinalização
--capacity_commitment, atualiza o plano de renovação para um compromisso de capacidade anual. SubstituaPLANpor um dos seguintes:ANNUALTHREE_YEARNONE
Os clientes que usam preços fixos legados também podem usar um dos seguintes valores:
FLEXMONTHLYANNUAL
--reservation={true|false}Especifica se é necessário atualizar uma reserva. O valor padrão é
false.--reservation_assignment={true|false}Especifica se é necessário atualizar uma atribuição de reserva. 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. Se você usar um arquivo de esquema, não adicione uma extensão ao nome do arquivo.Exemplo:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--service_account_name=SERVICE_ACCOUNTEspecifica uma conta de serviço a ser usada como a credencial de uma configuração de transferência.
--set_label=KEY:VALUEEspecifica um rótulo a ser atualizado. Para atualizar vários rótulos, repita essa sinalização.
--slots=NUMBER_OF_BASELINE_SLOTSQuando usado com as sinalizações
--capacity_commitmente--split, especifica o número de slots de valor de referência a serem divididos de um compromisso de capacidade atual em um novo compromisso. SubstituaRESOURCEpelo ID do compromisso do qual você quer dividir o arquivo.Quando usado com a sinalização
--reservation, atualiza o número de slots em uma reserva.--source=FILEO caminho para o arquivo JSON local que contém um payload usado para atualizar um recurso. Por exemplo, é possível usar essa sinalização para especificar um arquivo JSON que contenha um recurso de conjunto de dados com uma propriedade de
accessatualizada. O arquivo é usado para substituir os controles de acesso do conjunto de dados. O arquivo JSON não pode incluir uma marca de ordem de byte (BOM, na sigla em inglês).--split={true|false}Quando definido como
truee usado com a sinalização--capacity_commitment, especifica que você quer dividir um compromisso de capacidade atual. Use a sinalização--locationpara especificar o local do compromisso de que você quer dividir e use a sinalização--slotspara especificar o número de slots que você quer dividir. SubstituaRESOURCEpelo ID do compromisso do qual você quer dividir. Para mais informações, consulte Dividir um compromisso.--storage_billing_model=BILLING_MODELEspecifica o modelo de faturamento de armazenamento do conjunto de dados. Defina o valor de
--storage_billing_modelcomoPHYSICALpara usar bytes físicos ao calcular as cobranças de armazenamento ou comoLOGICALpara usar bytes lógicos.Leva 24 horas para alterar o modelo de faturamento de um conjunto de dados.
Depois de alterar o modelo de faturamento do armazenamento de um conjunto de dados, aguarde 14 dias antes de alterar o modelo de faturamento do armazenamento novamente.
--table={true|false}ou-t={true|false}Especifica se é necessário atualizar uma tabela. O valor padrão é
false.--target_dataset=DATASETQuando especificada, atualiza o conjunto de dados de destino para uma configuração de transferência.
--time_partitioning_expiration=SECONDSUm número inteiro que atualiza (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_NAMEAtualiza o campo usado para determinar 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=INTERVALEspecifica o tipo de particionamento. Use um dos seguintes valores:
DAYHOURMONTHYEAR
Não é possível alterar o tipo de particionamento de uma tabela existente.
--transfer_config={true|false}Especifica se é necessário atualizar uma configuração de transferência. O valor padrão é
false.--update_credentials={true|false}Especifica se é necessário atualizar as credenciais de configuração de transferência. O valor padrão é
false.--use_legacy_sql={true|false}Defina como
falsepara atualizar a consulta SQL para uma visualização do SQL legado para o GoogleSQL. O valor padrão é determinado pelas suas configurações. Se a configuração não for especificada, o valor padrão serátrue. A consulta usa SQL legado.--vertex_ai_model_id=VERTEX_AI_MODEL_IDQuando especificada, atualiza o ID do modelo de um modelo do BigQuery ML que está registrada no Vertex AI Model Registry.
--view=QUERYQuando especificada, atualiza a consulta SQL de uma exibição.
--view_udf_resource=FILEAtualiza o URI do Cloud Storage ou o caminho para um arquivo de código local, carregado e avaliado imediatamente, como recurso de uma função definida pelo usuário na consulta SQL de uma visualização. Repita a sinalização para especificar vários arquivos.
RESOURCEO recurso que você quer atualizar.
Para mais informações sobre como usar o comando bq update, consulte:
- Como atualizar as propriedades do conjunto de dados
- Como gerenciar tabelas
- Como atualizar visualizações
- Como atualizar rótulos
- Como trabalhar com transferências
- Como atualizar metadados de snapshot da tabela
bq version
Use o comando bq version para exibir o número da versão da ferramenta de linha de comando bq.
Sinopse
bq version
bq wait
Use o comando bq wait para aguardar um número especificado de segundos para que um job
seja concluído. Se um job não for especificado, o comando aguardará a conclusão do
job atual.
Sinopse
bq wait [FLAGS] [JOB] [SECONDS]
Exemplos
bq wait
bq wait --wait_for_status=RUNNING 12345 100
Sinalizações e argumentos
O comando bq wait usa as seguintes sinalizações e argumentos:
--fail_on_error={true|false}- Para retornar o sucesso se o job foi concluído durante o tempo de espera, mesmo se o job
falhar, defina como
false. O valor padrão étrue; após o tempo de espera, o comando será encerrado com um erro se o job ainda estiver em execução ou se o job foi concluído, mas tiver falhado. --wait_for_status=STATUSQuando especificada, aguarda um determinado status do job antes de sair. Use um dos seguintes valores:
PENDINGRUNNINGDONE
O valor padrão é
DONE.JOBEspecifica o job que será aguardado. Use o comando
bq ls --jobs myProjectpara encontrar um identificador de job.SECONDSEspecifica o número máximo de segundos para aguardar até que o job seja concluído. Se você digitar
0, o comando pesquisará a conclusão do job e retornará imediatamente. Se você não especificar um valor inteiro, o comando aguardará até que o job seja concluído.