Processamento gráfico em hadoop
Um dos mais excitantes tecnologias NoSQL emergentes envolve o armazenamento e processamento de dados do gráfico. Você pode pensar que esta afirmação é notícia velha, porque cientistas da computação têm vindo a desenvolver técnicas de análise de gráfico ao longo de décadas. O que você diz pode ser verdade, mas o que há de novo é que usando Hadoop, você pode fazer uma análise do gráfico em grande escala.
Conteúdo
O que é dados do gráfico?
UMA gráfico em termos de dados é simplesmente uma representação de entidades individuais e seus relacionamentos. entidades de um gráfico são conhecidos como nós (ou vértices), E as relações entre as entidades de um gráfico como são conhecidos arestas (ou conexões). Representando conjuntos de dados em um gráfico, ao contrário de linhas e colunas tradicionais, torna muito mais fácil para processar seus dados de forma a tornar as relações entre os objetos cristalina. cálculos de gráficos típicos são representados pela menor distância caminho entre vários nós em seu gráfico, ou simplesmente por quantos nós têm ligações de um determinado tipo para um nó específico.
Os pedidos de análise gráfica
A aplicação mais conhecida para bancos de dados do gráfico é o algoritmo PageRank do Google, que calcula as relações que ligam entre todas as páginas web conhecidos. Google representa a web como um gráfico gigante, onde as páginas da web são os nós e os links de uma página para outra são representados como bordas. (Google compartilhadas a riqueza através da publicação de um artigo descrevendo seu projeto gráfico de análise - rotulado Pregel - de volta em 2010.) O processamento gráfico que Google estava interessado em envolver o cálculo do número de conexões de entrada para cada página da web.
Video: Criando um cluster de processamento usando Hadoop - 1/8
Facebook fez um splash significativa em 2013 quando ele anunciou que estava usando Apache Giraph (com base no papel Pregel), um mecanismo de processamento gráfico projetado para processar gráficos armazenados no HDFS. Ele mostrou o poder de Giraph por mostrando um gráfico que representa todos os usuários do Facebook (mais de 1 bilhão) e suas amizades (bilhões!), Que em conjunto tem mais de 1 trilhão bordas. Esta escala é impressionante: Se você é Facebook e você precisa fazer cálculos, como recomendações amigo, qual a melhor ferramenta para usar do que um mecanismo de processamento gráfico? Não é nenhuma surpresa que um banco de dados gráfico distribuído está no cerne de qualquer outro site de mídia social notável, incluindo Twitter, LinkedIn, OkCupid, e Pinterest.
Um mecanismo de processamento gráfico pode facilmente responder a muitas perguntas práticas para sites de mídia social. Dois exemplos são como LinkedIn mostra os graus de separação entre você e outro usuário é um cálculo caminho mais curto (o que é a conexão mais estreita entre dois nós?) E como OkCupid mostra aos usuários com interesses comuns é um conjunto de cálculos filtragem colaborativa (o que são os mais conexões comuns a um conjunto específico de nós?).
Video: Criando um cluster de processamento usando Hadoop - 7/8
Análise do gráfico em Hadoop
Como de primavera de 2014, a análise de gráfico na Hadoop permanece na sua fase inicial. Com o advento da FIO em Hadoop 2, análise gráfica e outras técnicas de processamento especializadas vai se tornar cada vez mais popular no Hadoop. Muitos dos sites sociais mencionados neste artigo usam seus próprios bancos de dados, gráfico de propriedade e mecanismos de processamento, mas o Facebook é um usuário importante de Giraph. Porque (implícita) selo de Facebook de aprovação, Giraph tornou-se uma escolha popular para análise de gráfico na Hadoop, mas tem algumas limitações. É apenas um mecanismo de processamento porque ele carrega os dados como um gráfico na memória do cluster, e é otimizado para consultas orientados em batch.
Video: Criando um cluster de processamento usando Hadoop - 4/8
Outra solução de processamento gráfico vem de Aurelius, uma empresa que lançou um conjunto de ferramentas de gráfico de análise de código aberto para Hadoop. No núcleo de suas ofertas é Titan, uma base de dados gráfico usando HBase como uma camada de persistência, que é optimizado para consultas interactivos, e Faunus, um mecanismo de processamento gráfico que armazena um instantâneo de um gráfico da Titan em HDFS e executa trabalhos MapReduce contra ela . Para ambos os pedidos de lote (Faunus) interactivo (Titan) e, Aurelius tem o API comum gráfico-travessia chamado Gremlin.
Finalmente, o projecto de faísca Apache tem o desdobramento GraphX, que permite a geração de dados de gráficos, e, em seguida, o processamento, todos dentro do âmbito de faísca.