Skip to main content

Exportando dados BigQuery

O processo de exportação de dados do BigQuery permite exportar os dados nos formatos CSV, Json, Avro e Parquet.

Antes de iniciar, confira detalhes quanto limitações neste link: https://cloud.google.com/bigquery/docs/exporting-data#export_formats_and_compression_types

Este processo de exportação é compativel apenas com tabelas. Caso você queira exportar o resultado de uma consulta, você pode gerar uma tabela temporária e exportar a tabela temporária, limitando assim os dados que estão sendo exportados, ou até exportando uma visão sumarizada (agregada) ao invés de dados muito granular.

Para facilitar o processo de exportação, disponibilizamos um arquivo Jupyter com os passos necessários aqui: https://github.com/totvslabs/carolapp-samples/tree/master/mastering-carol/export-data-bigquery

O código está dividido em:

  • Importação de Libs necessárias.
  • Função para gerar URL assinada, permitindo o download do arquivo exportado.
  • Carga da configuração contida no arquivo .env, para maiores detalhes, veja no arquivo README.md detalhes em como construir o arquivo .env.
  • Inicialização da instância Carol.
  • Geração da Service Account através da Carol para fazer o export dos dados e carga dos dados no CDS (Carol Data Storage).
  • Configuração do formato dos dados a serem exportados. Maiores detalhes e opções podem ser consultadas aqui: https://cloud.google.com/bigquery/docs/exporting-data#export_formats_and_compression_types
  • Diretório de destino no CDS (GCS) para os dados exportados. Você deve obrigatoriamente utilizar esse diretório, sendo que ele é o único permitido para excrita. Diretório: gs://{BUCKET_NAME}/user_space. Aonde BUCKET_NAME é o ID do projeto na Carol, por exemplo: carol-00b66d7bb91a4e43ae8e
  • Criação do Job de exportação dos dados.
  • Chamada da função para gerar a URL assinada permitindo o download do arquivo recém exportado.

Com esses passos você efetuou a exportação de dados da Carol.

Ajustes deverão ser necessários no aplicativo acima para exportar uma quantidade maior de arquivos, sendo que o BigQuery vai dividir em vários arquivos no diretório user_space informado acima.