Como consultar dados do Cloud Storage

O BigQuery permite a consulta de dados do Cloud Storage nos seguintes formatos:

  • valores separados por vírgula (CSV, na sigla em inglês)
  • JSON, delimitado por nova linha.
  • arquivos Avro
  • exportações do Cloud Datastore
  • exportações da Cloud Firestore

O BigQuery é compatível com a consulta de dados do Cloud Storage destas classes de armazenamento:

  • Multirregional
  • Regional
  • Nearline
  • Coldline

Para consultar diretamente uma fonte de dados externa do Cloud Storage, forneça o caminho do URI do Cloud Storage que aponta para os dados e crie uma tabela que faça referência a essa fonte. A tabela usada para fazer referência à fonte de dados do Cloud Storage pode ser permanente ou temporária.

Pense na localização do conjunto de dados e do intervalo do Cloud Storage ao consultar dados armazenados nele.

Como recuperar o URI do Cloud Storage

Para criar uma tabela externa usando uma fonte de dados do Cloud Storage, você precisa fornecer o URI dele.

O URI do Cloud Storage contém o nome do intervalo e o objeto (nome do arquivo). Por exemplo, se o nome do intervalo do Cloud Storage for mybucket e do arquivo de dados for myfile.csv, o URI do intervalo será gs://mybucket/myfile.csv. Caso os dados estejam separados em diversos arquivos, será possível usar um caractere curinga no URI. Para mais informações, consulte URIs de solicitação do Cloud Storage.

O BigQuery não é compatível com URIs de origem que incluam várias barras consecutivas após a barra dupla inicial. Os nomes de objeto do Cloud Storage podem conter vários caracteres consecutivos de barra ("/"). No entanto, o BigQuery os converte em uma única barra. Por exemplo, o URI de origem a seguir, ainda que válido no Cloud Storage, não funciona no BigQuery: gs://[BUCKET]/my//object//name.

Para recuperar o URI do Cloud Storage:

  1. Abra o Console do Cloud Storage.

    Console do Cloud Storage

  2. Procure a localização do objeto (arquivo) que contém os dados de origem.

  3. Na parte superior do Console do Cloud Storage, anote o caminho para o objeto. Para compor o URI, substitua gs://[BUCKET]/[FILE] pelo caminho apropriado, por exemplo, gs://mybucket/myfile.json. [BUCKET] é o nome do intervalo do Cloud Storage, e [FILE] é o nome do objeto (arquivo) que contém os dados.

Escopos e controles de acesso

Controles de acesso para tabelas externas permanentes

Você pode compartilhar o acesso a uma tabela externa permanente vinculada a uma fonte de dados do Google Cloud Storage. Esse acesso pode ser compartilhado com usuários (incluindo contas de serviço) ou grupos. Para consultar a tabela externa, os usuários ou grupos precisam de pelo menos:

  • acesso READER ou bigquery.dataViewer ao conjunto de dados que contém a tabela externa;
  • acesso bigquery.user ao projeto que contém o conjunto de dados para executar jobs de consulta;
  • o papel do IAM storage.objectViewer predefinido para ler os dados do Cloud Storage ou as permissões abaixo:

    • storage.objects.get
    • storage.objects.list, se você estiver usando um caractere curinga do URI

Escopos para instâncias do Compute Engine

Ao criar uma instância do Compute Engine, é possível especificar uma lista de escopos para ela. Os escopos controlam o acesso da instância aos produtos do GCP, incluindo o Cloud Storage. Os aplicativos executados na VM usam a conta de serviço anexada à instância para chamar as APIs do Google Cloud.

Se você tiver configurado uma instância do Compute Engine para ser executada como a conta de serviço padrão do Compute Engine, e essa conta acessa uma tabela externa vinculada a uma fonte de dados do Cloud Storage, a instância solicitará acesso somente leitura ao Cloud Storage. A conta de serviço padrão do Compute Engine recebe automaticamente o escopo https://www.googleapis.com/auth/devstorage.read_only. Se você criar sua própria conta de serviço, aplique o escopo de somente leitura do Cloud Storage para a instância.

Para informações sobre como aplicar escopos a uma instância do Compute Engine, consulte Como alterar a conta de serviço e os escopos de acesso de uma instância. Para mais informações sobre as contas de serviço do Compute Engine, consulte Contas de serviços.

Tabelas externas permanentes x temporárias

É possível consultar uma fonte de dados externa no BigQuery usando uma tabela permanente ou uma temporária. A tabela permanente é criada no conjunto de dados do BigQuery vinculado à fonte de dados externa. Como ela é permanente, você pode usar os controles de acesso em nível de conjunto de dados para compartilhá-la com outros que também tenham acesso à fonte de dados externa subjacente. Além disso, é possível consultar a tabela a qualquer momento.

Ao consultar uma fonte de dados externa usando uma tabela temporária, você envia um comando que inclui uma consulta e cria uma tabela não permanente vinculada a essa fonte. A tabela temporária não é criada em um dos conjuntos de dados do BigQuery. Como ela não fica armazenada permanentemente em um conjunto de dados, não é possível compartilhá-la com outros. A consulta em uma fonte de dados externa usando uma tabela temporária é útil no caso de consultas ad hoc únicas em dados externos ou para extrair, transformar e carregar (ETL, na sigla em inglês) processos.

Como consultar dados do Cloud Storage usando tabelas externas permanentes

Para consultar uma fonte de dados externa usando uma tabela permanente, crie a tabela em um conjunto de dados do BigQuery vinculado a essa fonte. Os dados não ficam armazenados na tabela do BigQuery. Como a tabela é permanente, você pode usar os controles de acesso em nível de conjunto de dados para compartilhá-la com outros que também tenham acesso à fonte de dados externa subjacente.

Existem três maneiras de especificar informações de esquema ao criar uma tabela externa permanente no BigQuery:

  • Se você está usando a API para criar uma tabela externa permanente, comece pelo arquivo de definição de tabela que determina o esquema e os metadados para a fonte de dados externa. Ao criar esse arquivo, é possível ativar a detecção automática de esquema para fontes de dados compatíveis.
  • Se você está usando a CLI para criar uma tabela externa permanente, é possível usar um arquivo de definição de tabela, criar e usar seu próprio arquivo de esquema ou inserir o esquema in-line (na linha de comando).
  • Se você está usando o console ou a IU da Web clássica do BigQuery para criar uma tabela externa permanente, é possível inserir o esquema da tabela manualmente ou usar a detecção automática de esquemas para fontes de dados compatíveis.

Para consultar os dados do Cloud Storage usando uma tabela externa permanente, faça o seguinte:

  • Crie um arquivo de definição de tabela (para a API e, opcionalmente, para a CLI).
  • Crie uma tabela no BigQuery vinculada à fonte de dados externa.
  • Consulte a tabela ligada à fonte de dados externa.

Como criar uma tabela externa permanente

É possível criar uma tabela permanente vinculada à sua fonte de dados externa da seguinte forma:

  • Use o Console do GCP ou a IU da Web clássica do BigQuery.
  • Use o comando mk da ferramenta de linha de comando.
  • Configure as propriedades configuration.query.tableDefinitions em uma tarefa de consulta usando a API.

Console

  1. Abra a IU da Web do BigQuery no Console do GCP.
    Acessar a IU da Web do BigQuery
  2. No painel de navegação, na seção Recursos, expanda seu projeto e selecione um conjunto de dados. Clique em Criar tabela do lado direito da janela. Criar tabela
  3. Na página Criar tabela, na seção Origem:

    • Para Criar tabela de, selecione o tipo de fonte desejada.

      Criar origem da tabela

    • No campo de origem, procure o intervalo do arquivo/Cloud Storage ou insira o URI do Cloud Storage. Não é possível incluir vários URIs na IU da Web do BigQuery, mas há compatibilidade com caracteres curinga. O intervalo do Cloud Storage precisa estar no mesmo local que o conjunto de dados que contém a tabela que você está criando.

      Selecionar arquivo

    • Para Formato de arquivo, selecione o formato dos dados. As opções válidas para dados do Cloud Storage podem ser as seguintes:

      • valores separados por vírgula (CSV, na sigla em inglês)
      • JSON (delimitado por nova linha)
      • Avro
      • backup do Cloud Datastore (também usado para o Cloud Firestore)
  4. Na página Criar tabela, na seção Destino:

    • Em Nome do conjunto de dados, escolha o conjunto de dados apropriado.

      Escolher conjunto de dados

    • No campo Nome da tabela, insira o nome da tabela que você está criando no BigQuery.

    • Verifique se o Tipo de tabela está definido como Tabela externa.

  5. Na seção Esquema, insira a definição do esquema.

    • Em arquivos JSON ou CSV, marque a opção Detecção automática para ativar a detecção automática de esquemas. A detecção automática não está disponível para exportações do Cloud Datastore, exportações do Cloud Firestore e arquivos Avro. As informações de esquema para esses tipos de arquivo são recuperadas automaticamente dos dados de origem autodescritivos.
    • Insira as informações do esquema manualmente:
      • Ative Editar como texto e insira o esquema da tabela como uma matriz JSON. Observação: é possível ver o esquema de uma tabela no formato JSON. Basta digitar o seguinte comando: bq show --format=prettyjson [DATASET].[TABLE].
      • Use Adicionar campo para inserir manualmente o esquema.
  6. Clique em Criar tabela.

Após a criação da tabela permanente, você poderá executar uma consulta como se ela fosse uma tabela nativa do BigQuery, sujeita aos limites das fontes de dados externas.

Após a conclusão da consulta, você poderá exportar os resultados como arquivos CSV ou JSON, salvá-los como uma tabela ou nas Planilhas Google. Consulte Fazer download, salvar e exportar dados para mais informações.

IU clássica

  1. Acesse a IU da Web do BigQuery.
    Acessar a IU da Web do BigQuery

  2. No painel de navegação, passe o cursor sobre um conjunto de dados, clique no ícone de seta para baixo imagem do ícone de seta para baixo e selecione Criar nova tabela.

  3. Na página Criar tabela, na seção Dados de origem:

    • Para Local, selecione Cloud Storage e, no campo de origem, insira o URI do Cloud Storage. Os caracteres curinga são compatíveis com URIs do Cloud Storage.
    • Para Formato de arquivo, selecione o formato dos dados. As opções válidas para dados do Cloud Storage podem ser as seguintes:

      • valores separados por vírgula (CSV, na sigla em inglês)
      • JSON (delimitado por nova linha)
      • Avro
      • backup do Cloud Datastore (também usado para o Cloud Firestore)
  4. Na página Criar tabela, na seção Tabela de destino:

    • Em Nome da tabela, escolha o conjunto de dados apropriado e, no campo apropriado, insira o nome da tabela permanente a ser criada no BigQuery.
    • Verifique se o Tipo de tabela está definido como Tabela externa.
  5. Na seção Schema, insira as informações do esquema.

    • Em arquivos JSON ou CSV, marque a opção Detecção automática para ativar a detecção automática de esquemas. A detecção automática não está disponível para exportações do Cloud Datastore, exportações do Cloud Firestore e arquivos Avro. As informações de esquema para esses tipos de arquivo são recuperadas automaticamente dos dados de origem autodescritivos.

    • Outra opção é inserir informações de esquema CSV ou JSON manualmente:

      • Clique em Editar como texto e insira o esquema da tabela no formato JSON.
      • Use Adicionar campo para inserir manualmente o esquema.
  6. Selecione os itens aplicáveis na seção Opções e clique em Criar tabela.

Após a criação da tabela permanente, será possível executar uma consulta como se ela fosse uma tabela nativa do BigQuery, sujeita aos limites das fontes de dados externas.

Após a conclusão da consulta, você poderá exportar os resultados como arquivos CSV ou JSON, salvá-los como uma tabela ou nas Planilhas Google. Consulte Fazer download, salvar e exportar dados para mais informações.

CLI

Crie uma tabela na ferramenta de linha de comando do BigQuery usando o comando bq mk. Ao usar a CLI para criar uma tabela vinculada a uma fonte de dados externa, você pode identificar o esquema dela usando:

  • um arquivo de definição de tabela (armazenado em sua máquina local);
  • uma definição de esquema in-line;
  • um arquivo de esquema JSON (armazenado em sua máquina local).

Para criar uma tabela permanente vinculada à fonte de dados do Cloud Storage usando um arquivo de definição de tabela, insira o seguinte comando:

bq mk --external_table_definition=[DEFINITION_FILE] [DATASET_ID].[TABLE_NAME]

Em que:

  • [DEFINITION_FILE] é o caminho do arquivo de definição de tabelas na máquina local;
  • [DATASET_ID] é o nome do conjunto de dados que contém a tabela;
  • [TABLE_NAME] é o nome da tabela que você está criando.

Por exemplo, o seguinte comando cria uma tabela permanente chamada mytable usando um arquivo de definição de tabela chamado mytable_def.

bq mk --external_table_definition=/tmp/mytable_def mydataset.mytable

Para criar uma tabela permanente vinculada à sua fonte de dados externa usando uma definição de esquema in-line, digite o seguinte comando:

bq mk --external_table_definition=[SCHEMA]@[SOURCE_FORMAT]=[CLOUD_STORAGE_URI] [DATASET_ID].[TABLE_NAME]

Em que:

  • [SCHEMA] é a definição do esquema (no formato [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE]);
  • [SOURCE_FORMAT] é CSV, NEWLINE_DELIMITED_JSON, AVRO ou DATASTORE_BACKUP (DATASTORE_BACKUP também é usado para o Cloud Filestore);
  • [CLOUD_STORAGE_URI] é o URI do Cloud Storage;
  • [DATASET_ID] é o nome do conjunto de dados que contém a tabela;
  • [TABLE_NAME] é o nome da tabela que você está criando.

Por exemplo, o comando a seguir cria uma tabela permanente chamada sales vinculada a um arquivo CSV armazenado no Cloud Storage com a seguinte definição de esquema: Region:STRING,Quarter:STRING,Total_sales:INTEGER.

bq mk --external_table_definition=Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv mydataset.sales

Para criar uma tabela permanente vinculada à sua fonte de dados externa usando um arquivo de esquema JSON, insira o seguinte comando:

bq mk --external_table_definition=[SCHEMA_FILE]@[SOURCE_FORMAT]=[CLOUD_STORAGE_URI] [DATASET_ID].[TABLE_NAME]

Em que:

  • [SCHEMA_FILE] é o caminho para o arquivo de esquema JSON na sua máquina local;
  • [SOURCE_FORMAT] é CSV, NEWLINE_DELIMITED_JSON, AVRO ou DATASTORE_BACKUP (DATASTORE_BACKUP também é usado para o Cloud Firestore);
  • [CLOUD_STORAGE_URI] é o URI do Cloud Storage;
  • [DATASET_ID] é o nome do conjunto de dados que contém a tabela;
  • [TABLE_NAME] é o nome da tabela que você está criando.

Por exemplo, o comando a seguir cria uma tabela chamada sales vinculada a um arquivo CSV armazenado no Cloud Storage usando o arquivo de esquema /tmp/sales_schema.json.

bq mk --external_table_definition=/tmp/sales_schema.json@CSV=gs://mybucket/sales.csv mydataset.sales

Após a criação da tabela permanente, você poderá executar uma consulta como se ela fosse uma tabela nativa do BigQuery, sujeita às limitações das fontes de dados externas.

Quando sua consulta for concluída, faça o download dos resultados como um arquivo CSV/JSON ou salve-os nas Planilhas Google. Consulte Fazer download, salvar e exportar dados para saber mais informações.

API

Python

Antes de testar esta amostra, siga as instruções de configuração do Python em Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery Python.

# from google.cloud import bigquery
# client = bigquery.Client()
# dataset_id = 'my_dataset'

# Configure the external data source
dataset_ref = client.dataset(dataset_id)
table_id = 'us_states'
schema = [
    bigquery.SchemaField('name', 'STRING'),
    bigquery.SchemaField('post_abbr', 'STRING')
]
table = bigquery.Table(dataset_ref.table(table_id), schema=schema)
external_config = bigquery.ExternalConfig('CSV')
external_config.source_uris = [
    'gs://cloud-samples-data/bigquery/us-states/us-states.csv',
]
external_config.options.skip_leading_rows = 1  # optionally skip header row
table.external_data_configuration = external_config

# Create a permanent table linked to the GCS file
table = client.create_table(table)  # API request

# Example query to find states starting with 'W'
sql = 'SELECT * FROM `{}.{}` WHERE name LIKE "W%"'.format(
    dataset_id, table_id)

query_job = client.query(sql)  # API request

w_states = list(query_job)  # Waits for query to finish
print('There are {} states with names starting with W.'.format(
    len(w_states)))

Como consultar dados do Cloud Storage usando tabelas temporárias

Para consultar uma fonte de dados externa sem criar uma tabela permanente, execute um comando para combinar:

  • um arquivo de definição de tabela com uma consulta;
  • uma definição de esquema in-line com uma consulta;
  • um arquivo de definição de esquema JSON com uma consulta.

O arquivo de definição de tabela ou esquema fornecido é usado para criar a tabela externa temporária, e a consulta será executada nela. Na CLI e na API do BigQuery, é permitido consultar uma fonte de dados externa usando uma tabela temporária.

A tabela externa temporária não é criada em um dos conjuntos de dados do BigQuery. Como ela não fica armazenada permanentemente em um conjunto de dados, não é possível compartilhá-la com outros. A consulta a uma fonte de dados externa usando uma tabela temporária é útil quando você quer consultar dados externos apenas uma vez, com um propósito específico, ou executar processos de extração, transformação e carregamento (ETL, na sigla em inglês).

Como criar e consultar uma tabela temporária

Você pode criar e consultar uma tabela temporária vinculada a uma fonte de dados externa usando a CLI ou a API.

CLI

Consulte uma tabela temporária vinculada a uma fonte de dados externa usando o comando bq query com a sinalização --external_table_definition. Ao usar a CLI para consultar uma tabela temporária vinculada a uma fonte de dados externa, você pode identificar o esquema dela usando:

  • um arquivo de definição de tabela (armazenado em sua máquina local);
  • uma definição de esquema in-line;
  • um arquivo de esquema JSON (armazenado em sua máquina local).

Forneça a sinalização --location e defina o valor como o local.

Para consultar uma tabela temporária vinculada à sua fonte de dados externa usando um arquivo de definição de tabela, insira o seguinte comando:

bq --location=[LOCATION] query --external_table_definition=[TABLE_NAME]::[DEFINITION_FILE] '[QUERY]'

Em que:

  • [LOCATION] é o nome do seu local. A sinalização --location será opcional se os seus dados estiverem nos locais multirregionais US ou EU;
  • [TABLE_NAME] é o nome da tabela temporária que você está criando;
  • [DEFINITION_FILE] é o caminho do arquivo de definição de tabelas na máquina local;
  • [QUERY] é a consulta que você está enviando para a tabela temporária.

Por exemplo, o seguinte comando cria e consulta uma tabela temporária chamada sales usando um arquivo de definição de tabela chamado sales_def.

bq --location=US query --external_table_definition=sales::sales_def 'SELECT Region,Total_sales FROM sales;'

Para consultar uma tabela temporária vinculada à sua fonte de dados externa usando uma definição de esquema in-line, digite o seguinte comando:

bq --location=[LOCATION] query --external_table_definition=[TABLE_NAME]::[SCHEMA]@[SOURCE_FORMAT]=[CLOUD_STORAGE_URI] '[QUERY]'

Em que:

  • [LOCATION] é o nome do seu local. A sinalização --location será opcional se os seus dados estiverem nos locais multirregionais US ou EU;
  • [TABLE_NAME] é o nome da tabela temporária que você está criando;
  • [SCHEMA] é a definição de esquema in-line (no formato [FIELD]:[DATA_TYPE],[FIELD]:[DATA_TYPE]);
  • [SOURCE_FORMAT] é CSV, NEWLINE_DELIMITED_JSON, AVRO ou DATASTORE_BACKUP (DATASTORE_BACKUP também é usado para o Cloud Firestore);
  • [CLOUD_STORAGE_URI] é o URI do Cloud Storage;
  • [QUERY] é a consulta que você está enviando para a tabela temporária.

Por exemplo, o comando a seguir cria e consulta uma tabela temporária chamada sales vinculada a um arquivo CSV armazenado no Cloud Storage com a seguinte definição de esquema: Region:STRING,Quarter:STRING,Total_sales:INTEGER.

bq --location=US query --external_table_definition=sales::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv 'SELECT Region,Total_sales FROM sales;'

Para consultar uma tabela temporária vinculada à sua fonte de dados externa usando um arquivo de esquema JSON, insira o seguinte comando:

bq --location=[LOCATION] query --external_table_definition=[SCHEMA_FILE]@[SOURCE_FORMAT]=[CLOUD_STORAGE_URI] '[QUERY]'

Em que:

  • [LOCATION] é o nome do seu local. A sinalização --location será opcional se os seus dados estiverem nos locais multirregionais US ou EU;
  • [SCHEMA_FILE] é o caminho para o arquivo de esquema JSON na sua máquina local;
  • [SOURCE_FORMAT] é CSV, NEWLINE_DELIMITED_JSON, AVRO ou DATASTORE_BACKUP (DATASTORE_BACKUP também é usado para o Cloud Firestore);
  • [CLOUD_STORAGE_URI] é o URI do Cloud Storage;
  • [QUERY] é a consulta que você está enviando para a tabela temporária.

    Por exemplo, o comando a seguir cria e consulta uma tabela temporária chamada sales vinculada a um arquivo CSV armazenado no Cloud Storage usando o arquivo de esquema /tmp/sales_schema.json.

    bq --location=US query --external_table_definition=sales::/tmp/sales_schema.json@CSV=gs://mybucket/sales.csv 'SELECT Region,Total_sales FROM sales;'

API

Python

Antes de testar esta amostra, siga as instruções de configuração do Python em Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery Python.

# from google.cloud import bigquery
# client = bigquery.Client()

# Configure the external data source and query job
external_config = bigquery.ExternalConfig('CSV')
external_config.source_uris = [
    'gs://cloud-samples-data/bigquery/us-states/us-states.csv',
]
external_config.schema = [
    bigquery.SchemaField('name', 'STRING'),
    bigquery.SchemaField('post_abbr', 'STRING')
]
external_config.options.skip_leading_rows = 1  # optionally skip header row
table_id = 'us_states'
job_config = bigquery.QueryJobConfig()
job_config.table_definitions = {table_id: external_config}

# Example query to find states starting with 'W'
sql = 'SELECT * FROM `{}` WHERE name LIKE "W%"'.format(table_id)

query_job = client.query(sql, job_config=job_config)  # API request

w_states = list(query_job)  # Waits for query to finish
print('There are {} states with names starting with W.'.format(
    len(w_states)))

Compatibilidade com caracteres curinga para URIs do Cloud Storage

Se os dados do Cloud Storage estiverem separados em vários arquivos que compartilham um nome de base comum, é possível usar um caractere curinga no URI no arquivo de definição de tabela. Você também pode usar um caractere curinga ao criar uma tabela externa sem usar um arquivo de definição de tabela.

Para adicionar um caractere curinga ao URI do Cloud Storage, adicione um asterisco (*) ao nome-base. Por exemplo, se você tiver dois arquivos chamados fed-sample000001.csv e fed-sample000002.csv, o URI do intervalo será gs://mybucket/fed-sample*. Esse URI curinga pode então ser usado no console, na UI clássica, na CLI ou na API.

Só é possível usar um caractere curinga para objetos (nomes de arquivos) no intervalo. O caractere curinga pode ser exibido dentro ou no final do nome do objeto. Não é possível incluir um caractere curinga ao nome do intervalo.

Nas exportações do Google Cloud Datastore, é possível especificar apenas um URI, que precisa terminar com .backup_info ou .export_metadata.

O caractere curinga * não é permitido quando você:

  • cria tabelas externas vinculadas a exportações do Cloud Datastore ou do Cloud Firestore;
  • carrega dados de exportação do Cloud Datastore ou do Cloud Firestore a partir do Cloud Storage.

A pseudocoluna _FILE_NAME

Tabelas baseadas em fontes de dados externas fornecem uma pseudocoluna chamada _FILE_NAME. Ela contém o caminho totalmente qualificado para o arquivo ao qual a linha pertence. Esta coluna está disponível apenas para tabelas que fazem referência a dados externos armazenados no Cloud Storage e no Google Drive.

O nome de coluna _FILE_NAME é reservado. Não crie nenhuma coluna com esse nome nas tabelas. Para selecionar o valor de _FILE_NAME, use um alias. O exemplo de consulta a seguir mostra a seleção de _FILE_NAME por meio da atribuição do alias fn à pseudocoluna.

bq query --project_id=[PROJECT_ID] --use_legacy_sql=false 'SELECT name, _FILE_NAME AS fn from [DATASET].[TABLE_NAME] where name contains "Alex";' 

Em que:

  • [PROJECT_ID] é um código de projeto válido (essa sinalização não será necessária se você usar o Cloud Shell ou configurar um projeto padrão no SDK do Cloud);
  • [DATASET] é o nome do conjunto de dados que armazena a tabela externa permanente;
  • [TABLE_NAME] é o nome da tabela externa permanente.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.