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 depois que ele foi criado. Além disso, não é possível mover um conjunto de dados de um local para outro. Se precisar mover um conjunto de dados de um local para outro, siga este processo:

  1. Exporte os dados das tabelas do BigQuery para um intervalo do Cloud Storage regional ou multirregional 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.

    Observe que 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, 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 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 obrigatórias

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

Permissões do BigQuery

Ao carregar dados no BigQuery a partir do Cloud Storage, você precisa ter concedido os papéis bigquery.dataOwner ou bigquery.dataEditor para envolvidos no projeto ou no nível do conjunto de dados. Os dois papéis concedem aos usuários e grupos permissão para carregar dados em uma nova tabela, anexá-los a uma tabela ou substitui-la.

Ao conceder os papéis para envolvidos no projeto, os usuários ou grupos têm permissão para carregar dados em tabelas em cada conjunto de dados no projeto. Já com os papéis no nível do conjunto de dados, os usuários ou grupos podem carregar dados apenas em tabelas desse conjunto de dados.

Para mais informações sobre como configurar o acesso aos conjuntos de dados, consulte Como controlar o acesso a conjuntos de dados. Para saber mais sobre papéis do IAM no BigQuery, consulte Controle de acesso.

Permissões do Cloud Storage

Para carregar dados de um intervalo do Cloud Storage, você precisa de permissões storage.objects.get no nível do projeto ou do intervalo individual. Se você estiver usando um caractere curinga de URI, também precisará ter permissões storage.objects.list.

O papel do IAM predefinido storage.objectViewer pode ser concedido para fornecer 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 ver 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-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.

Próximas etapas

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.