Database
 sql >> Base de Dados >  >> RDS >> Database

Uma introdução ao Hadoop e Big Data


Lidar com toneladas de dados requer algum arranjo especial. Técnicas computacionais comuns são insuficientes para lidar com uma enxurrada de dados; mais ainda, quando são provenientes de múltiplas fontes. Em Big Data, a magnitude de que estamos falando é enorme – medida em zettabytes, exabytes ou milhões de petabytes ou bilhões de terabytes. A estrutura chamada Hadoop é popularmente usado para lidar com alguns dos problemas com o gerenciamento de Big Data. Este artigo tenta dar uma ideia introdutória sobre o Hadoop à luz do Big Data.

Evolução


Nada acontece com um big bang. A origem e evolução do Hadoop é gradual e de acordo com a necessidade da hora em lidar com Big Data. Para dizer brevemente, ele deve sua origem ao projeto Apache Nutch de Doug Cutting no ano de 2003, especialmente no início da parte de código dele. A gênese foi desenvolvida a partir do Google File System (GFS), um artigo publicado em outubro de 2003, que influenciou outro artigo chamado MapReduce:Simplified Data Processing on Large Clusters. O código para HDFS no Hadoop é fatorado do projeto Apache Nutch em 2006 e é muito influenciado pelos algoritmos GFS e MapReduce. E o fato de que o nome “Hadoop” veio do brinquedo de elefante de pelúcia do filho de Cutting claramente ressoa a ideia de que há um elefante na sala que Hadoop claramente quer abordar ou lidar.

Em poucas palavras


Hoje, o Hadoop cresceu de seu início monolítico para ser uma biblioteca de software, uma estrutura para desenvolver aplicativos que exigem processamento distribuído de grandes quantidades de dados em clusters de computadores usando modelos de programação simples. Ele pode escalar de um único servidor para milhares de máquinas. A ideia é distribuir computação e armazenamento em vários computadores para alavancar o processamento de grandes conjuntos de dados. A biblioteca tem a capacidade de detectar falhas no nível da camada de aplicação para que o programador possa tratá-las e entregar o serviço em cima de um cluster de computadores, em vez de permear a falha para um ou mais níveis inferiores, onde se torna mais difícil gerenciar ou superar.

O Hadoop, portanto, é uma combinação de ferramentas e bibliotecas de código aberto suportadas pelo Apache para criar aplicativos para computação distribuída altamente confiáveis ​​e escaláveis.

Como funciona


Existem três maneiras pelas quais o Hadoop basicamente lida com Big Data:
  • O primeiro problema é o armazenamento. Os dados são armazenados em várias máquinas de computação em um ambiente distribuído onde podem ser processados ​​em paralelo para reduzir tempo e recursos. Os dados são mantidos em um ambiente chamado Hadoop Distributed File System (HDFS) , que é usado para armazenar dados em vários formatos em clusters de máquinas. Para isso, ele divide os dados em blocos e os armazena em diferentes nós de dados. Ele usa uma técnica chamada escala horizontal para adicionar nós de dados extras a clusters HDFS existentes de acordo com o requisito. Isso maximiza a utilização do recurso existente em vez de adicionar um sempre que surgir a necessidade de aumentar a escala.
  • A segunda questão é acomodar a variedade de dados. O HDFS está equipado para armazenar todos os tipos de dados, sejam eles estruturados, semiestruturados ou não estruturados. Não há validação de esquema de pré-dumping. Os dados, uma vez gravados, podem ser lidos várias vezes sem nenhum problema.
  • A terceira questão é o processamento e como acessar os dados armazenados. Nesse sentido, o algoritmo MapReduce vem em socorro, onde o processamento é distribuído entre os nós escravos para funcionar em paralelo e o resultado é enviado de volta ao nó mestre. O nó mestre mescla os resultados antes de fornecer o resultado final. Esta parte é tratada pelo YARN, que é projetado para processamento paralelo de dados armazenados em HDFS.

Existem muitas partes intrincadas, mas é isso que o Hadoop faz em poucas palavras. A ideia de módulos daria uma visão mais aprofundada.

Módulos


O Projeto Apache Hadoop consiste em seis módulos. Os quatro primeiros são os seguintes:
  • Comum Hadoop :consiste em utilitários comumente usados ​​pelo Hadoop e suporta outros módulos do Hadoop. Também é conhecido como Hadoop Core e é uma parte essencial do ecossistema, juntamente com HDFS, YARN e MapReduce. É nesta parte que o Hadoop presume que o hardware é propenso a falhas e todos os meios necessários são fornecidos para que um programador lide automaticamente com falhas no software.
  • Sistema de arquivos distribuídos do Hadoop (HDFS) :Um sistema de arquivos distribuído que pode acomodar uma variedade de arquivos em um ambiente distribuído. Ele divide os arquivos em blocos e os armazena em nós em uma arquitetura distribuída. Ele fornece dimensionamento horizontal em vez de dimensionamento vertical, para agrupamento adicional. É altamente tolerante a falhas e de baixo custo em termos de recursos de implantação de hardware.
  • FIO do Hadoop :Esta é a CPU da estrutura Hadoop. Com dois componentes principais, chamados NodeManager e ResourceManager , o YARN executa todas as atividades de processamento, como alocação de recursos, agendamento de tarefas e gerenciamento de cluster.
  • MapReduce do Hadoop :Este é um framework para fazer toda a computação paralela. MapReduce é um modelo de programação paralela para processar dados em um ambiente distribuído. É idealmente usado para escrever aplicativos distribuídos que podem processar com eficiência grandes quantidades de dados em clusters de hardware comum. Ele segmenta o processo em duas fases, chamadas Mapa e Reduzir , onde a tarefa do Mapeador é pegar a entrada, tokenizar, mapear e classificá-la. A saída então se torna a entrada para o Redutor class, que procura pares correspondentes e os reduz. Existem pares chave-valor para entrada e saída em cada fase, e o tipo do par é determinado pelo programador.

Dois novos subprojetos foram adicionados recentemente:
  • Ozônio Hadoop :é um armazenamento de objetos escalável, redundante e distribuído para o Hadoop. Além de ser dimensionado para bilhões de objetos de tamanhos variados, o Ozone pode funcionar de forma eficaz em ambientes conteinerizados, como Kubernetes e YARN. Ele é construído em uma camada de armazenamento em bloco altamente disponível e replicada chamada Hadoop Distributed Data Store (HDDS) . [Um trecho. Clique para saber mais.]
  • Submarino Hadoop :Um mecanismo de aprendizado de máquina para Hadoop. É um projeto que permite que um engenheiro de infraestrutura/cientista de dados execute aplicativos de aprendizado profundo (Tensorflow, Pytorch e assim por diante) em uma plataforma de gerenciamento de recursos (como YARN). [Um trecho. Clique para saber mais.]

Conclusão


O Hadoop teve um impacto significativo nas pesquisas, no processo de registro, no armazenamento de dados e na análise de Big Data de muitas organizações importantes, como Amazon, Facebook, Yahoo e assim por diante. É uma solução única para armazenar uma enorme quantidade de dados de qualquer tipo, acompanhada de poder de processamento escalável para aproveitar trabalhos simultâneos praticamente ilimitados. Em poucas palavras, a popularidade do Hadoop deve muito à sua capacidade de tolerância a falhas, escalável, econômica e rápida.