Article image
Allan
Allan04/03/2023 15:58
Compartilhe

Um pouco sobre o Hadoop ūüźė

  • #Hadoop

A cada dia que passa a quantidade de dados cresce exponencialmente, aumentando a demanda por armazenamento e processamento desses dados, elevando muito os custos para as empresas.

Empresas vêem no Hadoop uma boa escolha para o tratamento analítico de grandes volumes de dados que crescem exponencialmente com o passar do tempo.

Ele proporciona elasticidade e distribuição de processamento e tem como vantagem ser gratuito, voltado para o processamento de grandes volumes de dados distribuídos, tolerante à falhas e altamente escalável.

O Hadoop √© mantido pela Apache Software Foundation,¬†organiza√ß√£o sem fins lucrativos¬†que abriga, desenvolve e mant√©m v√°rios projetos open-source.¬†Foi¬†desenvolvido¬†levando em considera√ß√£o¬†o MapReduce¬†(modelo de programa√ß√£o¬†inspirado¬†por¬†map e reduce,¬†duas fun√ß√Ķes¬†bastante usadas em programa√ß√£o funcional)¬†e no Google¬†File¬†System (sistema de arquivos¬†otimizado para dados¬†clusterizados¬†do Google).

Os principais módulos do ecosistema Hadoop são: Hadoop Distributed File System (HDFS), Hadoop MapReduce, Hadoop Common, Hadoop Yarn e Hadoop Ozone.

Hadoop Common é o grupo de bibliotecas e arquivos compartilhados entre todos os módulos Hadoop.

Hadoop Yarn fornece gerenciamento e agendamento de recursos de hardware.

Hadoop Ozone √© um novo m√≥dulo adicionado em 2020, foi criado para¬†adere√ßar as limita√ß√Ķes do HDFS no que se refere¬†√†¬†quantidade total de arquivos lidados e melhora o suporte¬†a¬†arquivos pequenos.

Hadoop¬†HDFS¬†√© o sistema de arquivos que armazena dados em clusters (m√°quinas ou n√≥s distribu√≠dos)¬†e¬†mant√©m¬†esses dados consistentes, √≠ntegros e¬†tolerantes¬†√† falhas.¬†Esse sistema trabalha¬†quebrando os arquivos em bloco de dados e esses blocos s√£o armazenados em um conjunto de Datanodes e replicados de acordo com o ‚Äúfator de replica√ß√£o‚ÄĚ configurado no Namenode para toler√Ęncia¬†√†¬†falhas. O tamanho dos blocos s√£o de 128 MB e o fator de replica√ß√£o √© 3 por default.¬†O¬†NameNode grava¬†e mapeia¬†as informa√ß√Ķes de envio de cada bloco e os armazena nos DataNodes,¬†controlando¬†assim¬†informa√ß√Ķes¬†de acesso, leituras, grava√ß√Ķes, cria√ß√Ķes e exclus√Ķes desses¬†blocos de dados.¬†Os Datanodes comunicam-se constantemente com o NameNode, processando e armazenando os¬†blocos de dados. Essa comunica√ß√£o √© importante para que, em caso de falha, o DataNode possa comunicar-se ao NameNode que executa um processo de recupera√ß√£o.

Hadoop MapReduce se baseia no modelo de programa√ß√£o¬†MapReduce, simples e poderoso para processamento¬†distribu√≠do¬†e paralelo¬†em larga¬†escala¬†atrav√©s das etapas¬†principais¬†Map(leitura¬†nos clusters¬†dos blocos de dados¬†produzindo como resultado pares de chave e valor),¬†Shuffle/Sort (os¬†resultados¬†da¬†fase Map s√£o ordenados atrav√©s das chaves) e¬†Reduce (agrupa todos os dados classificados e ordenados na fase anterior, consolidando e gravando o resultado em disco).¬†O c√≥digo MapReduce √© executado paralelamente em cada n√≥¬†do cluster que cont√©m alguma parte dos dados¬†requisitados, reduzindo assim o tr√°fego de dados na rede.¬†O MapReduce possui como vantagens ser altamente escal√°vel¬†(pode lidar com v√°rios terabytes),¬†ser¬†flex√≠vel (pode lidar¬†com dados de¬†v√°rios¬†tamanhos e¬†tipos, sejam eles¬†estruturados, semi-estruturados ou¬†n√£o estruturados),¬†ser¬†seguro (protege os dados de acessos n√£o autorizados e aumenta a seguran√ßa do cluster),¬†ser¬†econ√īmico (o cluster¬†pode ser¬†formado por v√°rios tipos de hardware, abrangindo desde componentes dom√©sticos at√© servidores corporativos), ser r√°pido (pode gerir terabytes de dados em poucos minutos devido ao paralelismo de seu processamento) e ser simples¬†na implementa√ß√£o¬†(pode ser escrito em v√°rias linguagens,¬†Java, Python, Perl, R, etc).

A minha resenha foi baseada nesse artigo:

https://medium.com/@markuvinicius/hello-hadoop-world-primeiros-passos-com-hadoop-e-mapreduce-9b368dd7eeb7

e na wikipédia:

https://pt.wikipedia.org/wiki/Hadoop

Compartilhe
Coment√°rios (0)