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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Escolha Tipos de Dados Adequados:
– Escolha tipos de dados apropriados para suas colunas para otimizar o armazenamento e o desempenho das consultas.
- 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.