49
Fouillez facilement dans votre système Big Data Olivier TAVARD 01/07/14 SophiaConf

Solr + Hadoop - Fouillez facilement dans votre système Big Data

Embed Size (px)

DESCRIPTION

Un système Hadoop a pour but de facilement gérer le Big Data, que ce soit en termes de stockage comme en termes de calculs. Il ne se focalise pas sur l’exploration des données qu’il héberge. Le moteur de recherche Apache Solr devient l’outil de recherche de référence dans l’écosystème Hadoop, adopté par Cloudera et HortonWorks. Dans cette intervention, ils présentent d’abord un historique des 2 projets, pour bien comprendre leurs liens. Ils expliquent ensuite les différents niveaux d’intégrations possibles, et ils terminent par une démonstration d’intégration, afin de comprendre les avantages d’utiliser Solr pour explorer le big data d’un Hadoop.

Citation preview

Page 1: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Fouillez facilement dans votre système Big Data

Olivier TAVARD

01/07/14

SophiaConf

Page 2: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Introduction

A propos de moi : Cofondateur de la société France Labs Développeur (principalement Java) Formateur en technologies de moteurs de recherche

(Solr, Elasticsearch)

A propos de France Labs : Startup créée en 2011 Experts en technos de search (consulting) Partenaire officiel de LucidWorks Editeur de la solution Datafari

Page 3: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Plan

Rappels sur HadoopPrésentation (rapide) de SolrIntégration d’Hadoop et de SolrDémo

Page 4: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation d’HadoopHadoop

Créé par Doug Cutting en 2004A l’origine pour Lucene : Projet Nutch Framework open sourceInspiré par les papiers sur Google Map Reduceet Google File System

Page 5: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation d’HadoopHadoop

Traiter des grands volumes de données en un minimum de tempsStocker des immenses volumes de donnéesFonctionne sur machines de configuration faible et peu coûteuses

Page 6: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation d’HadoopHadoop

Architecture (très) simplifiée de Hadoop v1

Nœud 1 Nœud 3Nœud 2 Nœud 4Couche Traitement (MapReduce)

Couche Stockage (HDFS)

Page 7: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation d’HadoopHadoop

Couche stockage (HDFS) Système de fichier distribué Utilise les disques « normaux » de chacun

des nœuds… …pour donner l’impression de n’utiliser qu’un seul énorme disque Fiable (données répliquées 3 fois)

Page 8: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation d’HadoopHadoop

Couche traitement (MapReduce) Hadoop exécute des jobs Map Reduce Un algorithme doit donc implémenter:

• Un mapper• Un reducer

Pour être executé de manière distribuée par Hadoop en tant que job

Page 9: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Clé1 : Val1Clé2 : Val2Clé3 : Val3Clé4 : Val4

Présentation d’HadoopHadoop

Mapper Prend des données en entrée Et les transforme en paire de clé valeur

Mapper

Page 10: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Clé 1 : Val2Clé 2 : Val2Clé 1 : Val3Clé 2 : Val4

Reducer Combine les valeurs ayant la même clé

Clé1 : Val5Clé2 : Val6

Reducer

Présentation d’HadoopHadoop

Page 11: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation d’HadoopHadoop

Un exemple simple? On a en entrée plusieurs textes On veut compter le nombre d’occurrences

des mots De manière distribuée En utilisant un job Map Reduce

DatafariDatafari est notre solution open source de recherche d'entreprises, basée sur Lucene, Solr, et le framework de connecteurs Apache ManifoldCF.

SolrApache Solr est une couche web open source basée sur la librairie de recherche Apache Lucene. Elle ajoute des fonctionnalités de serveur web, du faceting.

LuceneApache Lucene est un moteur de recherche et d'indexation, en open source.

Page 12: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Apache : 4Solr : 2Lucene : 3…

Apache : 1Apache : 1Solr : 1Lucene : 1…

Apache : 1Solr : 1Lucene : 1…

Apache : 1Lucene : 1…

Présentation d’HadoopHadoop

DatafariDatafari est notre solution open source de recherche d'entreprises, basée sur Lucene, Solr, et le framework de connecteurs Apache ManifoldCF.

SolrApache Solr est une couche web open source basée sur la librairie de recherche Apache Lucene. Elle ajoute des fonctionnalités de serveur web, du faceting.

LuceneApache Lucene est un moteur de recherche et d'indexation, en open source.

Reducer

Mapper

Mapper

Mapper

Page 13: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation d’HadoopHadoop 2

HDFS 2 : Haute disponibilité NameNode Support de NFS

Page 14: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation d’HadoopHadoop 2

YARN Gestion jobs et ressources

Page 15: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation d’HadoopEcosytème

Page 16: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Plan

Rappels sur HadoopPrésentation (rapide) de SolrIntégration d’Hadoop et de SolrDémo

Page 17: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation de SolrLa recherche est un oignon matriciel!

Page 18: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation de Solr

Un outil qui permet:

De créer un index à partir de documents

INDEX

Page 19: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation de SolrA quoi ça ressemble ?

Page 20: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation de SolrFacettes

Page 21: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation de SolrSpellcheck

Page 22: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation de SolrAutocomplete

Page 23: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation de SolrGéolocalisation

Page 24: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation de Solr

Highlighting

More Like This Obtenir des documents similaires à un document Similarité textuelle

Autres fonctionnalités

Page 25: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation de SolrBusiness Intelligence (BI)/Marketing

Page 26: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation de SolrAnalyse de logs (for devops)

Page 27: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Présentation de SolrSolr Cloud

Solr Cloud permet la mise à l’échelle: Architecture flexible en cluster de serveurs Volumétrie élevée Montée en charge Tolérance aux pannes

Page 28: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Démo SolrTester Solr

Démo !https://www.youtube.com/watch?v=asVQOkJPZzc

Page 29: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Plan

Rappels sur HadoopPrésentation (rapide) de SolrIntégration d’Hadoop et de SolrDémo

Page 30: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Projets liésPrésentation d’Hadoop

1999

2002

2004

2010

2005

Page 31: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Intégration d’Hadoop et SolrExemples de scénarios Big Data

Text mining Création et analyse de graphes Reconnaissance de patterns Moteurs de recommandations, ciblage publicité Analyse de menaces, surveillances de marchés

Page 32: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Intégration d’Hadoop et SolrHadoop pour les recommandations

Page 33: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Intégration d’Hadoop et SolrHadoop pour les recommandations

Page 34: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Intégration d’Hadoop et SolrLucene pour la recherche d’utilisateurs

Page 35: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Intégration d’Hadoop et SolrExemples d’utilisation d’Hadoop

Netflix• Site de streaming légal de vidéos• Avant Hadoop :

- Logs étaient traités pendant la nuit- Importés dans une BDD- Analyse/BI- => Il fallait plus de 24h pour traiter une journée de logs

• Avec Hadoop :- En seulement une heure de jobs Hadoop les données sont traitées- Traite quotidiennement 1 To de données par jour approximativement

• Solr- Recherche de contenus par l’utilisateur

Page 36: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Intégration d’Hadoop et SolrExemples d’utilisation Big Data

Amazon CloudSearch• Utilisation de Solr depuis Mars 2014• Scalable• Performant

Page 37: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Scénario : analyse de tickets de caisse Que faire des données brutes ? Comment les analyser, les traiter ? Comment rechercher dedans ? => Solution : Hadoop et Solr !

Intégration d’Hadoop et Solr

Page 38: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Hadoop et Solr indépendants Traitements et calculs sur Hadoop (ex : Pig)

• Import d’un CSV avec Pig• Opérations : analyse, calculs panier moyen, TVA etc…

Export des données d’Hadoop• Génération d’un fichier XML avec Pig

Indexation dans un Solr standalone (ex : DIH)• Utilisation d’une contribution de Solr : DIH

Intégration d’Hadoop et Solr1er niveau d’intégration

Page 39: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Intégration d’Hadoop et SolrIndex Solr

Page 40: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Avantages : Si cluster Solr déjà présent, ajout d’un index Solr

dédié Mature

Inconvénients: Réplication de HDFS vers système de fichiers du

Solr

Intégration d’Hadoop et Solr1er niveau d’intégration

Page 41: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Stockage de l’index de Solr sur HDFS Lancement de Solr avec utilisation de HDFS

Intégration d’Hadoop et Solr2e niveau niveau d’intégration

Page 42: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Avantages : Tolérance aux pannes Gain espace disque (cluster Hadoop déjà existant

avec HDFS)

Intégration d’Hadoop et Solr2e niveau niveau d’intégration

Page 43: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Création de l’index Solr à l’aide de jobs Map Reduce Travail en cours (https://

issues.apache.org/jira/browse/SOLR-1045) Contrib expérimentale fournie avec Solr Avantages :

• Augmentation des performance d’indexation sur de gros volumes de données

• Très utile si indexes déjà construits par HDFS

Intégration d’Hadoop et SolrDifférents niveau d’intégration

Page 44: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Fonctionnalité de Search basée sur Solr intégrée par plusieurs distributions MapR Cloudera Search Hortonworks Lucidworks

Intégration d’Hadoop et SolrSolr

Page 45: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Plan

Rappels sur HadoopPrésentation (rapide) de SolrIntégration d’Hadoop et de SolrDémo

Page 46: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Démo Hadoop et SolrWork in progress

Scénario des tickets de caisseEtape 1 : import dans Pig des tickets en CSVEtape 2 : opérations sur les données avec PigEtape 3 : indexation des données en SolrEtape 4 : recherche sur ces données avec Solr

Page 47: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Démo Hadoop et SolrWork in progress

Page 48: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Démo Hadoop et SolrSolr directement couplé avec Hadoop

Démo !

Page 49: Solr + Hadoop - Fouillez facilement dans votre système Big Data

Contact

Site web : www.francelabs.com

Email : [email protected]

Twitter : @Francelabs #Datafari