10 Tecnologias emergentes hadoop para manter seus olhos sobre
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 irá tornar-se 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 em 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 em ordem classificada 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 sua própria implementação BigTable e mais tarde contribuíram para a comunidade Apache. O projeto Accumulo desde então tem crescido uma comunidade de desenvolvimento ativo, 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 é segurança baseada em células, que garante que somente usuários autorizados possam ver os dados armazenados em quaisquer linhas consultados. Isso é 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 destas tecnologias são soluções de empresa única, alguns deles são conduzidos 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 é ser capaz de escalar 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 atender critérios de governança envolvem essas duas escolhas:
Comprar tais ferramentas de fornecedores estabelecidos, como IBM e Informatica.
Escrever 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 da incubadora Apache.
Os serviços de gerenciamento de dados em Falcon está focado principalmente na gestão 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, este processo de movimento e transformação de dados é comumente conhecido como Extract, Transform, and Load (ETL). Como parte do quadro para o tratamento de processos de ETL, Falcon inclui a capacidade de armazenar os metadados para os dados à medida que passa através das várias etapas de ETL. Falcon pode então prestar serviços para a gestão do 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 de dados da 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: Um 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 provenientes 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 banco de dados do gráfico, 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 uma série 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 adoçã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 de 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 portas abertas que você precisa para 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 fornecer segurança de perímetro para clusters Hadoop. Ele faz isso através do fornecimento de um ponto central para a autenticação do aglomerado na borda de um cluster Hadoop. Fora do próprio cluster, Knox gateway lida com todas as solicitações de entrada do 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 nós falar sobre abaixo) e da broca acima mencionado, Hadoop será capaz de suportar 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. (streaming 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 in-house, os engenheiros do LinkedIn estão desenvolvendo Samza na comunidade Apache open source. 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 gateway aborda autorização do sistema (garantindo que os usuários podem se conectar aos serviços do cluster Hadoop), não aborda a necessidade premente de autorização de dados, onde existem 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 à procura de 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 em Hive. Na Primavera de 2014, Sentry é um projeto da 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 é aplicado no nível de banco de dados, tabela ou vista, apenas os 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 domicílios) em 2014, quando se tornou um projeto de nível superior Apache (o que significa que se formou no estado incubadora) e uma série de empresas de distribuição do Hadoop alinhados para anunciar apoio. Spark, como uma estrutura de computação cluster, ainda é outro projeto que está percebendo o enorme potencial FIO traz para 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 contraste ainda mais a MapReduce, faísca faz o seu processamento de dados em memória, que produz os 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 muitos 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 motor de análise de dados de streaming 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. tempestade é agora um projeto de incubadora Apache.
Graças ao trabalho de desenvolvedores Hortonworks que trouxeram para a comunidade Apache, Tempestade foi adaptado para trabalhar com a estrutura do fio. Isso trouxe Tempestade no ecossistema Hadoop como uma alternativa de processamento em tempo real.
tez
À semelhança do que está acontecendo com motores de análise de dados streaming, uma série de alternativas surgiram com MapReduce para processamento distribuído interativo. Spark é um exemplo proeminente dessas estruturas. O outro exemplo mais importante de uma tal estrutura é Apache Tez, que em grande medida pelo 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 é sua dependência de MapReduce para consultas de processamento. MapReduce é limitado em sua capacidade de lidar com operações comuns de SQL como junta e do grupo-repouso, o que resulta em muito mau desempenho em comparação com as alternativas de banco de dados relacionais massivamente paralelos que funcionam em grande escala comparável. Hortonworks anunciado o projecto Tez de apresentar uma estrutura alternativa para MapReduce, que é optimizado para possibilidades mais óptimas (e flexíveis) de processamento de dados. Tez também será usado como a estrutura subjacente para Pig.