O que é o Hadoop?
O Apache Hadoop é uma framework de código aberto usada para armazenar e processar com eficiência grandes conjuntos de dados com tamanho entre gigabytes e petabytes de dados. Em vez de usar um computador de grande porte para armazenar e processar os dados, o Hadoop permite o agrupamento de vários computadores em clusters para analisar em paralelo conjuntos de dados massivos.
Quais são os quatro módulos principais do Hadoop?
O Hadoop consiste em quatro módulos principais:
- Sistema de Arquivos Distribuído do Hadoop (HDFS): um sistema de arquivos distribuído que funciona em hardware padrão ou de baixo custo. O HDFS oferece melhor throughput de dados do que os sistemas de arquivos tradicionais, além de alta tolerância a falhas e suporte nativo a conjuntos de dados grandes.
- Yet Another Resource Negotiator (YARN): gerencia e monitora nós do cluster e o uso de recursos. Agenda trabalhos e tarefas.
- MapReduce: uma framework que ajuda os programas a fazer a computação paralela em dados. A tarefa de mapa usa os dados de entrada e os converte em um conjunto de dados que pode ser calculado em pares de chaves/valores. A saída da tarefa de mapa é consumida por tarefas de redução para agregar a saída e fornecer o resultado desejado.
- Hadoop common: fornece bibliotecas Java comuns que podem ser usadas em todos os módulos.
Como o Hadoop funciona?
O Hadoop facilita o uso de toda a capacidade de armazenamento e processamento em servidores de cluster e a execução de processos distribuídos em grandes quantidades de dados. O Hadoop fornece os elementos básicos sobre os quais outros serviços e aplicações podem ser criados.
Aplicações que coletam dados em vários formatos podem inserir dados no cluster do Hadoop usando uma operação de API para se conectar a NameNode. NameNode rastreia a estrutura de diretórios de arquivos e o posicionamento dos “blocos” de cada arquivo, replicados em DataNodes. Para executar um trabalho para consultar dados, forneça um trabalho MapReduce composto por vários mapas e reduza as tarefas que são executadas com base nos dados do HDFS espalhados pelos DataNodes. Mapeie as tarefas executadas em cada nó com base nos arquivos de entrada fornecidos, e os redutores são executados para agregar e organizar a saída final.
Como o ecossistema Hadoop evoluiu?
O ecossistema Hadoop cresceu significativamente ao longo dos anos devido à sua extensibilidade. Hoje, o ecossistema Hadoop inclui muitas ferramentas e aplicações para ajudar a coletar, armazenar, processar, analisar e gerenciar big data. Algumas das aplicações mais populares são:
- Spark: um sistema de processamento distribuído de código aberto usado normalmente para workloads de big data. O Apache Spark utiliza o armazenamento em cache na memória e a execução otimizada para obter alta performance, além de oferecer suporte ao processamento geral em lotes, análises de streaming, machine learning, bancos de dados de grafos e consultas assistemáticas.
- Presto: um mecanismo de consulta SQL distribuído de código aberto otimizado para baixa latência e análise de dados assistemática. Ele aceita o padrão ANSI SQL, que inclui consultas complexas, agregações, junções e funções de janela. O Presto pode processar dados de várias fontes, como o Hadoop Distributed File System (HDFS) e o Amazon S3.
- Hive: permite que os usuários utilizem o Hadoop MapReduce usando uma interface SQL, permitindo análises em grande escala, além de armazenamento de dados distribuído e tolerante a falhas.
- HBase: um banco de dados de código aberto, não relacional e versionado que é executado no Amazon S3 (usando o EMRFS) ou no Sistema de Arquivos Distribuído do Hadoop (HDFS). O HBase é um armazenamento de big data distribuído e altamente escalável, criado para acesso aleatório, estritamente consistente e em tempo real a tabelas com bilhões de linhas e milhões de colunas.
- Zeppelin: um bloco de anotações interativo que permite a exploração interativa de dados.
Como a AWS pode oferecer suporte aos seus requisitos do Hadoop?
O Amazon EMR é um serviço gerenciado que permite processar e analisar conjuntos de dados grandes usando as versões mais recentes de frameworks de processamento de big data, como Apache Hadoop, Spark, HBase e Presto, em clusters totalmente personalizáveis.
- Fácil de usar: você pode executar um cluster do Amazon EMR em poucos minutos. Você não precisa se preocupar com o provisionamento de nós, configuração de cluster, configuração do Hadoop ou ajustar o cluster.
- Baixo custo: os preços do Amazon EMR são simples e previsíveis: você paga uma taxa horária por cada hora de instância usada e pode aproveitar as instâncias spot para economizar mais.
- Elastic: com o Amazon EMR, você pode provisionar uma, centenas ou até mesmo milhares de instâncias de computação para processar dados em qualquer escala.
- Transitório: você pode usar o EMRFS para executar clusters sob demanda com base em dados do HDFS armazenados de forma persistente no Amazon S3. Quando os trabalhos terminarem, é possível encerrar um cluster e salvar os dados no Amazon S3. Você paga somente pelo tempo de computação em que o cluster está sendo executado.
- Seguro: o Amazon EMR usa todas as características de segurança comuns dos serviços da AWS:
- Perfis e políticas do Identity and Access Management (IAM) para gerenciar permissões.
- Criptografia em trânsito e em repouso para ajudar você a proteger seus dados e atender a normas de conformidade, como o HIPAA.
- Grupos de segurança para controlar o tráfego de rede de entrada e saída para os nós do cluster.
- AWS CloudTrail: audite todas as chamadas de PI do Amazon EMR feitas na sua conta para fornecer análises de segurança, rastreamento de alterações de recursos e auditoria de conformidade.
Comece a usar o Hadoop na AWS criando uma conta hoje mesmo.
Próximas etapas na AWS
Obtenha acesso instantâneo ao nível gratuito da AWS.