hadoop hive & php au service de l'opendata

22
Le bigData au service de l’Open Data Le BigData au service de l’OpenData #PHPTOUR NANTES 2012 Stéphane Raymond @sraymond38 www.stephane-ray mond.com/blog/ L’entreprise et le BigData Solutions techniques Analytics Démos

Upload: raymond-stephane

Post on 28-Nov-2014

1.671 views

Category:

Technology


4 download

DESCRIPTION

L’entreprise n’a jamais été aussi bien armée qu’aujourd’hui, pour maîtriser son «mix marketing» et pérenniser ainsi, sa croissance économique. L’ouverture des données publiques ou OpenData, conjuguée à la collecte d’informations sur ses clients (réseaux sociaux ; site corporate ; site de vente en ligne etc), lui permet de comprendre le comportement d'achat de ses clients, anticiper certains risques et imaginer de nouveaux services. L'entreprise est-elle bien armée pour analyser et stocker ces données massives ? (BigData). Je vous propose de découvrir comment PHP peut être utilisé au sein d'un cluster Hadoop.

TRANSCRIPT

Page 1: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

Le BigData au service de l’OpenData#PHPTOUR

NANTES 2012

Stéphane Raymond@sraymond38

www.stephane-raymond.com/blog/

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 2: Hadoop HIVE & PHP au service de L'OpenData

‣ L’entreprise : objectif de rentabilité

Environnementle BigDataLe bigData au service de

l’Open Data

‣ Analyser & capable d’anticiper‣ connaissance de son marché ?

‣ les autres sources ?

‣ le web (communication & canal de vente)

‣ évènements sociaux économiques (micro & macro)

‣ données publiques

‣ proposition de valeur

‣ segmentation / Accès au marché

‣ relation client / Amélioration

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 3: Hadoop HIVE & PHP au service de L'OpenData

‣ Cycle de vie du BigData

Le bigData au service de l’Open Data

Environnementle BigData

‣Source multiple

‣Capacité d’analyse

‣Temps d’adaptation

‣Interactions

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 4: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

Approche possibleHadoopIntégration des donnéesExtraction des données

‣ Architecture technique

‣ Hadoop : le coeur de notre architecture

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 5: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

‣ Hadoop

‣ Fait pour du traitement massif !

‣ framework

‣ fS distribué : HDFS

‣ implémentation du paterne MAP / REDUCE

‣ parallèlisation des Jobs & distribution sur un cluster

‣ plus il y a de données à traiter et plus il est heureux

‣ il y a un point névralgique

‣ pas simple à bien paramétrer

Approche possibleHadoopIntégration des donnéesExtraction des données

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 6: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

‣ Organisation des services d’Hadoop

Approche possibleHadoopIntégration des donnéesExtraction des données

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 7: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

‣ Les directives de configuration importantes

‣ core-site.xml :

• fs.default.name

‣ hdfs-site.xml :

• dfs.data.dir & dfs.name.dir

• dfs.replication

‣ mapred-site.xml :

• mapred.job.tracker

• mapred.tasktracker.map.tasks.maximum

• mapred.tasktracker.reduce.tasks.maximum

• mapred.[map | reduce].max.attempts & red

Approche possibleHadoopIntégration des donnéesExtraction des données

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 8: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

‣ Accès aux données sur le HDFS

‣ 1 requête du client

• hadoop fs -cat assets/2012/10/16/10.log

‣ 2 : Contact du NameNode

• => quel DataNode appeler

‣ 3 : Le client contact directement le DataNode cible

• => affichage du contenu de 10.log

Approche possibleHadoopIntégration des donnéesExtraction des données

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 9: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

‣ Pousser des données sur le HDFS‣ 1 requête du client

• zcat 10.log.gz | hadoop dfs -put - assets/2012/10/17/10.log

‣ 2 : Contact du NameNode

• => sélection d’un Node comme «master»

‣ 3 : Ecriture sur le master et les autres Nodes

‣ 4 : Ecriture terminée

• 4.1 Commit sur le master

• 4.2 Commit sur les autres Nodes

‣ 5 : Enregistrement des MetaData par le NameNode

Approche possibleHadoopIntégration des donnéesExtraction des données

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 10: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

‣ Harmonisation des sources

Approche possibleHadoopIntégration des donnéesExtraction des données

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 11: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

‣ Le pattern Map / Reduce

Approche possibleHadoopIntégration des donnéesExtraction des données

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 12: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

‣ Utilisation du streamer Hadoop et de PHP

‣ 1 Un bootstrap‣ lancement du job Hadoop avec «hadoop-streaming»(HS)

‣ définition des variables d’exécutions pour «hadoop-streaming»

‣ chargement des données dans le HDFS

‣ exécution du Job

‣ 2 : Un script php pour le MAP‣ réception des données sur «stdin» par hadoop-streaming

‣ echo du traitement sur «stdout»

‣ 3 : Un script php pour le Reduce‣ réception des données sur «stdin» par hadoop-streaming

‣ echo du traitement sur «stdout»

Approche possibleHadoopIntégration des donnéesExtraction des données

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 13: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

#!/bin/bash...#Création du répertoire de travail sur le HDFS$HADOOP_HOME_BIN/bin/hadoop fs -mkdir $HDFS_INPUT

#Définition du répertoire où sera entreposé le résulta du Job.HDFS_OUTPUT='OUTPUT/PHP-TOUR-NANTES-2012'

#On dépose le ou les fichiers de log a traiter$HADOOP_HOME_BIN/bin/hadoop fs -put $PATH_LOG/* $HDFS_INPUT

#Map / Reduce en action$HADOOP_HOME_BIN/bin/hadoop jar \$HADOOP_HOME_BIN/contrib/streaming/ $STREAM_JAR_NAME \-D mapred.job.priority='VERY_HIGH' \-D mapred.job.name="php-tour-nantes-2012" \-D mapred.map.tasks=2 \-D mapred.reduce.tasks=1 \-input $HDFS_INPUT \-output $HDFS_OUTPUT \-mapper map.php \-reducer reduce.php \-file $APP_PATH/map.php \-file $APP_PATH/reduce.php &

‣ Utilisation du streamer Hadoop et de PHP

Approche possibleHadoopIntégration des donnéesExtraction des données

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 14: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

‣ Utilisation du streamer Hadoop et de PHP

<?php$ressources = fopen('php://stdin', 'r');$row = new stdClass();

while ( ($line = fgets($ressources)) !== false) {

## TRAITEMENT D’AGREGATION}//utilisé en input sur le ou les Réducerecho json_encode($row);?>

Approche possibleHadoopIntégration des donnéesExtraction des données

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 15: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

‣ Utilisation du streamer Hadoop et de PHP

<?php$ressources = fopen('php://stdin', 'r');$row = new stdClass();

while ( ($line = fgets($ressources)) !== false) {## TRAITEMENT D’AGREGATION

}## Output sur le Reducer : enregistrement des lignes dans Hadoopforeach () {....echo $ip . chr(9) . $ref . chr(9) . $nav . chr(9) . $domain . chr(9) . $v_count->count , PHP_EOL;}

?>

Approche possibleHadoopIntégration des donnéesExtraction des données

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 16: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

DEMO c’est pour bientôt :)

Approche possibleHadoopIntégration des donnéesExtraction des données

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 17: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

‣ Extraction des données

Approche possibleHadoopIntégration des donnéesExtraction des données

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 18: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

‣ Extraction des données‣ Besoin de mettre à disposition des datas pour

L’analytics‣ valider des indicateurs de production,

‣ réaliser des modèles prédictifs : Utilisation de donnée massive sur de grande période,

‣ chercher quelque chose, mais on ne sait pas encore quoi :)

‣ structurer la data sur le HDFS !

‣ Utilisation de «DataWareHouse»

‣ mapping,

‣ langage de requêtes,

‣ utilisation de M/R

‣ interaction avec d’autre SGBD NoSQL ou SQL like

Approche possibleHadoopIntégration des donnéesExtraction des données

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 19: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

‣ HIVE

‣ Langage pseudo SQL : HiveQL (HQL)

‣ Lien direct avec le HDFS

‣ Index

‣ Utilisation de M/R pour extraire les données

‣ Schéma de table à la MySQL : Metastore‣ metastore en local : un seul user associé

‣ utilisation de Cassandra pour stocker le Metastore

Approche possibleHadoopIntégration des donnéesExtraction des données

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 20: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

‣ Real Time Analytics‣ Hbase / PIG

‣ Cassandra |Neo4j |MongoDB |MySQL ...

‣ Interaction avec PHP via Thrift

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 21: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

DEMO’S

Intégration des donnéesExtraction des données

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos

Page 22: Hadoop HIVE & PHP au service de L'OpenData

Le bigData au service de l’Open Data

Merci de votre attention#Questions ?

Stéphane Raymond@sraymond38

L’entreprise et le BigDataSolutions techniques

AnalyticsDémos