Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Referência da ferramenta de linha de comando bq

Este documento descreve a sintaxe, comandos, sinalizações e argumentos da bq, a ferramenta de linha de comando do BigQuery. Ela é destinada a usuários que já estão familiarizados com o BigQuery, mas que querem saber como usar um determinado comando da ferramenta de linha de comando bq. Para informações gerais sobre como usar a ferramenta de linha de comando bq, consulte Como usar a ferramenta de linha de comando bq.

Sinopse

A ferramenta de linha de comando bq usa o seguinte formato:

bq COMMAND [FLAGS] [ARGUMENTS]

Algumas sinalizações podem ser usadas com vários comandos da ferramenta de linha de comando bq: essas sinalizações são descritas na seção Sinalizações globais.

Outras sinalizações são específicas de comandos; só podem ser usadas com um comando específico da ferramenta de linha de comando bq. As sinalizações específicas de comando são descritas nas seções de comando.

Sinalizações booleanas

Algumas sinalizações da ferramenta de linha de comando bq são booleanas; defina o valor da sinalização como true ou false. A ferramenta de linha de comando bq aceita os seguintes formatos para definir sinalizações booleanas.

Valor Formato Exemplo
true --FLAGNAME=true --debug_mode=true
true --FLAGNAME --debug_mode
false --FLAGNAME=false --debug_mode=false
false --noFLAGNAME --nodebug_mode

Este documento usa o formato --FLAGNAME=VALUE para sinalizações booleanas.

Todas as sinalizações booleanas são opcionais. Se uma sinalização booleana não estiver presente, o BigQuery usará o valor padrão da sinalização.

Como especificar valores para sinalizações

Quando você especifica um valor para uma sinalização, o sinal de igual (=) é opcional. No exemplo abaixo, as seguintes consultas são equivalentes:

bq ls --format prettyjson myDataset
bq ls --format=prettyjson myDataset

Neste documento, usamos o sinal de igual para maior clareza.

Ajuda on-line

A documentação está disponível na ferramenta de linha de comando bq da seguinte maneira:

Descrição Formato do comando de ajuda Exemplo
Lista de todos os comandos com exemplos bq help bq help
Descrição das sinalizações globais bq --help bq --help
Descrição de um comando específico bq help COMMAND bq help mk

Especificação de recursos

O formato para especificar um recurso depende do contexto. Em alguns casos, o separador entre o projeto e o conjunto de dados é dois pontos (:) e, em alguns casos, um ponto (.). A tabela a seguir descreve como especificar uma tabela do BigQuery em contextos diferentes.

Context Formato Exemplo
Ferramenta de linha de comando bq PROJECT:DATASET.TABLE myProject:myDataset.myTable
Consulta SQL padrão PROJECT.DATASET.TABLE myProject.myDataset.myTable
Consulta do SQL legado PROJECT:DATASET.TABLE myProject:myDataset.myTable

Se você não especificar um projeto, o BigQuery usará o projeto atual. Por exemplo, se o projeto atual for myProject, o BigQuery interpretará myDataset.myTable como myProject:myDataset.myTable (ou myProject.myDataset.myTable).

Alguns identificadores de recurso precisam ser citados com acentos graves (`). Se o identificador de recurso começar com uma letra ou um caractere de sublinhado e contiver apenas caracteres que sejam letras, números e sublinhados, não será necessário citá-lo. No entanto, se o identificador de recurso contiver outros tipos de caracteres ou palavras-chave reservadas, você precisará cercar o identificador (ou a parte do identificador com os caracteres especiais ou palavras-chave reservadas) com acentos graves. Para mais informações, consulte Identificadores.

Sinalizações globais

Use as sinalizações a seguir com qualquer comando bq, quando aplicável:

--api=ENDPOINT
Especifica o endpoint da API a ser chamada. O valor padrão é https://www.googleapis.com.
--api_version=VERSION
Especifica a versão da API a ser usada. O padrão é v2.
--apilog=FILE

Registra todas as solicitações e respostas de API no arquivo especificado por FILE. Os valores possíveis são:

  • o caminho para um arquivo - registra para o arquivo especificado
  • stdout: grava na saída padrão
  • stderr: registra para erro padrão
  • false: as solicitações e as respostas da API não são registradas (padrão)
--bigqueryrc=PATH

Especifica o caminho para o arquivo de configuração da ferramenta de linha de comando bq. Se você não especificar a sinalização --bigqueryrc, o comando usará a variável de ambiente BIGQUERYRC. Se a variável de ambiente não estiver configurada, $HOME/.bigqueryrc será usado. Se esse arquivo não existir, será usado ~/.bigqueryrc. Para mais informações, consulte Como configurar valores padrão para sinalizações de linha de comando.

--ca_certificates_file=PATH

Especifica a localização do arquivo do Certificate Authority Service (CA, na sigla em inglês).

--dataset_id=DATASET_ID

Especifica o conjunto de dados padrão a ser usado com o comando. Essa sinalização é ignorada quando não aplicável. É possível especificar o argumento DATASET_ID usando o formato PROJECT:DATASET ou DATASET. Se a parte PROJECT estiver ausente, o projeto padrão será usado. É possível substituir a configuração padrão do projeto especificando a sinalização --project_id.

--debug_mode={true|false}

Se definido como true, mostra rastreamentos em exceções do Python. O valor padrão é false.

--disable_ssl_validation={true|false}

Se definido como true, ativa a validação do certificado HTTPS. O valor padrão é false.

--discovery_file=PATH

Especifica o arquivo JSON que será lido para descoberta.

--enable_gdrive={true|false}

Se definido como false, solicita um novo token OAuth sem escopo do Drive. O valor padrão é true; solicita um novo token OAuth com escopo do Drive.

--fingerprint_job_id={true|false}

Para usar um ID do job derivado de uma impressão digital da configuração do job, defina como true. Isso evita que o mesmo job seja executado várias vezes acidentalmente. O valor padrão é false.

--format=FORMAT

Especifica o formato da saída do comando. Use um dos seguintes valores:

  • pretty: saída de tabela formatada
  • sparse: saída de tabela mais simples
  • prettyjson: formato JSON fácil de ler
  • json: JSON compactado ao máximo
  • csv: formato csv com cabeçalho

pretty, sparse e prettyjson foram desenvolvidos para ser legíveis por humanos. json e csv devem ser usados por outro programa. Se none for especificado, o comando não produzirá saída. Se a sinalização --format não estiver presente, um formato de saída apropriado será escolhido com base no comando.

--headless={true|false}

Para executar a sessão bq sem interação do usuário, defina como true. Por exemplo, debug_mode não forçará a entrada no depurador, e a frequência da impressão informativa será reduzida. O valor padrão é false.

--httplib2_debuglevel=DEBUG_LEVEL

Especifica se as informações de depuração HTTP serão exibidas. Se DEBUG_LEVEL for maior que 0, o comando registrará solicitações e respostas do servidor HTTP para stderr, além de mensagens de erro. Se DEBUG_LEVEL não for > 0, ou se a sinalização --httplib2_debuglevel não for usada, apenas mensagens de erro serão fornecidas.

Exemplo:

--httplib2_debuglevel=1

--job_id=JOB_ID

Especifica um identificador de job para um novo job. Essa sinalização aplica-se apenas aos comandos que criam jobs: cp, extract, load e query. Se você não usar a sinalização --job_id, os comandos gerarão um identificador de job exclusivo. Para mais informações, consulte Como executar jobs de maneira programática.

--job_property=KEY:VALUE

Um par de chave-valor a ser incluído no campo de propriedades da configuração do job. Repita essa sinalização para especificar outras propriedades.

--location=LOCATION

Uma string correspondente ao local da sua região ou multirregião. A sinalização de local é obrigatória nos comandos bq cancel e bq show quando você usa a sinalização --jobs para mostrar informações sobre jobs. Nos comandos a seguir, ela é opcional:

Todos os outros comandos ignoram a sinalização --location.

--max_rows_per_request=MAX_ROWS

Um número inteiro que especifica o número máximo de linhas a serem retornadas por leitura.

--project_id=PROJECT

Especifica o projeto a ser usado para comandos.

--proxy_address=PROXY

O nome ou endereço IP do host proxy a ser usado para conexão com o Google Cloud.

--proxy_password=PASSWORD

Especifica a senha a ser usada ao autenticar com o host proxy.

--proxy_port=PORT

Especifica o número da porta a ser usado para se conectar ao host proxy.

--proxy_username=USERNAME

Especifica o nome de usuário a ser usado na autenticação com o host de proxy.

--quiet={true|false} ou -q={true|false}

Para suprimir atualizações de status enquanto os jobs estão em execução, defina como true. O valor padrão é false.

--synchronous_mode={true|false} ou -sync={true|false}

Para criar o job e retornar imediatamente, com um status de conclusão bem-sucedido como código de erro, defina como false. Se definido como true, o comando aguardará a conclusão do job antes de retornar e retornará o status de conclusão do job como o código do erro. O valor padrão é true.

--trace=token:TOKEN

Especifica um token de rastreamento a ser incluído nas solicitações da API.

Sinalizações globais obsoletas

As sinalizações globais a seguir para configurar a autorização da ferramenta de linha de comando bq estão obsoletas. Para configurar a autorização da ferramenta de linha de comando bq, consulte Como autorizar ferramentas da Google Cloud CLI.

--application_default_credential_file

Para mais informações, consulte Autenticação como uma conta de serviço. O valor padrão é ''.

--credential_file

O nome de arquivo usado para armazenar o token OAuth. O valor padrão é $HOME/.bigquery.v2.token.

--service_account

Especifica um endereço de e-mail da conta de serviço a ser usado para autorização. Exemplo:

        1234567890@developer.gserviceaccount.com
        
.

--service_account_credential_file

O arquivo usado como armazenamento de credenciais para contas de serviço. Será necessário definir essa sinalização se você estiver usando uma conta de serviço.

--service_account_private_key_file

O arquivo que contém a chave privada da conta de serviço. Essa sinalização será obrigatória se --service_account for especificada. O valor padrão é ''.

--service_account_private_key_password

A senha da chave privada. A senha precisa corresponder à que você definiu na chave ao criá-la. O valor padrão é notasecret.

--use_gce_service_account={true|false}

Para usar as credenciais da conta de serviço em vez de credenciais armazenadas ao executar uma instância do Compute Engine, defina como true. O valor padrão é false; são usadas as credenciais armazenadas. Para mais informações, consulte: Como criar e ativar contas de serviço para instâncias.

A sinalização global a seguir para especificar sinalizações da ferramenta de linha de comando bq de um arquivo está obsoleta. Para especificar sinalizações de um arquivo, use a sinalização --bigqueryrc.

--flagfile=PATH

Quando essa sinalização é especificada, as definições de sinalização do arquivo fornecido são inseridas na ferramenta de linha de comando bq. O valor padrão é ''.

Para mais informações, consulte Como configurar valores padrão para sinalizações de linha de comando.

Comandos

As seções a seguir descrevem os comandos da ferramenta de linha de comando bq, além das sinalizações e argumentos específicos dos comandos.

bq add-iam-policy-binding

Use o comando bq add-iam-policy-binding para recuperar a política de gerenciamento de identidade e acesso (IAM, na sigla em inglês) de uma tabela ou visualização e adicionar uma vinculação à política em uma etapa.

Esse comando é uma alternativa ao processo de três etapas a seguir:

  1. Como usar o comando bq get-iam-policy para recuperar o arquivo de política (no formato JSON).
  2. Como editar o arquivo de política.
  3. Como usar o comando bq set-iam-policy para atualizar a política com uma nova vinculação.

Sinopse

bq add-iam-policy-binding [FLAGS] --member=MEMBER_TYPE:MEMBER --role=ROLE
  [--table] RESOURCE

Exemplo

bq add-iam-policy-binding --member=user:myAccount@gmail.com \
  --role=roles/bigquery.dataViewer myDataset.myTable

Sinalizações e argumentos

O comando bq add-iam-policy-binding usa as seguintes sinalizações e argumentos:

--member=MEMBER_TYPE:MEMBER

Obrigatório. Use a sinalização --member para especificar a parte do membro da vinculação da política do IAM. A sinalização --member é obrigatória com a sinalização --role. Uma combinação de sinalizações --member e --role é igual a uma vinculação.

O valor MEMBER_TYPE especifica o tipo de membro na vinculação da política do IAM. Use um dos seguintes valores:

  • user
  • serviceAccount
  • group
  • domain

O valor MEMBER especifica o endereço de e-mail ou o domínio do membro na vinculação política do IAM.

--role=ROLE

Obrigatório. Especifica a parte do papel da vinculação de política do IAM. A sinalização --role é obrigatória com a sinalização --member. Uma combinação de sinalizações --member e --role é igual a uma vinculação.

--table={true|false}

Para retornar um erro se o argumento RESOURCE não for um identificador de tabela ou visualização, defina a sinalização --table como true. O valor padrão é false. Essa sinalização é compatível com a consistência de outros comandos.

RESOURCE

A tabela ou a visualização com a política que você quer adicionar.

Para mais informações, consulte a referência da política do IAM.

bq cancel

Use o comando bq cancel para cancelar jobs do BigQuery.

Sinopse

bq [--synchronous_mode=false] cancel JOB_ID

Exemplos

bq cancel bqjob_12345
bq --synchronous_mode=false cancel bqjob_12345

Sinalizações e argumentos

O comando bq cancel usa as seguintes sinalizações e argumentos:

--synchronous_mode=false
Se você não quiser aguardar a conclusão do comando bq cancel, defina a sinalização global --synchronous_mode como false. 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:

Sinopse

bq cp [FLAGS] SOURCE_TABLE DESTINATION_TABLE

Exemplo

bq cp myDataset.myTable myDataset.myTableCopy

Sinalizações e argumentos

O comando bq cp usa as seguintes sinalizações e argumentos:

--append_table={true|false} ou -a={true|false}
Para anexar uma tabela a uma tabela atual, defina como true. O valor padrão é false.
--clone={true|false}
Para criar um clone de tabela, defina como true. A tabela de origem pode ser uma tabela padrão, um clone de tabela ou um snapshot de tabela. A tabela de destino é um clone da tabela. O padrão é false. Se --clone=true e --snapshot=true não forem especificados, a tabela de destino será o mesmo tipo da tabela de origem.
--destination_kms_key=KEY

Especifica um ID de recurso de chave do Cloud KMS para criptografar os dados da tabela de destino.

Exemplo:

--destination_kms_key=projects/myProject/locations/global/keyRings/myKeyRing/cryptoKeys/myKey

--expiration=SECONDS

O número de segundos até a expiração de um snapshot da tabela. Se não for incluído, a expiração do snapshot da tabela será definida como a expiração padrão do conjunto de dados que contém o novo snapshot da tabela. Use com a sinalização --snapshot.

--force={true|false} ou -f={true|false}

Para substituir a tabela de destino, se houver, sem prompt, defina como true. O valor padrão é false; se a tabela de destino existir, o comando solicitará uma confirmação antes da substituição.

--no_clobber={true|false} ou -n={true|false}

Para proibir a substituição da tabela de destino, se ela existir, defina como true. O valor padrão é false; se a tabela de destino existir, ela será substituída.

--restore={true|false}

A sinalização terá o uso suspenso. Para criar uma tabela gravável em um snapshot de tabela, use os comandos bq cp ou bq cp --clone.

--snapshot={true|false}

Para criar um snapshot da tabela especificada no argumento SOURCE_TABLE, defina como true. A tabela de origem pode ser uma tabela padrão, um clone de tabela ou outro snapshot de tabela. O padrão é false. Se --clone=true e --snapshot=true não forem especificados, a tabela de destino será o mesmo tipo da tabela de origem. Requer a sinalização --no_clobber.

SOURCE_TABLE

A tabela que você quer copiar.

DESTINATION_TABLE

A tabela para onde você quer copiar.

Para mais informações sobre como usar o comando cp, consulte:

bq extract

Use o comando bq extract para exportar dados da tabela ao Cloud Storage.

Sinopse

bq extract [FLAGS] RESOURCE DESTINATION

Exemplos

bq extract --compression=GZIP --destination_format=CSV --field_delimiter=tab \
    --print_header=false myDataset.myTable gs://my-bucket/myFile.csv.gzip
bq extract --destination_format=CSV --field_delimiter='|' myDataset.myTable \
  gs://myBucket/myFile.csv

Sinalizações e argumentos

O comando bq extract usa as seguintes sinalizações e argumentos:

--compression=COMPRESSION_TYPE

Especifica o tipo de compactação a ser usado para arquivos exportados. Os valores possíveis são:

  • GZIP
  • DEFLATE
  • SNAPPY
  • NONE

O valor padrão é NONE.

Para ver informações sobre quais formatos são compatíveis com cada tipo de compactação, consulte Exportar formatos e tipos de compactação.

--destination_format=FORMAT

Especifica o formato dos dados exportados. Os valores possíveis são:

  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO
  • PARQUET

O valor padrão é CSV.

--field_delimiter=DELIMITER

Nas exportações CSV, especifica o caractere que marca o limite entre as colunas no arquivo de saída. O separador pode ser qualquer caractere ISO-8859-1 de um byte. É possível usar \t ou tab para especificar delimitadores de tabulação.

--print_header={true|false}

Para suprimir linhas de cabeçalho de impressão para formatos que tenham cabeçalhos, defina como false. O padrão é true; linhas de cabeçalho estão incluídas.

RESOURCE

A tabela da qual você está exportando.

DESTINATION

O local de armazenamento que recebe os dados exportados.

Para mais informações sobre como usar o comando bq extract, consulte Como exportar dados da tabela.

bq get-iam-policy

Use o comando bq get-iam-policy para recuperar a política do IAM de um recurso e imprima-a no stdout. O recurso pode ser uma tabela ou uma visualização. A política está no formato JSON.

Sinopse

bq get-iam-policy [FLAGS] RESOURCE

Exemplo

bq get-iam-policy myDataset.myTable

Sinalizações e argumentos

O comando bq get-iam-policy usa as seguintes sinalizações e argumentos:

--table={true|false} ou --t={true|false}
Para retornar um erro se RESOURCE não for um identificador de tabela ou visualização, defina a sinalização --table como true. O valor padrão é false. Essa sinalização é compatível com a consistência de outros comandos.
RESOURCE
A tabela ou visualização da política que você quer receber.

Para mais informações sobre o comando bq get-iam-policy, consulte Introdução aos controles de acesso à tabela.

bq head

Use o comando bq head para exibir as linhas e colunas especificadas de uma tabela. Por padrão, ele exibe todas as colunas das primeiras 100 linhas.

Sinopse

bq head [FLAGS] [TABLE]

Exemplo

bq head --max_rows=10 --start_row=50 --selected_fields=field1,field3 \
  myDataset.myTable

Sinalizações e argumentos

O comando bq head usa as seguintes sinalizações e argumentos:

--job=JOB or -j=JOB
Para ler os resultados de um job de consulta, especifique essa sinalização com um ID de job válido.
--max_rows=MAX or -n=MAX
Um número inteiro que indica o número máximo de linhas a serem impressas ao mostrar dados da tabela. O valor padrão é 100.
--selected_fields=COLUMN_NAMES or -c=COLUMN_NAMES
Uma lista separada por vírgulas que indica um subconjunto de campos (incluindo campos aninhados e repetidos) para retornar ao mostrar dados da tabela. Se essa sinalização não for especificada, todas as colunas serão retornadas.
--start_row=START_ROW or -s=START_ROW
Um número inteiro que especifica a quantidade de linhas a serem ignoradas antes de mostrar os dados da tabela. O valor padrão é 0; os dados da tabela começam na primeira linha.
--table={true|false} ou -t={true|false}
Para retornar um erro se o argumento do comando não for uma tabela ou visualização, defina como true. O valor padrão é false. Essa sinalização é compatível com a consistência de outros comandos.
TABLE
A tabela cujos dados você quer recuperar.

Para mais informações sobre como usar o comando bq head, consulte Como gerenciar dados de tabela.

bq help

Use o comando bq help para exibir a documentação da ferramenta de linha de comando bq na ferramenta.

Sinopse

bq help [COMMAND]

Sinalizações e argumentos

O comando bq help usa as seguintes sinalizações e argumentos:

COMMAND
Especifica um comando específico da ferramenta de linha de comando bq para receber ajuda on-line.

bq insert

Use o comando bq insert para inserir linhas de dados delimitados por nova linha em formato JSON em uma tabela de um arquivo usando a inserção por streaming. Os tipos de dados são convertidos para corresponder aos tipos de coluna da tabela de destino. Esse comando é usado apenas para testes. Use o método de API insertAll para fazer streaming de dados para o BigQuery.

Sinopse

bq insert [FLAGS] TABLE FILE

Exemplos

bq insert --ignore_unknown_values --template_suffix=_insert myDataset.myTable /tmp/myData.json
echo '{"a":1, "b":2}' | bq insert myDataset.myTable

Sinalizações e argumentos

O comando bq insert usa as seguintes sinalizações e argumentos:

--ignore_unknown_values={true|false} ou -i={true|false}
Quando definido como true, o BigQuery ignora todos os pares de chave-valor que não correspondem ao esquema da tabela e insere a linha com os dados que correspondem ao esquema. Quando definido como false, 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 como false, o comando falhará se houver linhas inválidas. O padrão é false.
--template_suffix=SUFFIX or -x=SUFFIX
Quando especificada, trata a tabela de destino TABLE como um modelo base e insere as linhas em uma tabela de instâncias denominada {destination}{templateSuffix}. O BigQuery cria a tabela de instâncias usando o esquema do modelo base.
TABLE
A tabela em que você quer inserir dados.
FILE
O arquivo que contém os dados que você quer inserir.

Saiba mais sobre como usar o comando bq insert em Como fazer streaming de dados para o BigQuery.

bq load

Use o comando bq load para carregar dados em uma tabela.

Sinopse

bq load [FLAGS] DESTINATION_TABLE SOURCE_DATA [SCHEMA]

Exemplo

bq load myDataset.newTable gs://mybucket/info.csv ./info_schema.json

Sinalizações e argumentos

O comando bq load usa as seguintes sinalizações e argumentos:

--allow_jagged_rows={true|false}
Para permitir a falta de colunas opcionais à direita nos dados CSV, defina como true.
--preserve_ascii_control_characters={true|false}
Para permitir caracteres de controle ASCII incorporados nos dados CSV, defina como true.
--allow_quoted_newlines={true|false}
Para permitir novas linhas entre aspas em dados CSV, defina como true.
--autodetect={true|false}
Para ativar a detecção automática de esquema em dados CSV e JSON, defina como true. O padrão é false. Se --autodetect for false e nenhum esquema for especificado usando a sinalização --schema e a tabela de destino existir, o esquema da tabela de destino será usado.
--clustering_fields=COLUMNS
Uma lista separada por vírgulas de até quatro nomes de colunas que especifica os campos a serem usados para o clustering de tabelas.
--destination_kms_key=KEY
Especifica um ID de recurso de chave do Cloud KMS para criptografar os dados da tabela de destino.
--encoding=ENCODING_TYPE or -E=ENCODING_TYPE
A codificação de caracteres usada nos dados. Use um dos seguintes valores:
  • ISO-8859-1 (também conhecido como Latin-1)
  • UTF-8
--field_delimiter=DELIMITER or -F=DELIMITER
Especifica o caractere que marca o limite entre colunas nos dados. O delimitador pode ser qualquer caractere ISO-8859-1 de um byte. É possível usar \t ou tab para especificar os delimitadores de guia.
--ignore_unknown_values={true|false}
Quando definido como true, ignora e não carrega linhas de arquivos CSV e JSON com valores de colunas extras que não correspondem ao esquema da tabela. Da mesma forma, para arquivos Avro, Parquet e ORC, os campos no esquema de arquivo que não existem no esquema da tabela são ignorados e não são carregados.
--json_extension=JSON_TYPE

Especifica o tipo de arquivo JSON que será carregado. Aplicável apenas a arquivos JSON. Os valores possíveis são:

  • GEOJSON: arquivo GeoJSON delimitado por nova linha.

Para usar essa sinalização, a sinalização --source_format precisa ser definida como NEWLINE_DELIMITED_JSON.

Para mais informações, consulte Como carregar arquivos GeoJSON delimitados por nova linha.

--max_bad_records=MAX

Um número inteiro que especifica o número máximo de registros inválidos permitidos antes de uma falha em todo o job. O valor padrão é 0. No máximo, cinco erros de qualquer tipo são retornados, seja qual for o valor de --max_bad_records. Essa sinalização aplica-se ao carregamento apenas de dados CSV, JSON e Planilhas.

--null_marker=STRING

Uma string personalizada opcional que representa um valor NULL nos dados CSV.

--projection_fields=PROPERTY_NAMES

Se você definir --source_format como DATASTORE_BACKUP, essa sinalização indicará quais propriedades da entidade serão carregadas de uma exportação do Datastore. Especifique os nomes das propriedades em uma lista separada por vírgulas. Nomes de propriedades diferenciam maiúsculas e minúsculas e precisam fazer referência às propriedades de nível superior. Também é possível usar essa sinalização com exportações do Firestore.

--quote=CHARACTER

Especifica um caractere de aspas ao redor dos campos nos dados CSV. O argumento CHARACTER pode ser qualquer caractere de um byte. O valor padrão é aspas duplas ("). Para especificar que não há caracteres de aspas, use uma string vazia "".

--replace={true|false}

Para apagar todos os dados e esquemas atuais quando novos dados forem carregados, defina como true. Todas as chaves do Cloud KMS também são removidas, a menos que você especifique a sinalização --destination_kms_key. O valor padrão é false.

--schema={SCHEMA_FILE|SCHEMA}

Especifica o caminho para um arquivo de esquema JSON local ou uma lista separada por vírgulas de definições de coluna no formato FIELD:DATA_TYPE, FIELD:DATA_TYPE e assim por diante. Se você usar um arquivo de esquema, não atribua uma extensão a ele.

Exemplo:

--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER

Se nenhum esquema for especificado e --autodetect for false, e a tabela de destino existir, o esquema da tabela de destino será usado.

--schema_update_option=OPTION

Ao anexar dados a uma tabela (em um job de carregamento ou consulta) ou ao substituir uma partição de tabela, especifica como atualizar o esquema da tabela de destino. Use um dos seguintes valores:

  • ALLOW_FIELD_ADDITION: permite que novos campos sejam adicionados.
  • ALLOW_FIELD_RELAXATION: permite o relaxamento de campos REQUIRED para NULLABLE.

Repita essa sinalização para especificar várias opções de atualização de esquema.

--skip_leading_rows=NUMBER_OF_ROWS

Um número inteiro que especifica a quantidade de linhas a ignorar no início do arquivo de origem. O padrão é 0.

--source_format=FORMAT

O formato dos dados de origem. Use um dos seguintes valores:

  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO
  • DATASTORE_BACKUP (use este valor para o Filestore)
  • PARQUET
  • ORC
--time_partitioning_expiration=SECONDS

Um número inteiro que especifica (em segundos) quando uma partição baseada em tempo precisa ser excluída. O prazo de validade é a soma da data UTC da partição com o valor do número inteiro. Um número negativo indica que não há validade.

--time_partitioning_field=COLUMN_NAME

Especifica o campo que determina como criar uma partição baseada em tempo. Se o particionamento baseado em tempo estiver ativado sem esse valor, a tabela será particionada com base no tempo de carregamento.

--time_partitioning_type=INTERVAL

Ativa o particionamento baseado em tempo na tabela e define o tipo de partição. Use um dos seguintes valores:

  • DAY
  • HOUR
  • MONTH
  • YEAR

O tipo de partição padrão para particionamento baseado em tempo é DAY.

--use_avro_logical_types={true|false}

Se a sinalização --source_format estiver definida como AVRO, defina-a como true para converter os tipos lógicos nos tipos correspondentes (como TIMESTAMP), em vez de apenas usar. seus tipos brutos (como INTEGER).

--decimal_target_types=DECIMAL_TYPE

Determina como converter um tipo lógico Decimal. Equivalente a JobConfigurationLoad.decimalTargetTypes. Repita essa sinalização para especificar vários tipos de destino.

--parquet_enum_as_string={true|false}

Se a sinalização --source_format estiver definida como PARQUET e você quiser que o BigQuery infira tipos lógicos ENUM do Parquet como valores STRING, defina essa sinalização como true. O padrão é false.

--parquet_enable_list_inference={true|false}

Se a sinalização --source_format estiver definida como PARQUET, essa sinalização indicará se é necessário usar a inferência de esquema para os tipos lógicos LIST do Parquet.

DESTINATION_TABLE

A tabela em que você quer carregar dados.

SOURCE_DATA

O URI do Cloud Storage do arquivo que contém os dados que você quer carregar.

SCHEMA

O esquema da tabela de destino.

Saiba mais sobre como carregar dados do Cloud Storage usando o comando bq load em:

Para mais informações sobre como carregar dados de uma fonte local usando o comando bq load, consulte:

bq ls

Use o comando bq ls para listar objetos em uma coleção.

Sinopse

bq ls [FLAGS] [RESOURCE]

Exemplo

bq ls myDataset

Sinalizações e argumentos

O comando bq ls usa as seguintes sinalizações e argumentos:

--all={true|false} ou -a={true|false}
Para mostrar todos os resultados, defina como true. Mostra jobs de todos os usuários ou de todos os conjuntos de dados, incluindo os ocultos. Essa sinalização não é necessária ao listar configurações ou execuções de transferência. O valor padrão é false.
--capacity_commitment={true|false}

Para listar compromissos de capacidade, defina como true e use a sinalização --location para especificar o local. Para mais informações, consulte Ver compromissos adquiridos.

Por exemplo: bq ls --capacity_commitment=true --location='us'

--datasets={true|false} ou -d={true|false}

Para listar conjuntos de dados, defina como true. O valor padrão é false.

--filter="FILTER"

Filtra os recursos listados para corresponder ao argumento FILTER.

Para conjuntos de dados, FILTER consiste em um ou mais triplos separados por espaço no formato labels.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ógico AND, não OR). Se você quiser especificar mais de três vezes, coloque o seguinte valor FILTER com aspas.

  • Para filtrar com base nos rótulos do conjunto de dados, use as chaves e os valores aplicados aos conjuntos de dados.

    Exemplo:

    --filter "labels.department:marketing labels.team:sales"
    

Para configurações de transferência, use dataSourceIds como a chave e uma das seguintes fontes de dados como o valor:

Exemplo:

   --filter labels.dataSourceIds:dcm_dt
   

Para execuções de transferência, usestates como a chave, e um dos seguintes estados de transferência como o valor: +SUCCEEDED +FAILED +PENDING +RUNNING +CANCELLED

 For example:
 <pre>
 --filter labels.states:FAILED
 </pre>

A sinalização de filtro não é compatível com jobs.

--jobs={true|false} ou -j={true|false}
Para listar jobs, defina como true. O valor padrão é false. Por padrão, o limite é de 100.000 resultados.
--max_creation_time=MAX_CREATION_TIME_MS
Um número inteiro que representa um carimbo de data/hora em milissegundos. Quando especificada com --jobs, essa sinalização lista apenas os jobs criados antes do carimbo de data/hora.
--max_results=MAX_RESULTS or -n=MAX_RESULTS
Um número inteiro indicando a quantidade máxima de resultados. O valor padrão é 50, e o valor máximo é 1.000. Se você tiver mais de 1.000 jobs, use a sinalização page_token para listar todos os jobs usando paginação.
--min_creation_time=MIN_CREATION_TIME_MS
Um número inteiro que representa um carimbo de data/hora em milissegundos. Quando especificada com --jobs, essa sinalização lista apenas os jobs criados após o carimbo de data/hora.
--message_type=messageTypes:MESSAGE_TYPE

Para listar mensagens de registro de execução de transferência de um tipo específico, use messageTypes:MESSAGE_TYPE. Os valores possíveis são:

  • INFO
  • WARNING
  • ERROR
--models={true|false} ou -m={true|false}

Para listar modelos do BigQuery ML, defina como true. O valor padrão é false.

--page_token=TOKEN ou -k=TOKEN

Lista itens a partir do token de página especificado.

--projects={true|false} ou -p={true|false}

Para mostrar todos os projetos, defina como true. O valor padrão é false.

--reservation={true|false}

Para listar todas as reservas de um determinado projeto e local, defina como true. O valor padrão é false. Use com as sinalizações --project_id e --location.

Exemplo:

bq ls --reservation=true --project_id=myProject --location=us

--reservation_assignment={true|false}

Para listar todas as atribuições de reserva de um determinado projeto e local, defina como true. O valor padrão é false. Use com as sinalizações --project_id e --location.

--routines={true|false}

Para listar todas as rotinas no conjunto de dados especificado, defina como true. O valor padrão é false. As rotinas incluem funções permanentes definidas pelo usuário, funções de tabela (Visualização) e procedimentos armazenados.

--row_access_policies

Quando especificada, lista todas as políticas de acesso no nível da linha em uma tabela. As políticas de acesso no nível da linha são usadas para a segurança no nível da linha. Você precisa fornecer o nome da tabela no formato dataset.table.

--run_attempt=RUN_ATTEMPT

Use com a sinalização --transfer_run. Para listar todas as tentativas de execução da execução de transferência especificada, defina como RUN_ATTEMPT_UNSPECIFIED. Para listar apenas a última tentativa de execução, defina como LATEST. O padrão é LATEST.

--transfer_config={true|false}

Para listar configurações de transferência no projeto e no local especificados, defina como true. Use com as sinalizações --transfer_location e --project_id. O valor padrão é false.

--transfer_location=LOCATION

Lista as configurações de transferência no local especificado. O local da transferência é definido quando ela é criada.

--transfer_log={true|false}

Use com a sinalização --transfer_run. Para listar mensagens de registro de transferência da execução de transferência especificada, defina como true. O valor padrão é false.

--transfer_run={true|false}

Lista as execuções de transferência para a configuração de transferência especificada.

Exemplo:

bq ls --transfer_run=true projects/myProject/locations/us/transferConfigs/12345

RESOURCE

A coleção cujos objetos você quer listar. O recurso pode ser um conjunto de dados, projeto, reserva ou configuração de transferência.

Para mais informações sobre como usar o comando bq ls, consulte:

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.

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 como true não fará com que o comando bq mk substitua o recurso. O valor padrão é false.

O comando bq mk aceita sinalizações adicionais, dependendo do tipo de recurso que você está criando, conforme descrito nas seções a seguir.

bq mk --capacity_commitment

Para adquirir um compromisso de capacidade, defina --capacity_commitment como true e use as seguintes sinalizações:

--location=LOCATION
Especifica a localização do projeto.
--plan=PLAN_TYPE
Especifica o tipo de plano de compromisso. Defina como um dos seguintes:
  • FLEX
  • MONTHLY
  • ANNUAL
--renewal_plan=RENEWAL_TYPE
Especifica o tipo de plano de renovação. Aplicável e obrigatório apenas para um plano de compromisso ANNUAL. Uma das seguintes opções:
  • FLEX
  • MONTHLY
  • ANNUAL
--project_id=PROJECT_ID
Especifica o projeto que administra os slots.
--slots=NUMBER_OF_SLOTS
Especifica o número de slots para compra.

Para mais informações, consulte Slots de compra.

bq mk --connection

Cria uma conexão. As sinalizações a seguir são compatíveis:

--connection_type=CONNECTION_TYPE
O tipo de conexão (por exemplo, CLOUD_SQL) para conexões do Cloud SQL.
--properties=PROPERTIES
Parâmetros específicos de conexão no formato JSON. instanceId, database e type precisam ser especificados.
--connection_credential=CONNECTION_CREDENTIAL
As credenciais da conexão no formato JSON. É preciso especificar username e password.
--project_id=PROJECT_ID
Especifica o ID do projeto ao qual a conexão pertence.
--location=LOCATION
Especifica o local em que a conexão será armazenada.
--display_name=DISPLAY_NAME
Especifica um nome opcional fácil de lembrar para a conexão.
--description=DESCRIPTION
Especifica uma descrição opcional da conexão.
--iam_role_id=ROLE_ID

Para o BigQuery Omni na AWS, especifica um papel do IAM que permite acesso ao recurso.

Use o seguinte formato: "arn:aws:iam::AWS_ACCOUNT_ID:role/POLICY_NAME", em que:

  • AWS_ACCOUNT_ID é o número do ID do usuário do IAM da AWS da conexão.
  • POLICY_NAME é o nome da política.

Exemplo: "arn:aws:iam::0123456789AB:policy/s3-read-role"

--tenant_id=TENANT_ID

Para o BigQuery Omni no Azure, especifica o ID do locatário do diretório do Azure que contém a conta do Azure Storage.

CONNECTION_ID

Especifica um ID de conexão opcional para a conexão. Se um ID de conexão não for fornecido, um ID exclusivo será gerado automaticamente. O ID da conexão pode conter letras, números e sublinhados.

Para mais informações, consulte Como criar conexões.

bq mk --dataset

Cria um conjunto de dados. As sinalizações a seguir são compatíveis:

--default_kms_key=KEY
Especifica o ID de recurso de chave padrão do Cloud KMS para criptografar os dados da tabela em um conjunto de dados, caso nenhuma chave explícita seja fornecida durante a criação ou consulta da tabela.
--default_partition_expiration=SECONDS
Um número inteiro que especifica o prazo de validade padrão, em segundos, para todas as partições em tabelas particionadas recém-criadas em um conjunto de dados. O prazo de validade é definido como a data UTC da partição acrescida do valor de número inteiro. Se essa propriedade for definida, o valor dela modificará a validade da tabela padrão no nível do conjunto de dados, se houver. Se você fornecer a sinalização --time_partitioning_expiration ao criar ou atualizar uma tabela particionada, a validade da partição no nível da tabela terá prioridade sobre a validade da partição padrão no nível do conjunto de dados.
--default_table_expiration=SECONDS
Um número inteiro que especifica o ciclo de vida padrão, em segundos, para tabelas recém-criadas em um conjunto de dados. O prazo de validade é definido como a hora UTC atual mais esse valor.
--description=DESCRIPTION
Especifica a descrição do conjunto de dados.
--label=KEY:VALUE
Especifica um rótulo para o conjunto de dados. Repita essa sinalização para especificar vários rótulos.
--location=LOCATION ou --data_location=LOCATION
Especifica a localização do conjunto de dados. Prefira a sinalização --location. A sinalização --data_location é legada.
--max_time_travel_hours=HOURS

Em pré-lançamento. Especifica a duração em horas da janela de viagem no tempo para o conjunto de dados. O valor de --max_time_travel_hours precisa ser um número inteiro entre 48 (2 dias) e 168 (7 dias). O padrão será 168 horas se essa sinalização não for especificada.

Para mais informações sobre a janela de viagem no tempo, consulte Como configurar a janela de viagem no tempo.

--storage_billing_model=BILLING_MODEL

Em pré-lançamento. Especifica o modelo de faturamento de armazenamento do conjunto de dados. Defina esse valor de sinalização como LOGICAL para usar bytes lógicos para o faturamento de armazenamento ou como PHYSICAL para usar bytes físicos. LOGICAL será o padrão se essa sinalização não for especificada.

Para mais informações, consulte Modelos de faturamento de armazenamento de conjuntos de dados.

Para mais informações, consulte Como criar conjuntos de dados.

bq mk --materialized_view

Cria uma visualização materializada. As sinalizações a seguir são compatíveis:

--enable_refresh={true|false}
Para desativar a atualização automática de uma visualização materializada, defina como false. O padrão ao criar uma visualização materializada é true.
--refresh_interval_ms=MILLISECONDS
Especifica o número de milissegundos para o intervalo de atualização de uma visualização materializada. Se essa sinalização não for especificada, o intervalo de atualização padrão para uma visualização materializada com atualização ativada será de 1.800.000 milissegundos, ou seja, 30 minutos.

Para mais informações, consulte Como criar e usar visualizações materializadas.

bq mk --reservation

Cria uma reserva com slots dedicados. As sinalizações a seguir são compatíveis:

--concurrency=CONCURRENCY
Em
pré-lançamento. Especifica o número desejado de consultas executadas simultaneamente. O valor padrão é 0, o que significa que a simultaneidade é calculada automaticamente com base no tamanho da reserva. Para mais informações, consulte Usar filas de consultas.
--ignore_idle_slots={true|false}
Para restringir os jobs em execução nesta reserva a fim de usar somente slots alocados para a reserva, defina como true. O valor padrão é false; jobs nesta reserva podem usar slots inativos de outras reservas ou slots que não são alocados para nenhuma reserva. Para mais informações, consulte Slots inativos.
--location=LOCATION
Especifica a localização do projeto.
--project_id=PROJECT_ID
Especifica o projeto que é proprietário da reserva.
--slots=NUMBER_OF_SLOTS
Especifica o número de slots a serem alocados para esta reserva.

Para mais informações, consulte Criar uma reserva com slots dedicados.

bq mk --reservation_assignment

Atribui um projeto, uma pasta ou uma organização a uma reserva. As sinalizações a seguir são compatíveis:

--assignee_id=ASSIGNEE_ID
Especifica o ID da pasta, organização ou projeto.
--assignee_type=ASSIGNEE_TYPE
Especifica o tipo de entidade a ser atribuído à reserva. Uma das seguintes opções:
  • FOLDER
  • ORGANIZATION
  • PROJECT
--job_type=JOB_TYPE
Especifica o tipo de job a ser atribuído à reserva. Uma das seguintes opções:
  • QUERY
  • PIPELINE
  • ML_EXTERNAL
--location=LOCATION
Especifica a localização do projeto.
--project_id=PROJECT_ID
Especifica o projeto que é proprietário da reserva.
--reservation_id=RESERVATION_ID
Especifica o ID da reserva.

Para mais informações, consulte Trabalhar com atribuições de reserva.

bq mk --table

Cria uma tabela. As sinalizações a seguir são compatíveis:

--clustering_fields=COLUMNS
Uma lista separada por vírgulas de até quatro nomes de colunas que especifica os campos a serem usados para o clustering de tabelas. Se especificada com particionamento, a tabela será particionada e, em seguida, cada partição será agrupada usando as colunas fornecidas.
--description=DESCRIPTION
Especifica a descrição da tabela.
--destination_kms_key=KEY
Especifica um ID de recurso de chave do Cloud KMS para criptografar os dados da tabela de destino.
--expiration=SECONDS
Especifica a vida útil da tabela. Se SECONDS for 0, a tabela não expirará. Se você não especificar a sinalização --expiration, o BigQuery criará a tabela com o ciclo de vida da tabela padrão do conjunto de dados.
--external_table_definition={PATH_TO_FILE|DEFINITION}

Especifica uma definição de tabela para criar uma