Uma estrutura de código aberto com HDFS para armazenamento distribuído e MapReduce para processamento paralelo de conjuntos de dados massivos em clusters de hardware comuns.
O Apache Hadoop é uma plataforma de software de código aberto baseada em Java que gerencia o processamento e o armazenamento de dados para aplicações de big data. A plataforma funciona distribuindo jobs de big data e análise do Hadoop entre nós em um cluster de compute, dividindo-os em workloads menores que podem ser executados em paralelo. Alguns dos principais benefícios do Hadoop são escalabilidade, resiliência e flexibilidade. O Hadoop Distributed File System (HDFS) oferece confiabilidade e resiliência ao replicar qualquer nó do cluster para os outros nós do cluster, protegendo contra falhas de hardware ou software. A flexibilidade do Hadoop permite armazenar qualquer formato de dados, incluindo dados estruturados e não estruturados.
No entanto, as arquiteturas Hadoop apresentam uma série de desafios, principalmente com o passar do tempo. O Hadoop pode ser excessivamente complexo e exigir recursos e expertise significativos para configuração, manutenção e atualizações. Também é demorado e ineficiente devido às leituras e gravações frequentes usadas para realizar cálculos. A viabilidade de longo prazo do Hadoop continua a se degradar à medida que os principais provedores Hadoop começam a se afastar da plataforma, e também porque a necessidade acelerada de digitalizar incentivou muitas empresas a reavaliarem seu relacionamento com o Hadoop. A melhor solução para modernizar sua plataforma de dados é migrar do Hadoop para a Plataforma Databricks Lakehouse. Leia mais sobre os desafios com o Hadoop e a mudança para plataformas de dados modernas em nossa publicação no blog.
No framework Hadoop, o código é escrito principalmente em Java, mas parte do código nativo é baseada em C. Além disso, os utilitários de linha de comando são normalmente escritos como scripts de shell. Para o Hadoop MapReduce, o Java é usado com mais frequência, mas por meio de um módulo como o Hadoop streaming, os usuários podem usar a linguagem de programação de sua escolha para implementar o mapa e reduzir as funções.
O Hadoop não é uma solução para armazenamento de dados ou bancos de dados relacionais. Seu objetivo como framework de código aberto é processar grandes quantidades de dados simultaneamente em tempo real.
Os dados são armazenados no HDFS, mas são considerados não estruturados e não se qualificam como um banco de dados relacional. Na verdade, com o Hadoop, os dados podem ser armazenados em uma forma não estruturada, semiestruturada ou estruturada. Isso permite maior flexibilidade para as empresas processarem big data de maneiras que atendam às suas necessidades de negócios e muito mais.
Tecnicamente, o Hadoop não é um tipo de base de dados, como SQL ou RDBMS. Em vez disso, o framework Hadoop oferece aos usuários uma solução de processamento para uma grande variedade de tipos de base de dados.
O Hadoop é um ecossistema de software que permite às empresas lidar com grandes quantidades de dados em pouco tempo. Isso é feito facilitando o uso do processamento paralelo de computadores em grande escala. Várias bases de dados, como o Apache HBase, podem ser dispersas entre clusters de nós de dados contidos em centenas ou milhares de servidores comuns.
O Apache Hadoop nasceu da necessidade de processar volumes cada vez maiores de big data e fornecer resultados online mais rapidamente à medida que mecanismos de pesquisa como Yahoo e Google se tornavam cada vez mais populares.
Inspirado no MapReduce do Google, um modelo de programação que divide um aplicativo em pequenas frações para serem executadas em diferentes nós, Doug Cutting e Mike Cafarella iniciaram o Hadoop em 2002 enquanto trabalhavam no projeto Apache Nutch. De acordo com um artigo do New York Times, o nome Hadoop é uma homenagem ao elefante de brinquedo do filho de Doug.
Alguns anos depois, o Hadoop separou-se do Nutch. O Nutch concentrou-se no elemento rastreador da web, e o Hadoop tornou-se a parte de processamento e computação distribuída. Dois anos depois de Cutting ingressar no Yahoo, o Hadoop foi lançado como um projeto de código aberto em 2008. A Apache Software Foundation (ASF) disponibilizou o Hadoop ao público em novembro de 2012 como Apache Hadoop.
O Hadoop foi um grande desenvolvimento na área de big data. Na verdade, ele é considerado a base do data lake moderno em nuvem. O Hadoop democratizou o poder computacional e possibilitou que as empresas analisassem e consultassem grandes conjuntos de dados de forma escalável usando software livre e de código aberto e hardware barato e pronto para uso.
Esse foi um desenvolvimento significativo porque ofereceu uma alternativa viável às soluções proprietárias de data warehouse (DW) e formatos de dados fechados que, até então, dominavam o mercado.
Com a introdução do Hadoop, as organizações rapidamente tiveram acesso à capacidade de armazenar e processar grandes quantidades de dados, maior poder computacional, tolerância a falhas, flexibilidade no gerenciamento de dados, custos mais baixos em comparação com data warehouses e maior escalabilidade. Por consequência, o Hadoop abriu caminho para desenvolvimentos futuros em análise de big data, como a introdução do Apache Spark.
Os possíveis casos de uso do Hadoop são quase infinitos.
As grandes organizações têm mais dados de clientes disponíveis do que nunca. Mas, muitas vezes, é difícil fazer conexões entre grandes quantidades de dados aparentemente sem relação. Quando a varejista britânica M&S implantou o Cloudera Enterprise com tecnologia Hadoop, ficaram bem impressionados com os resultados.
A Cloudera usa suporte e serviços baseados no Hadoop para gerenciar e processar dados. Pouco depois de implementar a plataforma baseada na nuvem, a M&S descobriu que era capaz de aproveitar com sucesso seus dados para uma análise preditiva muito melhor.
Isso os levou a um uso mais eficiente do warehouse e evitou rupturas de estoque durante picos "inesperados" de demanda, ganhando uma enorme vantagem sobre a concorrência.
O Hadoop talvez seja mais adequado do que qualquer outro para o setor financeiro. No início, o framework de software foi rapidamente fixado para uso primário no manuseio dos algoritmos avançados envolvidos com a modelagem de risco. É exatamente o tipo de gerenciamento de risco que poderia ajudar a evitar o desastre do swap de crédito que levou à recessão de 2008.
Os bancos também perceberam que essa mesma lógica se aplica ao gerenciamento de riscos para portfólios de clientes. Atualmente, é comum que as instituições financeiras implementem o Hadoop para gerenciar melhor a segurança financeira e o desempenho dos ativos de seus clientes. O JPMorgan Chase é apenas um dos muitos gigantes do setor que usam o Hadoop para gerenciar quantidades exponencialmente crescentes de dados de clientes de todo o mundo.
Seja nacionalizado ou privatizado, prestadores de serviços de saúde de qualquer porte lidam com grandes volumes de dados e informações de clientes. Os frameworks Hadoop permitem que médicos, enfermeiros e cuidadores tenham acesso fácil às informações de que precisam no tempo certo e também facilitam a agregação de dados que fornecem insights acionáveis. Isso pode se aplicar a questões de saúde pública, diagnósticos melhores, tratamentos aprimorados e muito mais.
Instituições acadêmicas e de pesquisa também podem aproveitar um framework Hadoop para impulsionar seus esforços. Tomemos, por exemplo, o campo das doenças genéticas, que inclui o câncer. Temos o genoma humano mapeado e há quase três bilhões de pares de base no total. Em teoria, tudo para curar uma enormidade de doenças agora está ao nosso alcance.
Porém, para identificar relacionamentos complexos, sistemas como o Hadoop serão necessários para processar uma quantidade tão grande de informações.
O Hadoop também pode ajudar a melhorar a eficácia da segurança local e nacional. Quando se trata de resolver crimes relacionados espalhados por várias regiões, um framework Hadoop pode simplificar o processo de aplicação da lei conectando dois eventos aparentemente isolados. Ao reduzir o tempo para fazer conexões de casos, as agências poderão emitir alertas para outros órgãos e para o público o mais rápido possível.
Em 2013, a Agência de Segurança Nacional (NSA) concluiu que o software Hadoop de código aberto era superior às alternativas caras que eles estavam implementando. Eles agora usam o framework para ajudar na detecção de terrorismo, crimes cibernéticos e outras ameaças.
O Hadoop é um framework que permite a distribuição de conjuntos de dados gigantes em um cluster de hardware comum. O processamento Hadoop é realizado em paralelo em vários servidores simultaneamente.
Os clientes enviam dados e programas para o Hadoop. Em termos simples, o HDFS (um componente central do Hadoop) lida com os metadados e o sistema de arquivos distribuídos. Em seguida, o Hadoop MapReduce processa e converte os dados de entrada/saída. Por último, o YARN divide as tarefas no cluster.
Com o Hadoop, os clientes podem esperar um uso muito mais eficiente dos recursos de commodities com alta disponibilidade e um ponto de detecção integrado de falhas. Além disso, os clientes podem esperar tempos de resposta rápidos ao realizar consultas com sistemas de negócios conectados.
No geral, o Hadoop fornece uma solução relativamente fácil para organizações que buscam aproveitar ao máximo o big data.
O framework do Hadoop é construído principalmente em Java. Outras linguagens de programação incluem alguns códigos nativos em C e scripts de shell para linhas de comando. No entanto, os programas Hadoop podem ser escritos em muitas outras linguagens, incluindo Python ou C++. Isso permite que os programadores tenham flexibilidade para trabalhar com as ferramentas com as quais estão mais familiarizados.
Conforme mencionamos, o Hadoop cria uma solução fácil para organizações que precisam gerenciar big data. Mas isso não significa que seja sempre simples de usar. Como podemos aprender com os casos de uso acima, a forma como você opta por implementar o framework Hadoop é bastante flexível.
Como seus analistas de negócios, data scientists e desenvolvedores decidem usar o Hadoop dependerá da sua organização e de seus objetivos.
O Hadoop não é para todas as empresas, mas a maioria das organizações deve reavaliar seu relacionamento com o Hadoop. Se sua empresa lida com grandes quantidades de dados como parte de seus processos centrais, o Hadoop fornece uma solução flexível, escalável e acessível para atender às suas necessidades. A partir daí, depende principalmente da imaginação e das habilidades técnicas de você e de sua equipe.
Veja alguns exemplos de como consultar o Hadoop:
O Apache Hive foi a solução inicial para consultas SQL com o Hadoop. Esse módulo emula o comportamento, a sintaxe e a interface do MySQL para simplificar a programação. É uma ótima opção se você já usa muito as aplicações Java, pois vem com uma API Java integrada e drivers JDBC. O Hive oferece uma solução rápida e direta para desenvolvedores, mas também é bastante limitada, pois o software é bem lento e apresenta recursos somente leitura.
Essa oferta da IBM é um mecanismo SQL de processamento paralelo massivo (MPP) de alto desempenho para o Hadoop. Sua solução de consulta atende às empresas que precisam de facilidade em um ambiente estável e seguro. Além de acessar dados HDFS, ele também pode extrair de RDBMS, bancos de dados NoSQL, WebHDFS e outras fontes de dados.