Indexadores Distribuidos utilizando Hadoop

1,428 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,428
On SlideShare
0
From Embeds
0
Number of Embeds
76
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Volume de dadosnos sistemas informáticos têm vindo a crescer substancialmente na última decada. Com tantos dados, torna-se importante ao utilizador poder extrair informação.Para isso surgiram motores de pesquisa, que permitem aos utilizadores extrair informação dos dados. Exisem dois processos diferentes na construção de um motor de pesquisa:Indexação dos dadosPesquisaUm sistema de indexação e pesquisa baseado em índice permite escalar a aplicação e fazer3ranking de informação relevante integrando várias fontes de dados como exemplos: email, webpages, ficheiros ou mesmo base de dados.
  • Projecto da ASF – Open SourceBiblioteca Interfaces bem definidos: indexação e pesquisa.Pesquisa fulltext, range etc.Capacidade de fazer merge de vários indices. Ex. PC1 indexa PC2 Indexa No final podemos ter um unicoindice.
  • ASF + OSSFrameworkMotivação: - criar um sistema ficheiros distribuidos - distribuir processamento nos vários nos do cluster, tirando partido do sistemas de ficheiros distribuidos.
  • Centramo nos HDFS e MapReduce
  • A fase de Map pode ser usada para carregar documentos do DFS
  • Indexadores Distribuidos utilizando Hadoop

    1. 1. Indexadores distribuídos utilizando Apache Hadoop<br />Luís A. Bastião Silva<br />Recuperação de informação<br />
    2. 2. Agenda<br />Enquadramento<br />Lucene<br />Hadoop<br />HDFS<br />MapReduce<br />Implementações do Lucene distribuídas<br />Conclusões<br />
    3. 3. Enquadramento<br />Aumento do volume de informação têm vindo a crescer<br />Criação de motores de pesquisa<br />Indexação<br />Pesquisa<br />Indexador versus Base de Dados relacional<br />Necessidades de distribuir a indexação e pesquisa por vários sistemas computacionais<br />Enquadramento<br />Hadoop<br />Lucene<br />Conclusões<br />LuceneDistribuido<br />
    4. 4. Apache Lucene<br />Projecto da ASF (Apache Software Fundation)<br />Plataforma Open Source<br />Interfaces de indexação e pesquisa bem definidos<br />Pesquisa “full-text”, capacidade de filtragem, expressões booleanas, intervalos, etc. <br />Capacidade de fazer “merge” de vários índices<br />Útil para indexadores distribuídos<br />Enquadramento<br />Hadoop<br />Lucene<br />Conclusões<br />LuceneDistribuido<br />
    5. 5. ProjectoHadoop<br />Hadoop: ASF + Open Source<br />Motivação: <br />criação de um sistema de ficheiros distribuído <br />efectuar processamento nos vários nós do cluster<br />Enquadramento<br />Hadoop<br />Lucene<br />Conclusões<br />LuceneDistribuido<br />
    6. 6. ProjectoHadoop<br />Subprojectos do Hadoop:<br />Common<br />HDSF<br />MapReduce<br />ZooKeeper<br />Enquadramento<br />Hadoop<br />Lucene<br />Conclusões<br />LuceneDistribuido<br />
    7. 7. HDFS: HadoopDistributed File System<br />Sistema de ficheiros distribuídos<br />Construído para grandes volumes de informação<br />Blocos divididos em blocos de 64MB<br />Redundância<br />Orientado a “batchprocessing” e streaming<br />ArquitecturaMaster/Slave<br />Enquadramento<br />Hadoop<br />Lucene<br />Conclusões<br />LuceneDistribuido<br />
    8. 8. HDFS - Arquitectura<br />Enquadramento<br />Hadoop<br />Lucene<br />Conclusões<br />LuceneDistribuido<br />
    9. 9. MapReduce<br />Enquadramento<br />Hadoop<br />Lucene<br />Conclusões<br />LuceneDistribuido<br />Modelo de programação<br />Map<br />“Shuffle”<br />Reduce<br />
    10. 10. LuceneDistribuido<br />Discussão de diferentes abordagens<br />Enquadramento<br />Hadoop<br />Lucene<br />Conclusões<br />LuceneDistribuido<br />
    11. 11. Doug Cutting Approach<br />Indicesdistribuidos pelos sistemas computacionais<br />ArquitecturaMaster/Slaves<br />Master: contém a localização dos vários indices<br />Cada indice têm uma versão<br />Enquadramento<br />Hadoop<br />Lucene<br />Conclusões<br />LuceneDistribuido<br />
    12. 12. DistributedLucene<br />Não utiliza o HDFS<br />Utiliza mecanismos de IPC do Hadoop<br />Segue os conceitos propostos por Doug Cutting <br />Introduz o conceito do estado do indice:<br />“uncommited”, “replicating” e “live”<br />Actualizaçãobaseadaem “leasing”<br />Enquadramento<br />Hadoop<br />Lucene<br />Conclusões<br />LuceneDistribuido<br />
    13. 13. Distributed Index for Semantic Search<br />Utilização do MapReduce<br />Map: Parser dos documentos armazenados no sistema de ficheiros distribuído<br />Redução: obter documentos que contém o mesmo termo<br />Enquadramento<br />Hadoop<br />Lucene<br />Conclusões<br />LuceneDistribuido<br />
    14. 14. Conclusões<br />Mover processamento é preferível a mover dados <br />Algumas implementações de Lucene distribuídos, contudo:<br />Limitativas para o utilizador<br />Ainda em fase beta de desenvolvimento<br />Não existe standarização ao nível de indexação distribuída, não permitindo a criação de sinergias entre projectos.<br />Hadoop revelou-se uma plataforma bastante estável<br />Enquadramento<br />Hadoop<br />Lucene<br />Conclusões<br />LuceneDistribuido<br />
    15. 15. Questões?<br />

    ×