Introdução ao carregamento de dados do Cloud Storage

Nesta página, você encontra uma visão geral sobre o carregamento de dados do Cloud Storage no BigQuery.

Visão geral

Para carregar os dados do Cloud Storage no BigQuery, eles precisam estar em um dos formatos a seguir:

  • valores separados por vírgula (CSV)
  • JSON (delimitado por nova linha)
  • Avro
  • Parquet
  • ORC
  • Exportações do Cloud Datastore
  • exportações do Cloud Firestore

As cargas recorrentes do Cloud Storage no BigQuery são compatíveis com o serviço de transferência de dados do BigQuery.

O BigQuery é compatível com o carregamento de dados de qualquer uma das classes de armazenamento do Cloud Storage a seguir:

  • Multi-Regional
  • Regional
  • Nearline
  • Coldline

Considerações sobre o local

Ao escolher um local para os dados, pense no seguinte:

  • Colocar os intervalos do Cloud Storage para carregar dados.
    • Se o conjunto de dados do BigQuery estiver em um local multirregional, o intervalo do Cloud Storage que contém os dados que você está carregando precisará estar em um intervalo regional ou multirregional no mesmo local. Por exemplo, se o conjunto de dados do BigQuery estiver na UE, o intervalo do Cloud Storage precisará estar em um intervalo regional ou multirregional na UE.
    • Se o conjunto de dados estiver em um local regional, seu intervalo do Cloud Storage precisará ser um intervalo regional no mesmo local. Por exemplo, se o conjunto de dados estiver na região de Tóquio, seu intervalo do Cloud Storage precisará ser um intervalo regional em Tóquio.
    • Exceção: se o conjunto de dados estiver no local multirregional US, será possível carregar dados de um intervalo do Cloud Storage em qualquer local regional ou multirregional.
  • Desenvolver um plano de gerenciamento de dados.
    • Se você escolher um recurso de armazenamento regional, como um conjunto de dados do BigQuery ou um intervalo do Cloud Storage, será necessário desenvolver um plano para gerenciar geograficamente seus dados.

Para mais informações sobre locais do Cloud Storage, consulte Locais de intervalos na documentação do Cloud Storage.

Como mover dados do BigQuery entre locais

Não é possível alterar o local de um conjunto de dados após a criação, mas é possível fazer uma cópia do conjunto de dados. Não é possível mover um conjunto de dados de um local para outro, mas é possível mover (recriar) manualmente um conjunto de dados.

Como copiar conjuntos de dados

Para ver as etapas para copiar um conjunto de dados, inclusive entre regiões, consulte Copiando conjuntos de dados.

Como mover um conjunto de dados

Para mover manualmente um conjunto de dados de um local para outro, siga este processo:

  1. Exporte os dados das tabelas do BigQuery para um intervalo regional ou multirregional do Cloud Storage no mesmo local do conjunto de dados. Por exemplo, se o conjunto de dados estiver no local multirregional da UE, exporte os dados para um intervalo regional ou multirregional na UE.

    Não há cobranças pela exportação de dados do BigQuery, mas são cobradas taxas pelo armazenamento dos dados exportados no Cloud Storage. As exportações do BigQuery estão sujeitas aos limites de jobs de exportação.

  2. Copie ou mova os dados do intervalo do Cloud Storage para um intervalo regional ou multirregional no novo local. Por exemplo, se você estiver movendo os dados do local multirregional dos EUA para o local regional de Tóquio, será necessário transferi-los para um intervalo regional em Tóquio. Para informações de como transferir objetos do Cloud Storage, consulte Como renomear, copiar e mover objetos na documentação do Cloud Storage.

    A transferência de dados entre regiões gera cobranças de saída de rede no Cloud Storage.

  3. Depois de transferir os dados para um intervalo do Cloud Storage no novo local, crie um novo conjunto de dados do BigQuery (no novo local). Em seguida, carregue os dados do intervalo do Cloud Storage no BigQuery.

    Você não será cobrado pelo carregamento dos dados no BigQuery, mas haverá cobranças pelo armazenamento dos dados no Cloud Storage até que os dados ou o intervalo sejam excluídos. Também haverá cobrança pelo armazenamento de dados no BigQuery depois que eles forem carregados. O carregamento de dados no BigQuery está sujeito às limitações de jobs de carregamento.

Para mais informações sobre como usar o Cloud Storage para armazenar e mover grandes conjuntos de dados, consulte Como usar o Google Cloud Storage com o Big Data.

Limitações

Você está sujeito às limitações a seguir ao carregar dados de um intervalo do Cloud Storage para o BigQuery:

  • Se o local do conjunto de dados estiver definido com um valor diferente de US, o intervalo regional ou multirregional do Cloud Storage precisará estar na mesma região que o conjunto de dados.

Dependendo do formato dos dados de origem do Cloud Storage, pode haver outras limitações. Veja mais informações aqui:

Recuperar o URI do Cloud Storage

Para carregar dados de uma fonte do Cloud Storage, é preciso 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 intervalo do Cloud Storage for denominado mybucket e o arquivo de dados for denominado myfile.csv, o URI do intervalo seria gs://mybucket/myfile.csv. Se os dados estiverem separados em vários 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 de barra ("/") consecutivos. 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.

Permissões exigidas

Ao carregar dados no BigQuery, você precisa de permissões para executar um job de carga e para carregar dados em tabelas e partições novas ou antigas do BigQuery. Se você estiver carregando dados do Cloud Storage, também precisará de permissões para acessar o intervalo que contém os dados.

Permissões do BigQuery

Pelo menos as permissões a seguir são obrigatórias para carregar dados no BigQuery. Elas serão necessárias se você estiver carregando dados em uma nova tabela ou partição ou anexando/substituindo uma tabela ou partição.

  • bigquery.tables.create
  • bigquery.tables.updateData
  • bigquery.jobs.create

Os papéis predefinidos do Cloud IAM a seguir incluem as permissões bigquery.tables.create e bigquery.tables.updateData:

  • bigquery.dataEditor
  • bigquery.dataOwner
  • bigquery.admin

Os papéis predefinidos do Cloud IAM a seguir incluem as permissões bigquery.jobs.create:

  • bigquery.user
  • bigquery.jobUser
  • bigquery.admin

Além disso, quando um usuário com permissões bigquery.datasets.create cria um conjunto de dados, recebe o acesso bigquery.dataOwner a ele. Com o acesso bigquery.dataOwner, o usuário consegue criar e atualizar tabelas no conjunto de dados por meio de um job de carga.

Para mais informações sobre papéis e permissões do Cloud IAM no BigQuery, consulte Controle de acesso.

Permissões do Cloud Storage

Para carregar dados de um intervalo do Cloud Storage, é necessário ter permissões storage.objects.get. Se você estiver usando um caractere curinga de URI, também precisará ter permissões storage.objects.list.

O papel predefinido do Cloud IAM storage.objectViewer pode ser concedido para fornecer ambas as permissões storage.objects.get e storage.objects.list.

Registros de acesso e armazenamento do Cloud Storage

O Cloud Storage oferece arquivos de registros de acesso e armazenamento no formato CSV, que podem ser importados diretamente ao BigQuery para análise. Para mais informações sobre como carregar e analisar os registros do Cloud Storage, consulte Registros de acesso e de armazenamento na documentação do Cloud Storage.

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 ao carregar os dados.

Para adicionar um caractere curinga ao URI do Cloud Storage, adicione um asterisco (*) ao nome de 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 de caractere curinga pode ser usado no console, na IU da Web clássica, na CLI, na API ou nas bibliotecas de cliente.

Você só pode 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 anexar 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 ao:

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

A seguir

Para saber como carregar dados do Cloud Storage no BigQuery, consulte a documentação referente ao seu formato de dados:

Para saber mais sobre as cargas recorrentes do Cloud Storage no BigQuery, consulte Transferências do Cloud Storage.

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

Enviar comentários sobre…

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