Casos de Uso do Apache Spark

Os recursos para o processamento rápido de dados e as conveniências do Apache Spark o tornaram uma das mais requisitadas ferramentas disponíveis para análise de big data, neste artigo discutimos sobre os principais casos de uso e como as empresas estão empregando o Spark em suas rotinas.


Os recursos para o processamento rápido de dados e as conveniências do Apache Spark o tornaram uma das mais requisitadas ferramentas disponíveis para análise de big data, todas as vantagens do Spark derrubaram até mesmo o Apache Hadoop de seu trono, fornecendo aos desenvolvedores o canivete suíço necessário para análises de dados em tempo real. Muitas empresas grandes de tecnologia como o eBay, Yahoo e a Amazon tem utilizado o Spark como uma de suas ferramentas.

Com o crescente número de novas tecnologias que surgem é sempre interessante nos atualizarmos para entender seus benefícios ou trade-offs e verificar quais são suas principais empregabilidades no mercado, deixando claro que, devemos manter a nossa mente aberta e entender que um negócio possivelmente irá utilizar uma combinação dessas ferramentas, de acordo com a sua necessidade, não existe a famosa “bala de prata”.

Tendo isso em mente, neste artigo vamos explorar alguns dos casos de uso mais proeminentes do Apache Spark e algumas das principais empresas e segmentos que estão utilizando esta ferramenta para agregar valor de negócio e melhorar sua entrega aos clientes finais.

 

1. Streaming Data

Com a enorme quantidade de dados que é produzida atualmente todos os dias, para algumas empresas é essencial ser capaz de fornecer e analisar os dados em tempo real. O Spark Streaming possui a habilidade de lidar com toda essa carga de dados necessária em termos de streaming, além de unificar diferentes capacidades de processamento permitindo aos desenvolvedores a utilização de um único framework que acomode todas as suas necessidades.

Algumas das formas em que o Spark Streaming tem sido usado pelas empresas atualmente são:

Data enrichment – Uma combinação de dados obtidos em tempo real com dados estáticos. Por exemplo, empresas de anúncios online utilizam uma combinação de dados históricos do cliente com dados do seu comportamento em tempo real na plataforma para entregar formas de anúncio mais personalizadas e assertivas de acordo com este contexto. Uma empresa que também utiliza essa metodologia de forma semelhante é a Uber, todos os dias a multinacional coleta terabytes de dados provenientes de eventos dos usuários no aplicativo. Ao usar Kafka, Spark Streaming e HDFS para construir um pipeline ETL contínuo, a empresa pode converter dados de eventos não estruturados em dados estruturados à medida que são coletados e, em seguida, usá-los para análises adicionais e mais complexas.

Trigger event detection – O Spark Streaming permite uma detecção e resposta rápida para alguns comportamentos raros ou suspeitos (“trigger events”) que podem indicar um potencial problema ou fraude do sistema. Por exemplo, instituições financeiras utilizam a detecção de operações incomuns como um trigger para impedir fraudes de compras no seu cartão de crédito. Hospitais também utilizam o trigger de forma semelhante, onde uma vez que forem detectados potenciais perigos a saúde por meio de uma mudança no monitoramento dos sinais vitais de um paciente, é enviado automaticamente um alerta para os responsáveis em tomar ações apropriadas para salvá-lo.

Análise complexa de dados de sessão – Usando o Spark Streaming, eventos que sejam relacionados a sessão do usuário, como as suas atividades depois de logar na aplicação, podem ser agrupados e analisados. Estas informações também podem ser usadas continuamente para atualizar os models de machine learning. Algumas empresas como a Netflix já utilizam essa funcionalidade para obter insights sobre como os usuários estão interagindo na plataforma e fornecer mais recomendações de conteúdo atualizadas em tempo real.


2. Machine Learning

O Spark possui uma estrutura integrada para realizar análises avançadas que ajuda os usuários a executar consultas repetidas em conjuntos de dados - o que basicamente equivale a processar algoritmos de machine learning. Entre os componentes encontrados nesta estrutura está a biblioteca de aprendizado de máquina escalável do Spark (MLlib). A MLlib pode trabalhar em áreas como agrupamento, classificação e redução de dimensionalidade dos dados, dentre muitas outras. Tudo isso permite que o Spark seja usado para algumas funções comuns em termos de big data, como por exemplo a inteligência preditiva, segmentação de clientes para fins de marketing e análise de sentimento.

A segurança de redes é um bom caso de uso para os recursos de aprendizado de máquina do Apache Spark. Utilizando vários componentes do Spark os provedores de segurança podem conduzir inspeções em tempo real de pacotes de dados em busca de rastros de atividades maliciosas. Na superfície, o Spark Streaming permite que os analistas de segurança verifiquem ameaças conhecidas antes de passar os pacotes para a plataforma de armazenamento. Após a chegada ao armazenamento, os pacotes passam por uma análise mais aprofundada por meio de outros componentes, como a MLlib. Assim, os provedores de segurança podem aprender sobre novas ameaças conforme elas evoluem - ficando à frente dos hackers enquanto protegem seus clientes em tempo real.


3. Fog Computing

Apesar da análise de big data ter ganhado bastante atenção nos últimos tempos, outro conceito que tem despertado muito entusiasmo na comunidade de tecnologia é o de Internet das Coisas, ou em inglês Internet of Things (IoT). A IoT incorpora dispositivos com sensores minúsculos que se comunicam entre si e com o usuário, criando um mundo totalmente interconectado. Estes dispositivos coletam uma quantidade massiva de dados, processa-os e entrega novas funcionalidades e aplicações para facilitar o dia a dia dos usuários.

Conforme a IoT se expande, também cresce a necessidade de processamento paralelo massivamente distribuído de grandes quantidades e variedades de dados de dispositivos e seus sensores. Todo esse processamento, no entanto, é difícil de gerenciar com os recursos analíticos atuais na nuvem, e é aí que um novo conceito chamado de fog computing, juntamente com o Apache Spark, se faz necessário.

A fog computing descentraliza o processamento e armazenamento dos dados e insere uma nova complexidade que é, justamente, o processamento destes dados descentralizados, porque requer cada vez mais baixa latência, processamento massivamente paralelo de machine learning e algoritmos de análise gráfica extremamente complexos. Felizmente, o Spark possui alguns componentes chaves em sua stack como uma ferramenta de consulta interativa em tempo real - Shark, uma biblioteca de aprendizado de máquina - MLib e um mecanismo de análise de gráfico - GraphX. O Spark é mais do que uma solução de fog computing, na verdade, à medida que o setor de IoT converge gradual e inevitavelmente, muitos especialistas do setor preveem que em comparação com outras plataformas de código aberto, o Spark tem o potencial de emergir como, de fato, uma ferramenta de infraestrutura para fog computing.

 

Considerações Finais

Para resumir, o Apache Spark ajuda no processamento de uma enorme quantidade de dados, seja em tempo real ou arquivados, sejam eles estruturados ou não estruturados. Além disso, é uma ferramenta que tem sido usada em muitos setores de negócios notáveis, como Uber, Netflix e etc. Essas empresas reúnem terabytes de dados de eventos de usuários e os associam em interações de tempo real, como streaming de vídeo e diversas outras interfaces de usuário.

Vale lembrar que, o aumento no número de casos de uso do Spark é crescente e está apenas começando, é claro que o foi mencionado aqui são apenas alguns dos contextos onde esta ferramente pode ser empregada. À medida que mais e mais organizações reconhecem os benefícios de passar do processamento em lote para a análise de dados em tempo real, o Apache Spark poderá experimentar uma adoção ainda mais ampla e rápida em uma vasta gama de setores

E se você conhece ainda outras formas de utilização do Spark, sinta-se à vontade para compartilhar e contribuir com a comunidade.
 

Se Inscreva Na Nossa Newsletter Tenha Acesso Aos Melhores Artigos