2/2 – Conhecendo BigQuery sandbox

Em resumo, o BigQuery desempenha um papel fundamental no processamento e análise de grandes conjuntos de dados na nuvem, tornando mais acessível e eficiente o trabalho com dados em ambientes de Big Data. Ele contribui para a transformação de dados brutos em insights valiosos para tomada de decisões estratégicas.

O BigQuery possui acesso a versões pagas e gratuitas, nesse artigo abordaremos sobre as versões gratuitas: Avaliação gratuita e Sandbox.

 

A seguir, a continuação do artigo parte 1 .

 

3 – Como criar um conjunto de dados, uma tabela e subir arquivos da máquina local.

A interface gráfica do BigQuery está em constante atualização, então pode ser que você enfrente problemas, mas acredito que não te impeça de progredir e aprender essa poderosa ferramenta. Na dúvida, consulte a documentação

3.1 – Criando conjunto de dados. 

1 – Na página do BigQuery Studio (caso você não esteja na página vá até o menu lateral e selecione Bigquery como no passo 1.4), em Explorer clique nos três pontinhos verticais ao lado do projeto.

Em seguida, clique em criar conjunto de dados. 

2 – Na aba criar conjunto de dados, dê um nome ao conjunto, em seguida escolha o Tipo de local e clique em criar conjunto de dados.

Seu conjunto de dados aparecerá no menu Explorer.

3.2 – Criando tabela para o conjunto de dados.

1 – No menu Explorer, clique nos três pontinhos verticais ao lado do conjunto.

2 – Em seguida, clique em criar tabela.

3 – Em origem, no campo criar tabela de, clique e selecione fazer upload.

4 – No campo selecionar arquivo, clique em procurar e escolha o arquivo desejado.

5 – Em formato do arquivo, selecione o formato do arquivo.

6 – Em destino, mantenha o projeto e conjunto de dados e no campo Tabela, dê um nome a sua tabela. 

7 – Em Esquema, selecione detectar automaticamente e em seguida, clique em criar tabela.

Sua tabela será criada.

 

4 – Explorando sua nova tabela com SQL.

1 – No menu explorer, clique na sua tabela recém criada.

Explore as funcionalidades do BigQuery como esquema, detalhes, visualização.

2 – Para fazer uma nova consulta na tabela, clique em Consulta na aba superior.

3 – Em seguida, clique em uma nova guia

Uma nova guia será aberta, este é o editor de consultas do BigQuery.

As consultas no BigQuery seguem o padrão ANSI SQL na maior parte, mas também oferecem extensões e otimizações exclusivas do BigQuery. Caso tenha interesse em aprender mais, siga a documentação clicando aqui.

4 – No painel de edição de consultas, insira a seguinte Query. O BigQuery segue esse padrão para a cláusula:

FROM: `nome-do-projeto.dataset.tabela` entre duas crases. 

Parabéns, você rodou sua primeira consulta no BigQuery! Agora você tem um playground para se divertir e estudar com SQL! 

 

5 – Explorando conjuntos de dados públicos no BigQuery.

1 – No BigQuery Studio, em Explorer, clique +adicionar.

Uma aba lateral será aberta.

2 – Em outras fontes, desça até encontrar e clique em Conjuntos de dados públicos.

3 – Escolha e clique em algum dos conjuntos que te interessam. São centenas de conjuntos que abrangem uma grande variedade de dados, fique a vontade para explorar.

4 – Na nova aba detalhes do produto, clique em ver conjunto de dados. 

Uma nova guia abrirá no navegador.

5 – Na nova guia, no painel será exibido as informações do conjunto.

6 – No menu explorer aparecerá o projeto BigQuery-public-data e ao clicar na seta lateral, os conjuntos. 

7 – Seu conjunto selecionado aparecerá destacado em azul.

8 – Clique na seta lateral para exibir as tabelas do conjunto. Em seguida, selecione uma tabela.

9 – A tabela aparecerá no painel. Agora você pode explorar o esquema, detalhes, visualizar e rodar consultas SQL.

Parabéns! Agora você pode explorar conjuntos de dados públicos no BigQuery.

 

6 – Boas práticas de consulta e uso do BigQuery.

  1. Use Particionamento:

   – Particionamento consiste em segmentar sua tabela em pedaços menores com base em uma coluna com valores que podem ser: Inteiros (INTEGER), Unidade de tempo (DATE, TIMESTAMP ou DATETIME) ou Tempo de processamento (_PARTITIONTIME). Com isso você melhora o desempenho das consultas e controla os custos, reduzindo o número de bytes lidos por consulta. Consulte a documentação para conhecer mais.

  1. Use Clustering: 

 – Clustering permite que você defina uma ou até quatro colunas para classificar blocos de armazenamento com base nos valores das colunas escolhidas. Isto é, a ordem das colunas determina quais colunas têm precedência quando o BigQuery classifica e agrupa os dados. Desta forma o clustering pode aumentar drasticamente o desempenho da consulta. Consulte a documentação para conhecer mais.

  1. Evite Consultas em Tabelas Inteiras:

   – Ao possível, evite consultas em tabelas inteiras, especialmente em grandes conjuntos de dados. Em vez disso, use condições de filtro para restringir os resultados.

  1. Use o Modelo de Cobrança Estimada:

   – Use a função `EXISTS` ou `SAMPLE` para estimar o volume de dados antes de executar uma consulta completa. Isso pode ajudar a evitar surpresas com custos inesperados.

  1. Compreenda o Processamento Distribuído:

   – Entenda que o BigQuery utiliza processamento distribuído. Isto é, Quando você executa uma consulta, o mecanismo de consulta distribui o trabalho em paralelo para vários workers, que verificam as tabelas relevantes no armazenamento, processam a consulta e coletam os resultados.

O BigQuery executa consultas totalmente na memória, usando uma rede de petabits para garantir que os dados se movam com muita rapidez até os nós de trabalho. Aqui o BigQuery disponibiliza uma documentação para otimização de consultas.

  1. Evite o Uso Excessivo de Recursos:

   – Como o BigQuery opera no modelo de armazenamento colunar, limitar o número de colunas minimiza a quantidade de bytes escaneados.

Então, evite usar SELECT *, pois desse modo o BigQuery processa todas as colunas, até as que você não precisa na sua consulta. 

  1. Use Funções Analíticas:

   – Aproveite as funções analíticas como `PARTITION BY` e `OVER` para realizar cálculos complexos e análises avançadas.

  1. Evite Subconsultas Aninhadas Profundas:

   – Limitar o número de subconsultas aninhadas profundas pode melhorar a legibilidade e o desempenho da consulta.

Recomenda-se utilizar a cláusula WITH em sua consulta, dessa forma você pode selecionar uma common table expressions (CTEs) que age como uma tabela temporária, melhorando a legibilidade do código, facilitando a manutenção e otimizando o desempenho. Saiba mais clicando aqui.

  1. Ajuste a Alocação de Recursos:

   – Para consultas grandes, ajuste a alocação de recursos para melhorar o desempenho. Isso pode ser feito usando as configurações `–default_project` e `–default_dataset` ou especificando `–nouse_legacy_sql` para usar SQL padrão.

  1. Utilize a Cache de Resultados:

   – O BigQuery oferece uma cache de resultados para consultas frequentes. Aproveite isso para economizar custos e melhorar o tempo de resposta.

  1. Monitore e Otimize o Consumo de Dados:

    – Utilize as ferramentas de monitoramento do BigQuery para identificar consultas caras em termos de volume de dados processados e utilizá-las conforme necessário.

  1. Escolha Tipos de Dados Adequados:

    – Escolha tipos de dados apropriados para suas colunas para otimizar o armazenamento e o desempenho das consultas.

  1. Revise e Ajuste o Plano de Execução:

    – Analise o plano de execução da consulta e, se necessário, ajuste a consulta para otimizar a performance.

 

Lembre-se de que as boas práticas podem variar dependendo do contexto específico do seu conjunto de dados e das consultas que está realizando. 

Sempre consulte a documentação oficial do BigQuery para obter informações atualizadas e mais detalhes sobre otimizações específicas.

 

 

Conteúdo criado por: Heitor Cesarino.