Postagens

Mostrando postagens com o rótulo MapReduce

O que é o Spark ?

Imagem
Para realizar análises de grandes quantidades de dados, localizados em clusters com diversos nós, precisamos de recursos tradicionais de SQL e Datawarehouse ( Star schemas, drill down, etc ), assim como precisamos ter algorítimos e estruturas de dados para otimizar as consultas em caso de falhas em qualquer um dos nós envolvidos.  Outro ponto que observamos mais recentemente nestas análises massivas de dados é o uso de algorítimos chamados de “machine learning” (Page-Ranking, Clustering, Regression, etc), que fazem um reuso de dados muito frequente.  O framework MapReduce da plataforma Hadoop simplificou e automatizou bastante a análise de quantidades massivas de dados em clusters,  mas a medida que as análises passam a exigir um reuso de dados, a leitura e gravação para disco podem se tornar um problema.  Precisamos ressaltar que o Hadoop MapReduce não é um framework orientado para transações e análises que precisem de baixo tempo de resposta. ...

O framework Cascading

Imagem
Nos posts anteriores vimos que um dos grandes diferenciais da plataforma Hadoop é a sua capacidade de armazenar e tratar enormes quantidades de dados estruturados e não estruturados, mas para que estes dados tenham valor precisam ser refinados e analisados de acordo com as necessidades da companhia. Como opções para processamento de dados nesta plataforma, já abordamos o MapReduce, o Hive, o HBase, etc, cada um tendo um perfil de uso específico e necessitando de competências diferenciadas por parte da equipe de desenvolvimento e suporte. No caso da utilização do MapReduce, muitas vezes existe um certo grau de dificuldade por parte dos desenvolvedores para traduzir os requisitos de negócios da empresa para programas em MapReduce, que trabalham tipicamente com chaves e valores e dois tipos básicos de lógica (mapear e reduzir). Visando criar um novo nível de abstração e facilitar o processamento de dados no ambiente Hadoop, foi criado o framework Cascading ( http://www.casc...

Usando o Cloudera Hadoop

Imagem
Uma das lacunas que existe na plataforma de software Hadoop, que também existe em outros softwares livres, está relacionada ao serviço de suporte e manutenção. A medida que as empresas passam a utilizar um software livre, muitas destas não dispõem de pessoas com competências técnicas para suportar este tipo de software e precisam de respostas rápidas para possíveis problemas que aconteçam no seu uso diário. De uma forma geral estas empresas não podem basear o suporte aos seus serviços em mensagens trocadas em grupos de usuários, o que pode representar um sério risco. Uma outra lacuna que também existe na plataforma Hadoop está relacionada às ferramentas para gerenciamento do ambiente como um todo. A partir destas necessidades do mercado, algumas empresas começaram a trabalhar a partir da distribuição Hadoop da Apache Foundation para gerar as suas próprias distribuições, com suporte e atualizações pagas, assim como também desenvolvendo ferramentas de administração que...

MapReduce e Amazon Elastic MapReduce

Imagem
Antes de falar sobre o HDFS , gostaria de abordar um pouco mais sobre o MapReduce e também sobre o Amazon Elastic MapReduce, que é a oferta da Amazon que possibilita executar jobs MapReduce em um ambiente baseado em Cloud Computing. - MapReduce Um job do MapReduce é uma unidade de trabalho a ser executada, que consiste de dados de input, programas MapReduce ( para realizar as operações de mapeamento e redução ) e as informações de configurações do ambiente.  O Hadoop divide o "job input" , que são os dados a s erem trabalhados, em "splits", que são alocados em diversos nós, que podem ser locais ou remotos.  Para cada split localizado em um bloco HDFS ( Hadoop Distributed File System ) existe uma tarefa MapReduce associada, que pode estar ou não no mesmo nó.   As figuras abaixo, extraídas do livro Hadoop The Definitive Guide de Tom White , mostram como pode ser realizado o encadeamento de tarefas Map e Reduce e a distribuição dos splits nos nós. - A...