indexadores distribuidos utilizando hadoop

15
Indexadores distribuídos utilizando Apache Hadoop Luís A. Bastião Silva Recuperação de informação

Upload: luis-bastiao

Post on 28-May-2015

1.225 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Indexadores Distribuidos utilizando Hadoop

Indexadores distribuídos utilizando Apache Hadoop

Luís A. Bastião SilvaRecuperação de informação

Page 2: Indexadores Distribuidos utilizando Hadoop

Agenda

Enquadramento

Lucene

Hadoop HDFS MapReduce

Implementações do Lucene distribuídas

Conclusões

Page 3: Indexadores Distribuidos utilizando Hadoop

Enquadramento

Aumento do volume de informação têm vindo a crescer

Criação de motores de pesquisa Indexação Pesquisa

Indexador versus Base de Dados relacional

Necessidades de distribuir a indexação e pesquisa por vários sistemas computacionais

Enquadramento Lucene Hadoop Lucene

DistribuidoConclusões

Page 4: Indexadores Distribuidos utilizando Hadoop

Apache Lucene

Projecto da ASF (Apache Software Fundation)

Plataforma Open Source

Interfaces de indexação e pesquisa bem definidos

Pesquisa “full-text”, capacidade de filtragem, expressões booleanas, intervalos, etc.

Capacidade de fazer “merge” de vários índices Útil para indexadores distribuídos

Enquadramento Lucene Hadoop Lucene

DistribuidoConclusões

Page 5: Indexadores Distribuidos utilizando Hadoop

Projecto Hadoop

Hadoop: ASF + Open Source

Motivação: criação de um sistema de ficheiros distribuído efectuar processamento nos vários nós do cluster

Enquadramento Lucene Hadoop Lucene

DistribuidoConclusões

Page 6: Indexadores Distribuidos utilizando Hadoop

Projecto Hadoop

Subprojectos do Hadoop: Common HDSF MapReduce ZooKeeper

Enquadramento Lucene Hadoop Lucene

DistribuidoConclusões

Page 7: Indexadores Distribuidos utilizando Hadoop

HDFS: Hadoop Distributed File System

Sistema de ficheiros distribuídos

Construído para grandes volumes de informação

Blocos divididos em blocos de 64MB

Redundância

Orientado a “batch processing” e streaming

Arquitectura Master/Slave

Enquadramento Lucene Hadoop Lucene

DistribuidoConclusões

Page 8: Indexadores Distribuidos utilizando Hadoop

HDFS - Arquitectura

Enquadramento Lucene Hadoop Lucene

DistribuidoConclusões

Page 9: Indexadores Distribuidos utilizando Hadoop

MapReduce

Enquadramento Lucene Hadoop Lucene

DistribuidoConclusões

Modelo de programação

Map

“Shuffle”

Reduce

Page 10: Indexadores Distribuidos utilizando Hadoop

Lucene DistribuidoDiscussão de diferentes abordagens

Enquadramento Lucene Hadoop Lucene

DistribuidoConclusões

Page 11: Indexadores Distribuidos utilizando Hadoop

Doug Cutting Approach

Indices distribuidos pelos sistemas computacionais

Arquitectura Master/Slaves

Master: contém a localização dos vários indices

Cada indice têm uma versão

Enquadramento Lucene Hadoop Lucene

DistribuidoConclusões

Page 12: Indexadores Distribuidos utilizando Hadoop

Distributed Lucene

Não utiliza o HDFS

Utiliza mecanismos de IPC do Hadoop

Segue os conceitos propostos por Doug Cutting

Introduz o conceito do estado do indice: “uncommited”, “replicating” e “live”

Actualização baseada em “leasing”

Enquadramento Lucene Hadoop Lucene

DistribuidoConclusões

Page 13: Indexadores Distribuidos utilizando Hadoop

Distributed Index for Semantic Search

Utilização do MapReduce

Map: Parser dos documentos armazenados no sistema de ficheiros distribuído

Redução: obter documentos que contém o mesmo termo

Enquadramento Lucene Hadoop Lucene

DistribuidoConclusões

Page 14: Indexadores Distribuidos utilizando Hadoop

Conclusões

Mover processamento é preferível a mover dados

Algumas implementações de Lucene distribuídos, contudo: Limitativas para o utilizador Ainda em fase beta de desenvolvimento

Não existe standarização ao nível de indexação distribuída, não permitindo a criação de sinergias entre projectos.

Hadoop revelou-se uma plataforma bastante estável

Enquadramento Lucene Hadoop Lucene

DistribuidoConclusões

Page 15: Indexadores Distribuidos utilizando Hadoop

Questões?