O que é Hadoop ?
Hadoop é uma plataforma de software de código aberto para o armazenamento e processamento distribuído de grandes conjuntos de dados, utilizando clusters de computadores com hardware commodity. Os serviços do Hadoop fornecem armazenamento , processamento, acesso, governança, segurança e operações de Dados.
O Hadoop é uma tecnologia especializada em atender as demandas de Big Data, pois permite o armazenamento, processamento e análise de grandes volumes de dados de forma distribuída e eficiente. Ele usa uma arquitetura de clusters que divide e replica dados em vários nós, garantindo alta disponibilidade e velocidade no processamento de tarefas complexas. Com módulos como o HDFS (Hadoop Distributed File System) e o MapReduce, o Hadoop se tornou uma solução popular para empresas que precisam lidar com dados em grande escala, oferecendo escalabilidade e custo-benefício para projetos de análise e processamento de dados massivos.
Uma plataforma capaz de armazenar e processar, em larga escala, grandes conjuntos de dados – Big Data, que funciona em clusters de hardware de baixo custo, tolerante a falhas.
HISTÓRIA – APACHE HADOOP
A gênese do Hadoop veio do papel Google File System, que foi publicado em Outubro de 2003. Este trabalho deu origem a outro trabalho de pesquisa do Google – MapReduce: simplificado Processamento de Dados em grandes aglomerados.
Desenvolvimento começou no projeto Apache Nutch, mas foi transferido para o novo subprojeto Hadoop em janeiro de 2006. O primeiro committer adicionado ao projeto Hadoop foi Owen O’Malley em março de 2006. Hadoop 0.1.0 foi lançado em abril de 2006 e continua a ser evoluiu por muitos contribuintes para o projeto Apache Hadoop.
Hadoop foi nomeado após um de elefante de brinquedo do fundador, link video Hadoop Name – https://www.youtube.com/watch?v=irK7xHUmkUA
Em 2011, Rob Bearden firmou parceria com a Yahoo! para fundar a Hortonworks com 24 engenheiros da equipe original Hadoop, dentre eles os fundadores Alan Gates, Arun Murthy, Devaraj Das, Mahadev Konar, Owen O’Malley, Sanjay Radia e Suresh Srinivas.
Link Projeto Apache – http://hadoop.apache.org
BENEFÍCIOS DO APACHE HADOOP
Algumas das razões para se usar Hadoop é a sua “capacidade de armazenar, gerenciar e analisar grandes quantidades de dados estruturados e não estruturados de forma rápida, confiável, flexível e de baixo custo.
- Escalabilidade e desempenho – distribuídos tratamento de dados local para cada nó em um cluster Hadoop permite armazenar, gerenciar, processar e analisar dados em escala petabyte.
- Confiabilidade – clusters de computação de grande porte são propensos a falhas de nós individuais no cluster. Hadoop é fundamentalmente resistente – quando um nó falha de processamento é redirecionado para os nós restantes no cluster e os dados são automaticamente re-replicado em preparação para falhas de nó futuras.
- Flexibilidade – ao contrário de sistemas de gerenciamento de banco de dados relacionais tradicionais, você não tem que esquemas estruturados criados antes de armazenar dados. Você pode armazenar dados em qualquer formato, incluindo formatos semi-estruturados ou não estruturados, e em seguida, analisar e aplicar esquema para os dados quando ler.
- Baixo custo – ao contrário de software proprietário, o Hadoop é open source e é executado em hardware commodity de baixo custo.
Apache Hadoop – Benefícios
Algumas das razões para se usar Hadoop é a sua “capacidade de armazenar, gerenciar e analisar grandes quantidades de dados estruturados e não-estruturados de forma rápida, confiável, flexível e de baixo custo.
- Custo Baixo;
- Escalável;
- Flexível;
- Open-Source;
- Tolerante a falhas.
1. Escalabilidade e Desempenho
Tratamento de dados local para cada nó em um cluster Hadoop permite armazenar, gerenciar, processar e analisar dados em escala petabyte.
2. Confiabilidade
Clusters de computação de grande porte são propensos a falhas de nós individuais no cluster. Hadoop é fundamentalmente resistente – quando um nó falha de processamento é redirecionado para os nós restantes no cluster e os dados são automaticamente re-replicado em preparação para falhas de nó futuras.
3. Flexibilidade
Ao contrário de sistemas de gerenciamento de banco de dados relacionais tradicionais, você não tem que esquemas estruturados criados antes de armazenar dados. Você pode armazenar dados em qualquer formato, incluindo formatos semiestruturados ou não estruturados, e em seguida, analisar e aplicar esquema para os dados quando ler.
4. Baixo custo
Ao contrário de software proprietário, o Hadoop é open source e é executado em hardware commodity de baixo custo.
Clusters
Clusters é o nome dado ao conjunto de computadores que trabalham de forma sincronizada para funcionar como um único computador. São diversas máquinas que se comportam como uma única máquina. O cluster é útil para aumentar a capacidade no processamento e armazenamento de grande conjunto de dados (Big Data)
Clusters, por quê?
Uma única máquina/servidor não consegue processar todo esse grande volume de dados (Big Data). O volume de dados é imenso e exige mais de uma única máquina para processar. Por isso, criou-se o cluster, uma forma de gerenciar diversas máquinas que funcionam como uma única máquina.
Exemplo: Yahoo possui uma infraestrutura de Big Data com 4 mil máquinas para armazenar e processar o grande conjunto de dados (big Data).
Apache Hadoop – Estrutura básica
O Hadoop possui dois componentes básicos: Hadoop HDFS e Hadoop MapReduce.
- HDFS – Hadoop File System
Armazenamento Distribuído (Cluster, conjunto de computadores)
- MAP REDUCE
Computação Distribuída (Cluster, conjunto de computadores)
HDFS – Hadoop File System
Hadoop Distributed File System (HDFS), é responsável por gerenciar o disco das máquinas que compõem o Cluster. HDFS também serve para leitura e gravação dos dados.
HDFS – Características
- Tolerância a falhas e recuperação automática;
- Portabilidade entre hardware e sistemas iguais;
- Escalabilidade para armazenar grande volume de dados;
- Confiabilidade, através de diversas cópias de dados.
MAPREDUCE
Ao contrário do HDFS, que gerencia o armazenamento, o MapReduce, é responsável por gerenciar o processamento dos dados em um ambiente Cluster (conjunto de máquinas)
MAPREDUCE – Cacterísticas
- Flexibilidade – processa todos os dados independente do tipo e formato;
- Confiabilidade – permite que os Jobs sejam executados em paralelo;
- Acessibilidade – suporte a diversas linguagens de programação.
Apache Hadoop – Ecossistema
Mais acima, ainda neste artigo, compreendemos que o Hadoop é composto, inicialmente, pelo HDFS e o MapReduce. No entanto, as duas ferramentas não são suficientes para se trabalhar com Big Data. Por isso, faz-se necessário outras ferramentas para suprir diferentes necessidades de negócios, aplicações e arquitetura de dados, ampliando o Hadoop com mais “aplicações”.
ZooKeeper
ZooKeeper é um serviço de coordenação distribuída para gerenciar grandes conjuntos de Clusters.
Oozie
Apache Oozie é um sistema de agendamento de WorkFlow, usado para gerenciar principalmente os Jobs de MapReduce.
Pig
Apache Pig, é uma linguagem de procedimentos de alto nível para consultar grandes conjuntos de dados semiestruturados usando Hadoop e a Plataforma MapReduce
Sqoop
Apache Sqoop, é um projeto do ecossistema Hadoop, cuja responsabilidade é importar e exportar dados do banco de dados de dados relacionais.
Spark
Apache Spark, é uma ferramenta Big Data para o processamento de grandes conjuntos de dados. Foi desenvolvido para substituir o MapReduce, pois processa 100x mais rápido que o MapReduce.
HBase
Apache Hbase, é um banco de Dados não relacionais, projetado para trabalhar com grande conjunto de dados (Big Data). É o banco de dados oficial do hadoop.
Flume
Apache Flume, é um serviço que permite enviar dados diretamente para o HDFS. É um serviço que funciona em ambiente dstribuido (em cluster) para coletar, agregar e mover grandes quantidades de dados de forma eficiente.
Mahout
Apache Mahout, é dedicado a Machine Learning – Data Science. Ele permite a utilização dos principais algoritmos de clustering, testes de regressão e modelagem estatística.
Kafka
Apache Kafka, é foi desenvolvido pelo Linkedin e liberado como projeto Open-source em 2011. O Apache Kafka é um sistema para gerenciamento de fluxo de dados em tempo real, gerados a partir de websites, aplicações e sensores.
Ambari
Apache Ambari tem como objetivo tornar o gerenciamento do Hadoop mais simples. O Ambari fornece uma interface de usuário da Web de gerenciamento do Hadoop intuitiva e fácil de usar.
CAPACIDADE DO HADOOP
ARMAZENAMENTO DE DADOS
O Hadoop Distributed File System (HDFS) fornece armazenamento escalável e tolerante a falhas, o custo-eficiente para o seu lago de dados grande. Ele foi projetado para abranger grandes clusters de servidores de commodities escalar até centenas de petabytes e milhares de servidores. Ao distribuir o armazenamento através de muitos servidores, o recurso de armazenamento combinada pode crescer linearmente com a demanda permanecendo econômica em cada quantidade de armazenamento.
PROCESSAMENTO DE DADOS
MapReduce é o quadro original para escrever aplicações massivamente paralelas que processam grandes quantidades de dados estruturados e não estruturados armazenados no HDFS. MapReduce pode tirar vantagem da localidade de dados, processá-lo perto do lugar ele é armazenado em cada nó no cluster, a fim de reduzir a distância que deve ser transmitido.
Mais recentemente, Apache Hadoop Yarn aberto Hadoop para outros motores de processamento de dados, que agora podem ser executados trabalhos de MapReduce ao lado existentes para processar dados de muitas maneiras diferentes ao mesmo tempo, tais como Apache Spark. Yarn fornece a gestão de recursos centralizado que permite processar várias cargas de trabalho simultaneamente. Yarn é a base da nova geração de Hadoop e está permitindo que as organizações em todos os lugares para realizar uma arquitetura de dados moderno.
Apache Tez é uma estrutura extensível para a construção de alta lote desempenho e aplicações de processamento de dados interativos, coordenado pela Yarn no Apache Hadoop. Tez melhora o paradigma MapReduce, melhorando drasticamente a sua velocidade, mantendo ao mesmo tempo a capacidade do MapReduce para escalar para petabytes de dados.
ACESSO E ANÁLISE DE DADOS
Os aplicativos podem interagir com os dados no Hadoop usando lote ou SQL interativa (Apache Hive) ou o acesso de baixa latência com NoSQL ( HBase). Hive permite que os usuários de negócios e analistas de dados para usar suas análises de negócios preferenciais, relatórios e ferramentas de visualização com Hadoop. Os dados armazenados no HDFS em Hadoop pode ser pesquisado usando Apache Solr .
GOVERNANÇA DE DADOS E SEGURANÇA
Apache Hadoop – Soluções Comerciais
AMAZON ELASTIC MAPREDUCE – EMR
AWS Elastic MapReduce é uma distribuição Hadoop da Amazon, uma plataforma de análise de dados bem organizada e construída sobre a arquitetura HDFS.
HORTONWORKS
HortonWorks Data Plataform (HDP_ é uma suíte de funcionalidades essenciais para implementação do Hadoop, que pode ser usado para qualquer plataforma de Dados.
CLOUDERA
Cloudera, fundada por um grupo de engenheiros do Yahoo, Google e Facebook, está focada em fornecer soluções empresariais do Hadoop.
MAPR
A MapR permite utilização de aplicações baseadas em Hadoop e Spark, para at ender às necessidades críticas de negócio, que operam 24/7.
PIVOTAL
Pivotal HD, é uma distribuição comercial do Hadoop. Ele consiste em um conjunto de ferramentas que vsam acelerar projetos de análise de dados e expandir as funcionalidades do Hadoop
MICROSOFT – AZURE
Azure HD Insight é uma distribuição Apache Hadoop distribuída em Cloud. O Azure lida com quantidade de dados, de terabytes até petabytes, e permite a inclusão de nodes sob demanda.
Deixar um comentário Cancelar resposta