10 Emerging Technologies Hadoop para manter seu no olho
Com Hadoop bater tradicional de TI com uma vingança, projetos de código aberto relacionadas com Hadoop estão surgindo em toda parte. Aqui estão os dez mais interessantes projetos Hadoop emergente para que você mantenha seu olho. Alguns deles bem poderia estagnar e morrer silenciosamente se um substituto superiores eram para vir junto, mas a maioria destes espécimes evolutivas provavelmente se tornará componentes padrão na maioria das distribuições Hadoop.
Esta lista enfoca os projetos da comunidade Apache porque este ecossistema tem sido aquela em que a maioria dos projetos Hadoop tradicionais existentes são desenvolvidas e mantidas. Além disso, projetos Apache têm critérios de governança sólidas que promovam um processo de desenvolvimento aberto, onde as contribuições de seus membros são julgados em seu mérito técnico, em vez de uma agenda corporativa.
Accumulo
Apache Accumulo é um projeto de armazenamento de dados para Hadoop, originalmente desenvolvido pela Agência de Segurança Nacional (NSA) do governo dos Estados Unidos. Accumulo é uma implementação BigTable para Hadoop. Especificamente, Accumulo é um mapa classificadas multidimensional, onde cada linha tem uma chave única, as linhas são armazenadas na ordem de classificação com base nesta chave, e cada linha pode ter várias versões (em outras palavras, dimensões).
Houve muito interesse na NSA em usar HBase como armazenamento de dados em grande escala, mas não atender aos requisitos de segurança interna da NSA. engenheiros NSA, então, construiu Accumulo como a sua própria implementação BigTable e mais tarde contribuiu para a comunidade Apache. O projeto Accumulo desde então tem crescido uma comunidade de desenvolvimento ativa, com colaboradores de várias organizações diferentes - não apenas tipos NSA, em outras palavras. Accumulo, agora apoiado por uma série de grandes fornecedores Hadoop, está vendo uma taxa crescente adoção.
A principal característica que distingue Accumulo de outras implementações BigTable é A segurança baseada em células, o que garante que somente usuários autorizados possam ver os dados armazenados em quaisquer linhas consultados. Isto é implementado por meio de etiquetas de segurança, que são armazenados com cada linha.
Broca
Uma série de tecnologias emergentes e concorrentes estão lá fora tentando resolver o problema SQL-on-Hadoop. Embora a maioria dessas tecnologias são soluções da empresa única, alguns deles são dirigida a comunidade, com Hive o exemplo mais proeminente. Apache broca é inspirado no papel Google Dremel, que apresenta um projeto para um sistema interativo que pode consultar dados armazenados em um sistema de arquivos distribuídos como HDFS e não tem que confiar em MapReduce. O objetivo do projeto de broca é para ser capaz de dimensionar para milhares de servidores e fornecer tempos de resposta subminute para consultas operacionais em relação aos dados de escala petabyte.
Na Primavera de 2014, Broca ainda é um projeto da incubadora Apache, o que significa que ainda não foi aceito como um projeto de pleno direito Apache e ainda está a estabelecer uma base de código estável e governança do projeto. Mas tem um grande potencial, por isso não se surpreenda se ele faz o seu caminho para fora da incubadora em breve.
Falcão
Com o aumento da integração do Hadoop em ambientes de armazenamento de dados, a indústria está vendo uma necessidade significativa de capacidades de integração de dados e governança em Hadoop. As abordagens atuais para a integração de dados e cumprimento dos critérios de governança envolvem essas duas escolhas:
Compre tais ferramentas de fornecedores estabelecidos, como IBM e Informatica.
Faça grandes bibliotecas de código personalizado.
Isto é o que o projeto Apache Falcon é com o objetivo de abordar com um conjunto de serviços de gerenciamento de dados construídas especificamente para Hadoop. Como Broca, Falcon é um projeto de incubadora Apache.
Os serviços de gerenciamento de dados em Falcon estão voltados para o gerenciamento de movimentação de dados e transformação de dados. Se você não estiver familiarizado com o gerenciamento de dados entre bancos de dados transacionais e bases de dados de armazém, esse processo de movimentação de dados e transformação é comumente conhecido como Extract, Transform, and Load (ETL). Como parte do quadro para o tratamento processos de ETL, Falcon inclui a capacidade para armazenar metadados para os dados como ele é passado através dos vários estágios ETL. Falcon pode então prestar serviços para o gerenciamento de ciclo de vida de dados (por exemplo, a execução de políticas de retenção), replicação de dados e rastreamento de linhagem de dados.
Giraph
Hadoop é bastante bom em armazenar e processar dados em tabelas tradicionais (colmeia) e no mais recente, estilo BigTable (HBase e Accumulo), mas em muitos casos, as estruturas de armazenamento de dados alternativos são mais adequados para a tarefa em mãos. dados Graph parece muito diferente a partir de dados de tabela: Não tem linhas ou colunas. Não é simplesmente um gráfico, em que os nós individuais (também conhecido como vértices) Estão ligados entre si por arestas.
Pense nisso: Uma enormes desafios técnicos que o Google enfrenta é descobrir a melhor forma de calcular o ranking de resultados de pesquisa. Um fator neste é determinar como populares páginas da web individuais são, com base em quantas ligações de entrada são originários de outras páginas da web. De longe a forma mais prática de calcular isso para todas as páginas é representar o todo World Wide Web como um gráfico, onde as páginas são os nós e as ligações são os vértices. Para capturar o seu trabalho de dados de gráficos, o Google publicou um artigo sobre sua base de dados do gráfico, que é nomeado Pregel.
Apache Giraph, um mecanismo de processamento gráfico que se baseia no papel Pregel e foi construído especificamente para Hadoop, pode ler e gravar dados a partir de um número de fontes Hadoop padrão, incluindo Hive, HBase, e Accumulo.
A comunidade Giraph é bastante grande e diversificada, com committers de código a partir de um número de organizações, incluindo Facebook, Twitter e LinkedIn. Giraph está firmemente estabelecida como o motor principal de processamento gráfico para Hadoop, em termos de maturidade código, desempenho e aprovação. vendedores grande Hadoop estão agora apoiando Giraph e provavelmente vai incluí-lo. (O projeto Apache BigTop já faz.)
Knox gateway
Como um sistema distribuído com centenas ou milhares de computadores individuais, clusters Hadoop são o pesadelo de um administrador de segurança. Para piorar a situação, os nós de computação em um cluster Hadoop, todos têm vários serviços que falam um com o outro e, em alguns casos, exigem conectividade direta com os aplicativos cliente. Somar todos esses fatores e você tem uma área de superfície maciça de computadores com as portas abertas que você precisa proteger. Para resolver este problema, Hortonworks iniciou o projeto Apache Knox Gateway, que ainda está em seus primeiros dias como um projeto de incubadora Apache.
O objetivo principal Knox Gateway é para garantir a segurança de perímetro para clusters Hadoop. Ele faz isso fornecendo um ponto central para autenticação de cluster à beira de um cluster Hadoop. Fora do próprio cluster, Knox gateway lida com todas as solicitações de entrada de cliente para um cluster que está guardando e em seguida, encaminha solicitações válidas para o serviço apropriado no cluster Hadoop. Neste sentido, Knox Gateway é, literalmente, um gateway seguro para todas as comunicações entre o cluster Hadoop eo mundo exterior. Knox Gateway permite que os administradores de rede para isolar o cluster Hadoop do mundo exterior, porque, enquanto os servidores Knox Gateway estão ativos, os clientes têm uma conexão segura com os seus serviços Hadoop.
Samza
Um aspecto interessante do fio é a possibilidade de executar diferentes tipos de cargas de trabalho em um cluster Hadoop. Com MapReduce, você está restrito a processamento em lote, mas com novas tecnologias, como faísca e Tez (que falamos abaixo) e da broca acima mencionada, Hadoop será capaz de oferecer suporte a consultas interativas também. Outra classe de carga de trabalho é streaming de dados, que é o que o projeto Apache Samza é com o objetivo de resolver. (Transmissão de dados trabalha para lidar com dados em tempo real, em vez de depender do stop-and-go aspecto do processamento em lote.)
O projeto Samza foi iniciado por engenheiros do LinkedIn, que precisava de um mecanismo de dados streaming. Ao invés de manter o seu código de in-house, os engenheiros do LinkedIn estão desenvolvendo Samza na comunidade open source Apache. No momento da redação deste artigo, Samza ainda está em seus primeiros dias como um projeto de incubadora Apache. Embora existam motores de outros dados de streaming (como faísca Streaming e Tempestade, discutido abaixo), a equipe LinkedIn decidiu construir seu próprio motor que melhor atendam às suas necessidades.
Sentinela
A seção sobre o projeto Knox gateway acima apresenta alguns dos desafios de segurança com Hadoop. Embora Knox endereços de gateway de autorização do sistema (garantindo que os usuários podem se conectar aos serviços do cluster Hadoop), que não aborda a necessidade premente de uma autorização de dados, onde há necessidades de negócios para restringir o acesso a subconjuntos de dados. Um exemplo comum é a necessidade de esconder tabelas que contêm dados sensíveis, tais como números de cartão de crédito de analistas procuram padrões de comportamento. O projeto Apache Sentry foi iniciado por Cloudera como uma forma de fornecer este tipo de controle de acesso aos dados armazenados em seu projeto Impala e na colmeia. Na Primavera de 2014, Sentry é um projeto de incubadora Apache.
Sentry introduz o conceito de diferentes classes de função de usuário ao Hadoop enquanto permite a classificação dos ativos dados em Impala ou Hive. Dependendo da classificação que é aplicada no nível de banco de dados, tabela ou vista, apenas usuários com as funções apropriadas seria capaz de acessar os dados.
Faísca
O projeto faísca Apache rapidamente se tornou um nome familiar (pelo menos em Hadoop famílias) em 2014, quando se tornou um projeto de nível superior Apache (o que significa que se formou no estatuto incubadora) e um número de empresas de distribuição do Hadoop alinhados para anunciar apoio. Spark, como uma estrutura de computação em cluster, é ainda um outro projeto que está percebendo o enorme potencial FIO traz ao Hadoop no apoio a diferentes estruturas de processamento de dados.
Faísca foi originalmente desenvolvido por pesquisadores da UC Berkeley, que criou os Databricks empresa de volta em 2013 para comercializá-la, rapidamente ganhando $ 14 milhões em financiamento de capital de risco.
O entusiasmo em torno faísca vem de sua relativa simplicidade em comparação com MapReduce e sua flexibilidade muito maior para streaming e cargas de trabalho interativas. Em mais contraste com MapReduce, o Spark faz o seu processamento de dados in-memory, que rende benefícios de desempenho consideráveis. Ao mesmo tempo, ele pode processar conjuntos de dados maiores que não cabem na memória do disco, mas ainda proporciona benefícios de desempenho porque faísca não precisa de aderir ao mapa rígida do MapReduce e reduzir os ciclos, que muitas vezes não são ideais para diversos algoritmos.
Como um quadro geral, o Spark tem uma série de projetos filho para processamento de dados mais especializado: Faísca streaming para transmissão de dados em tempo real Feeds de tubarão, por queries- SQL interativo Biblioteca Aprendizado de Máquina (MLlib) Para aprendizagem-máquina e GraphX para processamento gráfico.
Tempestade
Apache Storm é o terceiro mecanismo de análise de fluxo de dados abordados neste artigo (com Samza e faísca Transmissão quanto os outros dois), que é uma prova de como muita atenção análises em tempo real está ficando na comunidade Hadoop. Mas estas abordagens divergentes também indicações de que ainda é cedo na evolução da análise de dados Hadoop Streaming, porque nenhum destes três emergiu como um líder. Tempestade tem sido um projeto ativo por mais tempo, tendo sido doado para a comunidade de código aberto depois de ser adquirida pelo Twitter em 2011. A tempestade está agora um projeto de incubadora Apache.
Graças ao trabalho de desenvolvedores Hortonworks que o trouxe para a comunidade Apache, Tempestade foi adaptado para trabalhar com a estrutura do fio. Isto trouxe tempestade no ecossistema Hadoop como uma alternativa processamento em tempo real.
tez
À semelhança do que está a acontecer com os motores de análise de dados streaming, uma série de alternativas surgiram com MapReduce para o processamento distribuído interativo. Spark é um exemplo proeminente dessas estruturas. O outro exemplo importante de um tal quadro é Apache Tez, que é em grande parte impulsionado pela Hortonworks.
A solução Hortonworks ao desafio SQL-on-Hadoop é melhorar Hive. Para enfrentar este desafio, Hortonworks anunciou sua iniciativa Stinger, que envolveu uma série de mudanças para Hive, envolvendo um melhor suporte para os padrões ANSI SQL e desempenho muito melhor. Uma limitação fundamental na Hive é a sua dependência do MapReduce para o processamento de consultas. MapReduce é limitado em sua capacidade de lidar com operações comuns de SQL, como associações e grupos-repouso, o que resulta em extremamente pobre desempenho em comparação com as alternativas de banco de dados relacionais massivamente paralelas em execução em grande escala comparável. Hortonworks anunciou o projeto Tez para apresentar um quadro alternativo para MapReduce, que é otimizada para possibilidades mais ideais (e flexível) de processamento de dados. Tez também ser utilizado como a estrutura subjacente para o porco.