Neste documento, você encontra detalhes sobre os comandos e sinalizações da ferramenta de linha de comando bq
. Para informações sobre como usar a CLI, consulte Como usar a ferramenta de linha de comando bq
.
Sinalizações globais
Você pode usar as seguintes sinalizações globais com a ferramenta de linha de comando bq
.
[OBSOLETO] Sinalizações de autorização da bq
O uso das sinalizações de autorização da bq
foi suspenso. Para configurar a autorização da ferramenta de linha de comando bq
, consulte Como autorizar ferramentas do SDK do Cloud.
--application_default_credential_file
- Para mais informações, consulte Como configurar a autenticação para aplicativos de produção de servidor para servidor.
O valor padrão é
''
. --credential_file
- O nome de arquivo usado para armazenar o token OAuth. O valor padrão é
$HOME/.bigquery.v2.token
. --service_account
- Use o endereço de e-mail dessa conta de serviço para autorização.
Por exemplo:
1234567890@developer.gserviceaccount.com
. O valor padrão é''
. --service_account_credential_file
- O arquivo usado como armazenamento de credenciais para contas de serviço. Será necessário definir essa sinalização se você estiver usando uma conta de serviço.
--service_account_private_key_file
- O arquivo que contém a chave privada da conta de serviço. Essa sinalização será necessária se
--service_account
for especificada. O valor padrão é''
. --service_account_private_key_password
- A senha da chave privada. A senha precisa corresponder à que você definiu na chave ao criá-la. O valor padrão é
notasecret
. --use_gce_service_account
- Especifique essa sinalização para usar credenciais de conta de serviço em vez de credenciais armazenadas ao executar uma instância do Google Compute Engine. Para mais informações, consulte Como criar e ativar contas de serviço para instâncias.
O valor padrão é
false
.
Sinalizações globais da bq
--api
- O endpoint da API a ser chamada. O valor padrão é
https://www.googleapis.com
.
--api_version
A versão da API a ser usada. O padrão é v2
.
--apilog
- Registre todas as solicitações e respostas de API no arquivo especificado por essa sinalização. Também é possível usar
stdout
estderr
. A especificação da string vazia (''
) será direcionada parastdout
. --bigqueryrc
- O caminho para o arquivo de configuração da ferramenta de linha de comando. O arquivo de configuração especifica novos padrões para qualquer sinalização e, para ser substituído, basta especificar a sinalização na linha de comando. Se a sinalização
--bigqueryrc
não for especificada, a variável de ambienteBIGQUERYRC
será usada. Se não for especificada, o caminho~/.bigqueryrc
será usado. O valor padrão é$HOME/.bigqueryrc
. --ca_certificates_file
- O local do seu arquivo de certificado de CA. O valor padrão é
''
. --dataset_id
- O conjunto de dados padrão a ser usado para solicitações. Essa sinalização é ignorada quando não aplicável. É possível definir o valor como project_id:dataset ou dataset. Se project_id não estiver presente, o projeto padrão será usado. Para substituir essa configuração, especifique a sinalização
--project_id
. O valor padrão é''
. --debug_mode
- Mostra rastreamentos em exceções do Python. O valor padrão é
false
. --disable_ssl_validation
- Desativa a validação do certificado HTTPS. O valor padrão é
false
. --discovery_file
- O nome do arquivo JSON a ser lido para descoberta. O valor padrão é
''
. --enable_gdrive
- Quando definido como
true
, um novo token OAuth com escopo do GDrive é solicitado. Quando definido comofalse
, um novo token OAuth sem escopo do GDrive é solicitado. --fingerprint_job_id
- Define se é necessário usar um ID do job derivado de uma impressão digital da configuração do job. Isso impedirá que o mesmo job seja executado várias vezes acidentalmente. O valor padrão é
false
. --flagfile
- Quando especificada, as definições de sinalização do arquivo fornecido são inseridas na ferramenta de linha de comando. O valor padrão é
''
. --format
Especifica o formato da saída do comando. As opções são estas:
pretty
: saída de tabela formatadasparse
: saída de tabela mais simplesprettyjson
: formato JSON fácil de lerjson
: JSON compactado ao máximocsv
: formato csv com cabeçalho
pretty
,sparse
eprettyjson
foram desenvolvidos para ser legíveis por humanos.json
ecsv
são para transmissão a outro programa. Senone
for especificado, o comando não produzirá saída. Se a sinalização--format
não estiver presente, um formato de saída apropriado será escolhido com base no comando.--headless
Especifica se é necessário executar a sessão da
bq
sem interação do usuário. Quando definido comotrue
, a interação é desativada. Por exemplo,debug_mode
não forçará a entrada no depurador, e a frequência da impressão informativa será reduzida. O valor padrão éfalse
.--job_id
O ID do job exclusivo a ser usado para a solicitação. Se não for especificado em uma solicitação de criação de job, ele será gerado. Essa sinalização aplica-se apenas aos comandos que criam jobs:
cp
,extract
,load
equery
. Para mais informações, consulte Como executar jobs de maneira programática.--job_property
Outro 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
Uma string correspondente à sua região ou multirregião. A sinalização de local é obrigatória nos comandos
cancel
eshow
quando você usa a sinalização-j
para mostrar informações sobre jobs. A sinalização de local é opcional nos seguintes comandos:query
cp
load
extract
partition
wait
mk
, quando você usa a sinalização-d
para criar um conjunto de dados
Todos os outros comandos ignoram a sinalização
--location
.--max_rows_per_request
Um número inteiro que especifica o número máximo de linhas a serem retornadas por leitura.
--project_id
O ID do projeto a ser usado para solicitações. O valor padrão é
''
.--proxy_address
O nome ou endereço IP do host proxy a ser usado para conexão com o GCP. O valor padrão é
''
.--proxy_password
A senha a ser usada na autenticação com o host proxy. O valor padrão é
''
.--proxy_port
O número da porta a ser usado para se conectar ao host proxy. O valor padrão é
''
.--proxy_username
O nome de usuário a ser usado na autenticação com o host proxy. O valor padrão é
''
.--quiet
ou-q
Se definido como
true
, ignora as atualizações de status enquanto os jobs estão em execução. O valor padrão éfalse
.--synchronous_mode
ou-sync
Se definido como
true
, aguarda a conclusão do comando antes de retornar e usa o status de conclusão do job como o código do erro. Se definido comofalse
, o job será criado e o status de conclusão bem-sucedida será usado para o código do erro. O valor padrão étrue
.--trace
Um token de rastreamento especificado como
token:token
para incluir nas solicitações de API.
Sinalizações específicas de comando
Você pode usar as seguintes sinalizações de comando na ferramenta de linha de comando bq
.
bq cancel
O comando cancel
é usado para cancelar jobs. O comando cancel
não tem sinalizações específicas.
Para mais informações sobre como usar o comando cancel
, consulte Como gerenciar jobs.
O comando cancel
usa as seguintes sinalizações globais.
--job_id
- O ID do job exclusivo a ser usado para a solicitação de cancelamento. É possível especificar o ID do job sem usar a sinalização
--job_id
. Por exemplo:bq cancel [JOB_ID]
. --synchronous_mode
ou--sync
- Quando especificada, aguarda a conclusão do comando antes de retornar. Se configurado como
false
, o comando retornará imediatamente. O valor padrão étrue
.
bq cp
O comando cp
é usado para copiar tabelas. O comando cp
usa as seguintes sinalizações específicas de comando.
Para mais informações sobre como usar o comando cp
, consulte Como gerenciar tabelas.
--append_table
ou-a
- Quando especificada, copia uma tabela e a anexa a uma tabela atual. O valor padrão é
false
. --destination_kms_key
- A chave do Cloud KMS usada para criptografia dos dados da tabela de destino.
--force
ou-f
- Quando especificada, substitui a tabela de destino (se houver) sem enviar prompt. O valor padrão é
false
. --no_clobber
ou-n
- Quando especificada, não substitui a tabela de destino (se houver). O valor padrão é
false
.
bq extract
O comando extract
é usado para exportar dados da tabela ao Google Cloud Storage.
Para mais informações sobre como usar o comando extract
, consulte Como exportar dados da tabela.
O comando extract
usa as seguintes sinalizações específicas de comando.
--compression
- O tipo de compactação a ser usado para arquivos exportados. Os valores possíveis incluem
GZIP
(somente CSV e JSON),DEFLATE
(somente Avro),SNAPPY
(somente Avro) eNONE
. O valor padrão éNONE
. --destination_format
O formato dos dados exportados. Os valores possíveis incluem:
CSV
NEWLINE_DELIMITED_JSON
AVRO
O valor padrão é
CSV
.--field_delimiter
ou-F
O caractere que indica o limite entre as colunas no arquivo de saída para exportações de CSV.
\t
etab
são permitidos como delimitadores de tabulação.--print_header
Quando especificada, esse objeto imprime linhas de cabeçalho para formatos que tenham cabeçalhos. O valor padrão é
true
.
bq head
O comando head
exibe linhas em uma tabela.
Para mais informações sobre como usar o comando head
, consulte Como gerenciar dados de tabela.
O comando head
usa as seguintes sinalizações específicas de comando.
--job
ou-j
- Especifique essa sinalização com um ID de job válido para ler os resultados de um job de consulta. O valor padrão é
false
. --max_rows
ou-n
- Um número inteiro que indica a quantidade de linhas a serem impressas ao mostrar dados da tabela. O valor padrão é
100
. --selected_fields
ou-c
- 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 não for especificado, todas as colunas serão recuperadas.
--start_row
ou-s
- Um número inteiro que indica a quantidade de linhas a serem ignoradas antes de mostrar os dados da tabela. O valor padrão é
0
(começa na primeira linha). --table
ou-t
- Especifique essa sinalização com um ID de tabela para ler as linhas de uma tabela. O valor padrão é
false
.
bq insert
O comando insert
permite que você insira linhas de dados formatados do JSON delimitados por nova linha usando o buffer de streaming. Esse comando é usado apenas para testes. Use o método de API insertAll
para fazer streaming de dados para o BigQuery.
Para mais informações, consulte Como fazer streaming de dados para o BigQuery.
O comando insert
usa as seguintes sinalizações específicas de comando.
--ignore_unknown_values
ou-i
- Quando especificada, ignora valores em uma linha que não estejam presentes no esquema da tabela.
--skip_invalid_rows
ou-s
- Quando especificada, tenta inserir qualquer linha válida, mesmo que haja linhas inválidas.
--template_suffix
ou-x
- Quando especificada, trata a tabela de destino como um modelo base e insere as linhas em uma tabela de instâncias denominada
{destination}{templateSuffix}
. O BigQuery gerencia a criação da tabela de instâncias usando o esquema do modelo base.
bq load
O comando load
carrega dados em uma tabela.
Para mais informações sobre como carregar dados do Google Cloud Storage usando o comando load
, consulte:
- 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 Cloud Datastore
- Como carregar dados de exportações do Cloud Firestore
Para mais informações sobre como carregar dados de uma fonte local usando o comando load
, consulte Como carregar dados no BigQuery de uma fonte de dados local.
O comando load
usa as seguintes sinalizações específicas de comando.
--allow_jagged_rows
- Quando especificada, permite a falta de colunas opcionais à direita nos dados CSV.
--allow_quoted_newlines
- Quando especificada, permite novas linhas entre aspas nos dados CSV.
--autodetect
- Quando especificada, ativa a detecção automática de esquema para dados CSV e JSON.
--clustering_fields
- Uma lista separada por vírgulas de até quatro nomes de colunas. Só é possível usar essa sinalização com tabelas particionadas.
--destination_kms_key
- A chave do Cloud KMS para criptografia dos dados da tabela de destino.
--encoding
ou-E
- A codificação de caracteres usada nos dados. Os valores possíveis incluem:
- ISO-8859-1 (também conhecido como Latin-1)
- UTF-8
--field_delimiter
ou-F
- O caractere que indica o limite entre colunas nos dados.
\t
etab
são permitidos como delimitadores de tabulação. --ignore_unknown_values
- Ignora e não carrega linhas de arquivos CSV e JSON com valores de colunas extras que não correspondem ao esquema.
--max_bad_records
- Um número inteiro que especifica o número máximo de registros inválidos permitidos antes de uma falha em todo o job. O valor padrão é
0
. No máximo, cinco erros de qualquer tipo são retornados, independentemente do valor--max_bad_records
. --null_marker
- Uma string personalizada opcional que representa um valor
NULL
nos dados CSV. --projection_fields
- Se usado com
--source_format
definido comoDATASTORE_BACKUP
, indica quais propriedades da entidade serão carregadas de uma exportação do Cloud Datastore como 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. O valor padrão é''
. Essa sinalização também pode ser usada com exportações do Cloud Firestore. --quote
- O caractere de aspas a ser usado antes e depois dos registros. O valor padrão é
"
. Para indicar nenhum caractere de aspas, use uma string vazia. --replace
- Quando especificada, os dados atuais são apagados quando novos dados são carregados. O valor padrão é
false
. --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.
--schema_update_option
Ao anexar dados a uma tabela (em um job de carregamento ou consulta), ou ao substituir uma partição de tabela, especifica como atualizar o esquema da tabela de destino. Os valores possíveis incluem:
ALLOW_FIELD_ADDITION
: permite que novos campos sejam adicionados.ALLOW_FIELD_RELAXATION
: permite o relaxamento de camposREQUIRED
paraNULLABLE
.
Repita essa sinalização para especificar várias opções de atualização de esquema.
--skip_leading_rows
Um número inteiro que especifica a quantidade de linhas a ignorar no início do arquivo de origem.
--source_format
O formato dos dados de origem. Os valores possíveis incluem:
CSV
NEWLINE_DELIMITED_JSON
AVRO
DATASTORE_BACKUP
PARQUET
ORC
--time_partitioning_expiration
Um número inteiro que especifica (em segundos) quando uma partição baseada em tempo precisa ser excluída. O prazo de validade é a soma da data UTC da partição com o valor do número inteiro. Um número negativo indica que não há validade.
--time_partitioning_field
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
Ativa o particionamento baseado em tempo em uma tabela e define o tipo de partição. Atualmente, o único valor possível é
DAY
, que gera uma partição por dia.
--use_avro_logical_types
Se sourceFormat
for definido como AVRO
, indicará se é necessário converter os tipos lógicos nos tipos correspondentes (como TIMESTAMP
), em vez de apenas usar os tipos brutos (como INTEGER
).
bq ls
O comando ls
lista objetos em uma coleção.
Para mais informações sobre como usar o comando 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
O comando ls
usa as seguintes sinalizações específicas de comando.
--all
ou-a
- Quando especificada, mostra todos os resultados: jobs de todos os usuários ou 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.
--datasets
ou-d
- Quando especificada, lista os conjuntos de dados. O valor padrão é
false
. --filter
Conjuntos de dados de listas que correspondem à expressão do filtro. Use uma lista separada por espaço de chaves e valores de rótulo no formato
labels.key:value
. Para configurações de transferência, uma expressão de filtro no formatodataSourceIds:data_sources
lista configurações de transferência para fontes de dados especificadas. Os valores possíveis incluem:dcm_dt
: Campaign Managergoogle_cloud_storage
: Cloud Storagedfp_dt
: Google Ad Manageradwords
: Google Adsmerchant_center
: Google Merchant Centerplay
: Google Playyoutube_channel
: relatórios de canal do YouTubeyoutube_content_owner
: relatórios do proprietário do conteúdo do YouTube
Também usada para execuções de transferência, uma expressão de filtro no formato
states:state
lista as execuções de transferência com os estados especificados. Os valores possíveis incluem: +SUCCEEDED
+FAILED
+PENDING
+RUNNING
+CANCELLED
--jobs
ou-j
Quando especificada, lista os jobs. O valor padrão é
false
. Por padrão, o limite é de 100.000 resultados.--max_creation_time
Um número inteiro que representa um carimbo de data/hora em milissegundos. Quando especificada com
-j
, essa sinalização lista os jobs criados antes do carimbo de data/hora.--max_results
ou-n
Um número inteiro indicando a quantidade máxima de resultados. O valor padrão é 50.
--min_creation_time
Um número inteiro que representa um carimbo de data/hora em milissegundos. Quando especificada com
-j
, essa sinalização lista os jobs criados depois do carimbo de data/hora.--message_type
Para listar mensagens de registro de execução de transferência de um tipo específico, use
messageTypes:message_type
. Os valores possíveis incluem:INFO
WARNING
ERROR
--models
ou-m
Quando especificada, lista os modelos de ML do BigQuery.
--page_token
ou-k
Quando especificada, lista os itens a partir desse token da página.
--projects
ou-p
Quando especificada, mostra todos os projetos. O valor padrão é
false
.--run_attempt
Defina essa sinalização como
LATEST
para listar apenas as últimas execuções de uma transferência.--transfer_config
Quando especificada, lista as configurações de transferência. Ao usar essa sinalização, você também precisa especificar
--transfer_location
. O valor padrão éfalse
.--transfer_location
Lista as configurações de transferência no local especificado. O local da transferência é definido quando ela é criada.
--transfer_log
Quando especificada, lista as mensagens do registro de transferência para a execução especificada. O valor padrão é
false
.--transfer_run
Quando especificada, lista as execuções de transferência. O valor padrão é
false
.
bq mk
O comando mk
cria uma configuração de conjunto de dados, tabela, visualização ou transferência.
Para mais informações sobre como usar o comando mk
com o BigQuery, consulte:
Para mais informações sobre como usar o comando mk
com o serviço de transferência de dados do BigQuery, consulte:
- Como configurar uma transferência do Campaign Manager
- Como configurar uma transferência do Cloud Storage (Beta)
- Como configurar uma transferência do Google Ad Manager
- Como configurar uma transferência do Google Ads
- Como configurar uma transferência do Google Merchant Center (Beta)
- Como configurar uma transferência do Google Play (Beta)
- Como configurar uma transferência do canal do YouTube
- Como configurar uma transferência do proprietário do conteúdo do YouTube
O comando mk
usa as seguintes sinalizações específicas de comando.
--clustering_fields
- Uma lista separada por vírgulas com nomes de colunas usada para armazenar uma tabela em cluster. No momento, essa sinalização está disponível apenas para tabelas particionadas. Quando a sinalização é especificada, a tabela é particionada e armazenada em cluster usando as colunas mencionadas.
--data_location
- (Legado) Especifica o local do conjunto de dados. Use a sinalização global
--location
em vez disso. --data_source
Especifica a fonte de dados para uma configuração de transferência. Os valores possíveis incluem:
dcm_dt
: Campaign Managergoogle_cloud_storage
: Cloud Storagedfp_dt
: Google Ad Manageradwords
: Google Adsmerchant_center
: Google Merchant Centerplay
: Google Playyoutube_channel
: relatórios de canal do YouTubeyoutube_content_owner
: relatórios do proprietário do conteúdo do YouTube
O valor padrão é
''
.--dataset
ou-d
Quando especificada, cria um conjunto de dados. O valor padrão é
false
.--default_partition_expiration
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, 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_expiration
ao criar ou atualizar uma tabela particionada, a validade da partição no nível da tabela terá prioridade sobre a validade da partição padrão no nível do conjunto de dados.--default_table_expiration
Um número inteiro que especifica o tempo 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
A descrição do conjunto de dados ou tabela.
--destination_kms_key
A chave do Cloud KMS usada para criptografar os dados da tabela.
--display_name
O nome de exibição da configuração de transferência. O valor padrão é
''
.--end_time
Um carimbo de data/hora que especifica o horário final para um intervalo de execuções de transferência. O formato é RFC3339 UTC "Zulu".
--expiration
Um número inteiro que especifica o prazo de validade da tabela ou da visualização. O prazo de validade é definido como a hora UTC atual mais esse valor.
--external_table_definition
Especifica uma definição de tabela usada para criar uma tabela externa. O valor pode ser uma definição de tabela in-line ou um caminho para um arquivo que contém uma definição de tabela JSON. O formato de uma definição in-line é
schema@format=uri
.--force
ou-f
Quando especificada, se um recurso já existir, o código de saída será 0. O valor padrão é
false
.--label
Um rótulo a ser definido na tabela. O formato é key:value. Repita essa sinalização para especificar vários rótulos.
--params
ou-p
Os parâmetros para uma configuração de transferência no formato JSON:
{"parameter":"value"}
. 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.--refresh_window_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
.--require_partition_filter
Quando especificada, essa sinalização determina se um filtro de partição é necessário para consultas na tabela fornecida. Essa sinalização só se aplica a tabelas particionadas. O valor padrão é
true
.--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. O valor padrão é
''
.--start_time
Um carimbo de data/hora que especifica o horário de início para um intervalo de execuções de transferência. O formato é RFC3339 UTC "Zulu".
--table
ou-t
Quando especificada, cria uma tabela. O valor padrão é
false
.--target_dataset
O conjunto de dados de destino para uma configuração de transferência. O valor padrão é
''
.--time_partitioning_expiration
Um número inteiro que especifica (em segundos) quando uma partição baseada em tempo precisa ser excluída. O prazo de validade é a soma da data UTC da partição com o valor do número inteiro. Um número negativo indica que não há validade.
--time_partitioning_field
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
Ativa o particionamento baseado em tempo em uma tabela e define o tipo de partição. Atualmente, o único valor possível é
DAY
, que gera uma partição por dia.--transfer_config
Quando especificada, cria uma configuração de transferência. Ao usar essa sinalização, você também precisa especificar
--data_source
,--display_name
,--target_dataset
e--params
. As opções para--params
variam de acordo com adata_source
específica. O valor padrão éfalse
.--transfer_run
Quando especificada, cria execuções de transferência para um período. O valor padrão é
false
.--use_legacy_sql
Quando definida como
false
, usa uma consulta SQL padrão para criar uma visualização. O valor padrão étrue
(usa SQL legado).--view
Quando especificada, cria uma exibição. O valor padrão é
''
.--view_udf_resource
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 essa sinalização para especificar vários arquivos.
bq mkdef
O comando mkdef
cria uma definição de tabela no formato JSON para dados armazenados no Google Cloud Storage ou no Google Drive.
Para mais informações sobre como usar o comando mkdef
, consulte Como criar um arquivo de definição de tabela para uma fonte de dados externa.
O comando mkdef
usa as seguintes sinalizações específicas de comando.
--autodetect
- Quando especificada, usa a detecção automática de esquema para dados CSV e JSON.
--ignore_unknown_values
ou-i
- Quando especificada, ignora valores em uma linha que não estejam presentes no esquema.
--source_format
- O formato dos dados de origem. Os valores possíveis incluem:
CSV
NEWLINE_DELIMITED_JSON
AVRO
DATASTORE_BACKUP
GOOGLE_SHEETS
O valor padrão éCSV
.
bq partition
O comando partition
é usado para converter tabelas com datas como nome (terminando em AAAAMMDD) em tabelas particionadas.
Para mais informações sobre como usar o comando partition
, consulte Como converter tabelas fragmentadas por data em tabelas particionadas por tempo de ingestão.
O comando partition
usa as seguintes sinalizações específicas de comando.
--no_clobber
ou-n
- Quando especificada, não substitui uma partição atual. O valor padrão é
false
. --time_partitioning_expiration
- 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
- Ativa o particionamento baseado em tempo em uma tabela e define o tipo de partição. Atualmente, o único valor possível é
DAY
, que gera uma partição por dia.
bq query
O comando query
cria um job de consulta que executa a consulta SQL fornecida.
Para mais informações sobre como usar o comando query
, consulte Como executar consultas interativas e em lote.
O comando query
usa as seguintes sinalizações específicas de comando.
--allow_large_results
- Quando especificada, ativa tamanhos de tabela de destino grandes para consultas SQL legadas.
--append_table
- Quando especificada, anexa dados a uma tabela de destino. O valor padrão é
false
. --batch
- Quando especificada, executa a consulta no modo em lote. O valor padrão é
false
. --clustering_fields
- Se especificada, uma lista de colunas separada por vírgulas é usada para agrupar a tabela de destino em uma consulta. Essa sinalização precisa ser usada com as sinalizações de particionamento de tempo para criar uma tabela particionada por tempo de ingestão ou uma tabela particionada em uma coluna
DATE
ouTIMESTAMP
. Quando a sinalização é especificada, a tabela é particionada e, em seguida, armazenada em cluster usando as colunas fornecidas. --destination_kms_key
- A chave do Cloud KMS usada para criptografar os dados da tabela de destino.
--destination_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. O valor padrão é
''
. --destination_table
- O nome da tabela de destino para gravar os resultados da consulta. O valor padrão é
''
. --dry_run
- Quando especificada, a consulta é validada, mas não executada.
--external_table_definition
- A definição do nome da tabela e de esquema usada em uma consulta de tabela externa. O esquema pode ser um 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. Para fornecer o nome e o esquema da tabela, use o formato
table::path_to_file
outable::schema@source_format=cloud_storage_uri
. Repita essa sinalização para consultar várias tabelas. --flatten_results
- Quando especificada, padroniza campos aninhados e repetidos nos resultados de consultas SQL legadas. O valor padrão é
true
. --label
- Um rótulo para aplicar a um job de consulta no formato key:value. Repita essa sinalização para especificar vários rótulos.
--max_rows
ou-n
- Um número inteiro que especifica o número de linhas a retornar nos resultados da consulta. O valor padrão é
100
. --maximum_bytes_billed
- Um número inteiro que limita os bytes faturados pela consulta. Se a consulta ultrapassar o limite, ela falhará (sem gerar cobranças). Se não especificado, os bytes faturados são definidos como o padrão do projeto;
--min_completion_ratio
- [Experimental] Um número entre 0 e 1 que especifica a fração mínima de dados que precisam ser verificados antes que uma consulta seja retornada. Se não definido, será usado o valor padrão
1.0
do servidor. --parameter
- Um arquivo JSON contendo uma lista de parâmetros de consulta ou um parâmetro de consulta no formato name:type:value. Um nome vazio gera um parâmetro de posição. type pode ser omitido para pressupor um valor
STRING
no formatoname::value
ou::value
.NULL
produz um valor nulo. Repita essa sinalização para especificar vários parâmetros. --replace
- Se especificada, substitui a tabela de destino pelos resultados da consulta. O valor padrão é
false
. --require_cache
- Se especificada, executa a consulta apenas se os resultados puderem ser recuperados do cache.
--require_partition_filter
- Se especificada, requer um filtro de partição para consultas na tabela fornecida. Essa sinalização só pode ser usada com uma tabela particionada.
--rpc
- Se especificada, usa a API de consulta no estilo rpc em vez do método
jobs.insert
da API REST. O valor padrão éfalse
. --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'
--schema_update_option
Ao anexar dados a uma tabela (em um job de carregamento ou consulta), ou ao substituir uma partição de tabela, especifica como atualizar o esquema da tabela de destino. Os valores possíveis incluem:
ALLOW_FIELD_ADDITION
: permite que novos campos sejam adicionados.ALLOW_FIELD_RELAXATION
: permite o relaxamento de camposREQUIRED
paraNULLABLE
.
Repita essa sinalização para especificar várias opções de atualização de esquema.
--start_row
ou-s
Um número inteiro que especifica a primeira linha a retornar no resultado da consulta. O valor padrão é
0
.--target_dataset
Quando especificada com
--schedule
, atualiza o conjunto de dados de destino para uma consulta programada. A consulta deve ser DDL ou DML.--time_partitioning_expiration
Um número inteiro que especifica (em segundos) quando uma partição baseada em tempo precisa ser excluída. O prazo de validade é a soma da data UTC da partição com o valor do número inteiro. Um número negativo indica que não há validade.
--time_partitioning_field
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
Ativa o particionamento baseado em tempo em uma tabela e define o tipo de partição. Atualmente, o único valor possível é
DAY
, que gera uma partição por dia.--udf_resource
Essa sinalização aplica-se somente a consultas SQL legadas. Quando especificada, este é 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 por uma consulta SQL legada. Repita essa sinalização para especificar vários arquivos.
--use_cache
Quando especificada, armazena em cache os resultados da consulta. O valor padrão é
true
.--use_legacy_sql
Quando definida como
false
, executa uma consulta SQL padrão. O valor padrão étrue
(usa SQL legado).
bq rm
O comando rm
exclui uma configuração de conjunto de dados, tabela, visualização, modelo ou transferência.
Para mais informações sobre como usar o comando rm
, consulte:
- Como gerenciar conjuntos de dados
- Como gerenciar tabelas
- Como gerenciar visualizações
- Como trabalhar com transferências
O comando rm
usa as seguintes sinalizações específicas de comando.
--dataset
ou-d
- Quando especificada, exclui um conjunto de dados. O valor padrão é
false
. --force
ou-f
- Quando especificada, exclui uma tabela, visualização, modelo ou conjunto de dados sem prompt. O valor padrão é
false
. --model
ou-m
- Quando especificada, exclui um modelo de ML do BigQuery.
--recursive
ou-r
- Quando especificada, exclui um conjunto de dados e quaisquer tabelas, dados da tabela ou modelos contidos nele. O valor padrão é
false
. --table
ou-t
- Quando especificada, exclui uma tabela. O valor padrão é
false
. --transfer_config
- Quando especificada, exclui uma configuração de transferência. O valor padrão é
false
.
bq show
O comando show
exibe informações sobre um objeto.
Para mais informações sobre como usar o comando 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
O comando show
usa as seguintes sinalizações específicas de comando.
--dataset
ou-d
- Quando especificada, exibe informações sobre um conjunto de dados.
O valor padrão é
false
. --encryption_service_account
- Quando especificada, exibe a conta de serviço para um usuário, se existir, ou cria uma, se necessário. O valor padrão é
false
. --job
ou-j
- Se especificada, mostra informações sobre um job. O valor padrão é
false
. --model
ou-m
- Se especificada, mostra informações sobre um modelo de ML do BigQuery.
--schema
- Quando especificada, exibe apenas o esquema da tabela. O valor padrão é
false
. --transfer_config
- Quando especificada, exibe informações sobre uma configuração de transferência. O valor padrão é
false
. --transfer_run
- Quando especificada, exibe informações sobre uma execução de transferência. O valor padrão é
false
. --view
- Quando especificada, exibe informações sobre uma visualização. O valor padrão é
false
.
bq update
O comando update
atualiza uma configuração de conjunto de dados, tabela, visualização, modelo ou transferência.
Para mais informações sobre como usar o comando update
, consulte:
- Como atualizar as propriedades do conjunto de dados
- Como gerenciar tabelas
- Como atualizar propriedades de visualização
- Como atualizar rótulos
- Como trabalhar com transferências
O comando update
usa as seguintes sinalizações específicas de comando.
--clear_label
- Remove um rótulo usando o formato key:. Repita essa sinalização para remover vários rótulos.
--dataset
ou-d
- Atualiza um conjunto de dados. O valor padrão é
false
. --default_partition_expiration
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. 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_expiration
ao criar ou atualizar uma tabela particionada, a validade da partição no nível da tabela terá prioridade sobre a validade da partição padrão no nível do conjunto de dados. Especifique0
para remover uma validade atual.--default_table_expiration
Um 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
0
para remover a validade atual.--description
Atualiza a descrição de um conjunto de dados, tabela, modelo ou visualização.
--display_name
Atualiza o nome de exibição para uma configuração de transferência. O valor padrão é
''
.--etag
Atualiza os recursos somente se houver correspondência do etag.
--expiration
Um número inteiro que atualiza o prazo de validade em segundos para uma tabela, visualização ou modelo. Especifique
0
para remover o prazo de validade.--external_table_definition
Atualiza uma tabela externa com a definição de tabela especificada. O esquema pode ser um 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. Para fornecer o nome e o esquema da tabela, use o formato
table::path_to_file
outable::schema@source_format=cloud_storage_uri
.--model
ou-m
Atualiza os metadados de um modelo de ML do BigQuery.
--params
ou-p
Atualiza parâmetros para uma configuração de transferência no formato JSON:
{"parameter":"value"}
. 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.--refresh_window_days
Um número inteiro que especifica uma janela atualizada (em dias) para uma configuração de transferência.
--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. O valor padrão é
''
.--set_label
Um rótulo para atualização no formato key:value. Repita essa sinalização para atualizar vários rótulos.
--source
O 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
access
atualizada. O arquivo é usado para substituir os controles de acesso do conjunto de dados.--table
ou-t
Quando especificada, atualiza uma tabela. O valor padrão é
false
.--target_dataset
Quando especificada, atualiza o conjunto de dados de destino para uma configuração de transferência. O valor padrão é
''
.--time_partitioning_expiration
Um 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
Atualiza 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
Atualiza o tipo de particionamento baseado em tempo para uma tabela. Atualmente, o único valor possível é
DAY
, que gera uma partição por dia.--transfer_config
Quando especificada, atualiza uma configuração de transferência. O valor padrão é
false
.--update_credentials
Quando especificada, atualiza as credenciais de configuração de transferência. O valor padrão é
false
.--use_legacy_sql
Quando definida como
false
, atualiza a consulta de SQL legado de uma exibição para SQL padrão. O valor padrão étrue
, usar SQL legado.--view
Quando especificada, atualiza a consulta SQL de uma exibição. O valor padrão é
''
.--view_udf_resource
Atualiza 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 essa sinalização para especificar vários arquivos.
bq wait
O comando wait
aguarda alguns segundos para que um job seja concluído.
O comando wait
usa a sinalização global --job_id
e as seguintes sinalizações específicas do comando.
integer
- Um valor inteiro maior ou igual a 0 que especifica o tempo de espera. Esse valor não é uma sinalização: você especifica o número inteiro na linha de comando. Se você digitar
0
, o comando pesquisará pela conclusão do job e retornará imediatamente. Se você não especificar um valor inteiro, o comando aguardará para sempre. --fail_on_error
- Quando especificada, após o tempo de espera decorrido, ocorrerá um erro se o job ainda estiver em execução ou terminar em falha. O valor padrão é
true
. --wait_for_status
Quando especificada, aguarda um determinado status do job antes de sair. Os valores possíveis incluem:
PENDING
RUNNING
DONE
O valor padrão é
DONE
.