Análise de BIG DATA com o Microsoft Azure Data Lake

Por Felipe Guimarães|
Atualizado: Fev 2022 |
Publicado: Jan 2018

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!

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.

data lake

Quer ver mais conteúdos como esse?

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:

hadoop

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.

 

hadoop

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:

BIG DATA 4

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:

BIG DATA 5

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.

BIG DATA 6

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:

BIG DATA 7

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:

BIG DATA 8

Analisando novamente os 30 primeiros resultados obtidos, temos:

BIG DATA 9

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!

Quer saber mais?