O ecossistema Hadoop é composto de diversas ferramentas para o processamento distribuído com o intuito de melhorar o desempenho das aplicações que precisam lidar com grande volume de dados, ou seja, com Big Data.
Trata-se de uma ferramenta open source amplamente utilizada por cientistas, engenheiros e arquitetos de dados e que também serve de base para outras aplicações oferecidas no mercado, provavelmente você já deve ter utilizado alguma ferramenta que tenha como base o Hadoop.
Isso porque, por se tratar de uma ferramenta de código aberto, empresas podem fazer modificações e ofertar o produto dessas modificações no mercado como forma de solucionar dores que aparecem ao se lidar com grande volume de dados.
Dentre os diversos serviços que compõem esse ecossistema talvez os principais sejam:
HDFS (Hadoop Distributed File System): para armazenamento distribuído;
Apache Yarn: normalmente utilizado como gerenciador de recursos de Jobs MapReduce, inclusive conta com ferramenta de monitoramento;
Apache Sqoop: utilizado para levar ou armazenar dados em um banco de dados relacional;
Apache Flume: conecta numa fonte e traz os dados para o HDFS (streaming, por exemplo);
Apache Kafka: para uma infraestrutura de barramentos, na onde ficam os eventos;
Apache Mahout: para trabalhar como Machine Learning;
Apache Zookeeper: para gerenciar os trabalhos no cluster;
Apache HBase: um banco de dados distribuído não relacional – NoSQL;
Apache Hive: permite trabalhar com os dados armazenados no HDFS de maneira estruturada com Linguagem HQL;
Apache Spark para processamento de dados;
Apache Pig como ferramenta de análise de dados.
E como funciona o Apache Pig? O Apache Pig é uma camada de programação que roda sobre o MapReduce. Funciona como um intermediário permitindo que os usuários criem scripts para analisar dados de forma geral, relatórios, análise estatística e visualização de dados.
Essa ferramenta trabalha com dados estruturados e não estruturados em vários formatos. Além disso, ainda temos a figura do Apache Zeppelin que fornece uma camada de visualização para o Pig, permitindo que os usuários visualizem os resultados do código executado na forma de gráficos, mapas e outras forma de visualização.
Essa abordagem permite que usuários explorem os dados mais facilmente, o que ajuda a identificar tendências e padrões nos dados. Além de tudo, o Apache Zeppelin permite que usuários criem relatórios de forma iterativa, o que significa que eles podem ver os resultados do Pig em tempo real.
Imagine que tenhamos uma quantidade muito grande de dados de vendas, o Pig pode ser utilizado para analisar esses dados no intuito de identificar tendências de vendas, enquanto o Zeppelin pode ser usado para criar os gráficos oriundos dessas análises.
Ou seja, ao usar o Apache Pig os usuários podem facilmente extrair insights valiosos e encontrar padrões nos dados.
Ainda falando sobre os serviços disponíveis no mercado que utilizam o Apache Hadoop, podemos usar como exemplo o Amazon EMR, solução de Big Data em nuvem para processamento de dados, análise interativa e Machine Learning.
De acordo com a documentação fornecida pela própria AWS “O Amazon EMR (anteriormente chamado de Amazon Elastic MapReduce) é uma plataforma de cluster gerenciada que simplifica a execução de frameworks de Big Data, como o Apache Hadoop e o Apache Spark na AWS para processar e analisar grandes volumes de dados. Usando essas estruturas e projetos de código aberto relacionados, você pode processar dados para fins de análise e cargas de trabalho de inteligência de negócios. O Amazon EMR também permite transformar e mover grandes volumes de dados para dentro e para fora de outros armazenamentos da AWS como o Amazon S3 e o Amazon DynamoDB”.
Arquitetura simplificada da solução
Destaca-se que apesar das soluções do ecossistema Hadoop serem gratuitas, encontrar profissionais que consigam configurar todo um ambiente de processamento distribuído e profissionais que saibam usar essas ferramentas pode ser desafiador.
Por conta disso, serviços como o Amazon EMR Serveless em que toda a necessidade de ajustar, operar, otimizar, proteger ou gerenciar cluster é de responsabilidade da AWS, apesar de não serem gratuitos, podem ser a melhor solução para a sua empresa.
Por fim, a escolha da melhor abordagem requer uma análise pormenorizada do momento atual da empresa frente a cultura “Data Driven”, bem como de suas necessidades e expectativas para o futuro.
Referência:
https://aws.amazon.com/pt/emr/
https://hadoop.apache.org/docs/stable/
https://pig.apache.org/docs/latest/