Análise de BIG DATA com o Microsoft Azure Data Lake
Já parou para pensar quantos bytes de dados produzimos diariamente? Sites que acessamos, lugares que estivemos pessoas com quem conversamos produtos que compramos… Sem falar em todos os sensores que carregamos o todo tempo dentro dos nossos smartphones, computadores e wearables. Mas o que fazer com essa enxurrada de dados? Vamos aprender a analisá-los com o data lake!
Sumário
O que é BIG DATA?
Ao conjunto de dados complexos, com grande volume, velocidade, variedade, veracidade e valor, é dado o nome de Big Data. Devido à sua complexidade, para se conseguir extrair informações desse emaranhado de dados avulsos, é necessário fazer uma análise. A análise desses dados costuma exigir muito processamento e diversas aplicações foram desenvolvidas para obter informações a partir de tanta informação.
Uma solução para a análise dos dados que tem ganhado força é o novo Microsoft Azure Data Lake. O Data Lake tem como objetivo facilitar a análise distribuída dos dados em nuvem além de simplificar o desenvolvimento das análises. A ferramenta permite escalar facilmente o paralelismo na execução da análise. O ajuste é feito simplesmente alterando um seletor, deixando de lado as preocupações com a infraestrutura distribuída. Trabalhando em nuvem, aumentar o poder de processamento para obter um resultado mais rápido é muito mais fácil e barato.
O que há de novo no Microsoft Azure Data Lake?
Para facilitar o desenvolvimento, o Data Lake inclui o U-SQL, uma linguagem que permite estender o SQL integrando com o .NET. Ou seja, suas queries SQL podem ser completadas com funções escritas em C#. Isso permite estender a análise e utilizar expressões LINQ e até mesmo outras DLLs de análises mais complexas. Além disso, ao utilizar funções C#, é possível fazer o debug da análise ao executar uma análise local.
Outra vantagem de se utilizar o Data Lake é conseguir utilizar, ao mesmo tempo, todas as bases de dados do Azure, ou seja, é possível trabalhar com todos os tipos de dados e com alguns serviços (HDInsight, Hadoop, Spark, Storm e HBase).
O que posso fazer com o Data Lake?
A análise de Big Data pode ser aplicada nos mais diversos tipos de cenários. Veja abaixo alguns deles:
- Análise de perfil de acessos a sites.
- Medição de qualidade de sinal de telefonia.
- Prevenção e diagnóstico de doenças.
- Previsão do tempo.
- Análises esportivas (buscando o alto rendimento de atletas e evitando lesões).
- Análise de sensores na indústria (com o objetivo de otimizar a manutenção de equipamentos evitando quebras).
- Análise de perfil de compra, auxiliando nas campanhas de marketing.
O que preciso para começar?
Para usar o Microsoft Azure Data Lake, é preciso ter:
⦁ Visual Studio 2012 ou superior
⦁ SDK do Microsoft Azure para .NET versão 2.7.1 ou superior.
⦁ E o Plugin Data Lake para Visual Studio.
⦁ Também é recomendado que se tenha uma conta do Microsoft Azure para poder aproveitar as vantagens e funções específicas.
Na prática
Para exemplificar como é simples realizar as primeiras análises com o Data Lake, vamos mostrar um caso de uso.
Cenário
Considere que precisamos reduzir o tráfego mensal de um servidor Web para reduzirmos os custos de com a manutenção do servidor. Para isso, temos posse apenas dos logs de acesso do servidor. Esse log possui todas as requisições ao servidor durante o período de um mês com as seguintes informações:
Essa é a amostra de dados que obtivemos como exemplo e que considera os logs do servidor web da NASA entre os 30/06/1995 e 28/07/1995.
O arquivo possui mais de 1,5 milhões de linhas e para processar toda essa informação, é necessária uma boa ferramenta de análise. Com o cenário montado, vamos começar.
Criando um Projeto com U-SQL
Após instalados todos os pré-requisitos, vá ao Visual Studio e Clique em New > Project. Veja que dentro de Templates agora temos a opção U-SQL. Selecione a opção U-SQL Project e dê um novo ao seu projeto.
Vamos inicialmente identificar quem são nossos maiores e quantas chamadas fizeram no mês analisado, para isso, vamos analisar apenas utilizando U-SQL.
Segue o código U-SQL abaixo:
Sendo “/input/WebNasa.tsv” a fonte dos dados e “/output/Analise.csv” o endereço da saída com a análise feita. Para executar a análise, clique em Submit. Em seguida, a análise será salva no endereço de saída.
Analisando os resultados, a primeira informação que podemos obter é que os 30 maiores consumidores foram:
Agora que já realizamos uma pequena análise, vamos ao que interessa, descobrir quais os arquivos requisitados que estão consumindo maior franquia de transferência do servidor. Com isso, poderemos, por exemplo, aperfeiçoar uma página ou mesmo reduzir a qualidade de uma imagem para reduzir o consumo. Para isso, vamos precisar de uma análise um pouco mais complexa, utilizando o code behind em C#.
Utilizando Funções C# – CodeBehind
Para executar funções em C#, precisamos acessar o arquivo em Script.usql.cs. Vá ao Solution Explorer e abra o arquivo.
Para encontrarmos os arquivos que estão consumindo a maior banda, precisaremos contar quantas vezes cada url e multiplicar pelo seu tamanho (bytes). Utilizaremos o code behind para realizar essa multiplicação utilizando o código abaixo:
Para fazer a chamada do método no U-SQL, utilize a sintaxe:
{namespace}.{class}.{método(parâmetros)}
Alteramos o código para chamarmos o método criado:
Analisando novamente os 30 primeiros resultados obtidos, temos:
Com isso, sabemos que se diminuirmos o tamanho desses arquivos, reduzindo a resolução dos vídeos, ou otimizando o código das páginas, poderíamos reduzir custos com servidores. Da mesma forma, essa análise poderia ser expandida para outros custos da empresa, identificando desperdícios e melhorando processos.
Hadoop
Quem atua direta ou indiretamente com Big Data já deve ter esbarrado no conceito de Hadoop. Em resumo, o Hadoop é uma plataforma de software open-source para armazenamento dados e execução de aplicações em clusters de hardwares mais usuais – qualquer semelhança com o Big Data é mera concorrência. Além disso, o Hadoop fornece armazenamento massivo para qualquer tipo de dado, garantindo maior autonomia no processamento e capacidade de lidar com uma quantidade maior de tarefas e trabalhos ao mesmo tempo.
Se você tem interesse em fazer parte de um time que fomenta o crescimento constante na cultura agil e a aplicação do Big Data e Hadoop na prática, venha fazer parte da equipe dti. Acesse nossa página de carreiras e venha ser dti!
Data Science
Confira outros artigos
Ciência de dados explicando coisas que acontecem no mundo
Hoje cada ser humano com um dispositivo móvel em mãos produz uma série de dados, gerados em velocidade, volume e variedade nunca vistos antes. A internet das coisas tem se tornado um mar de oportunidades para a ciência de dados nos últimos anos. Isso acontece, porque, através de sensores inteligentes e softwares que transmitem dados […]
Data Science
Dados Geoespaciais: Uma visão geral
Dentre todas as bases de dados em que tive a oportunidade de trabalhar, poucas foram as vezes em que não encontrei dados geoespaciais. Sumário0.1 Mas o que são dados geoespaciais?1 Conceitos Básicos dos dados1.1 Como representar os dados2 Operações Geoespaciais2.1 Operações de relacionamento3 Visualização4 Aplicações de dados georreferenciados4.1 Dados georreferenciais e a pandemia5 Referências e […]
Data Science
Estrutura de dados: o que é e qual a sua importância?
Entenda o que é a importância da estrutura de dados na linguagem da programação O universo da programação possui uma série de fundamentos considerados essenciais para o desenvolvimento dos mais diversos softwares. Considerada um ponto-chave em qualquer projeto, a estrutura de dados tem um papel relevante no trabalho de todos os programadores. Mas você sabe […]
Data Science