Hadoop HIVE & PHP au service de L'OpenData
Upcoming SlideShare
Loading in...5
×
 

Hadoop HIVE & PHP au service de L'OpenData

on

  • 1,536 views

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 ...

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.

Statistics

Views

Total Views
1,536
Views on SlideShare
1,536
Embed Views
0

Actions

Likes
1
Downloads
27
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Hadoop HIVE & PHP au service de L'OpenData Hadoop HIVE & PHP au service de L'OpenData Presentation Transcript

  • L’entreprise et le BigDataLe bigData au service de Solutions techniques Analytics l’Open Data Démos Le BigData au service de l’OpenData #PHPTOUR NANTES 2012 Stéphane Raymond @sraymond38 www.stephane-raymond.com/blog/
  • L’entreprise et le BigData Le bigData au service de Solutions techniques Environnement le BigData Analytics l’Open Data Démos‣ L’entreprise : objectif de rentabilité ‣ proposition de valeur ‣ segmentation / Accès au marché ‣ relation client / Amélioration‣ 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
  • L’entreprise et le BigData Environnement Le bigData au service de Solutions techniques le BigData Analytics l’Open Data Démos‣ Cycle de vie du BigData‣ Source multiple‣ Capacité d’analyse‣ Temps d’adaptation‣ Interactions
  • L’entreprise et le BigData Le bigData au service de Solutions techniques Approche possible Hadoop Analytics Intégration des données l’Open Data Démos Extraction des données‣ Architecture technique‣ Hadoop : le coeur de notre architecture
  • L’entreprise et le BigData Approche possible Le bigData au service de Solutions techniques Hadoop Analytics Intégration des données l’Open Data Démos Extraction des données‣ Hadoop ‣ framework ‣ fS distribué : HDFS ‣ implémentation du paterne MAP / REDUCE ‣ parallèlisation des Jobs & distribution sur un cluster‣ Fait pour du traitement massif ! ‣ 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
  • L’entreprise et le BigData Approche possible Le bigData au service de Solutions techniques Hadoop Analytics Intégration des données l’Open Data Démos Extraction des données‣ Organisation des services d’Hadoop
  • L’entreprise et le BigData Approche possible Le bigData au service de Solutions techniques Hadoop Analytics Intégration des données l’Open Data Démos Extraction des données‣ 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
  • L’entreprise et le BigData Approche possible Le bigData au service de Solutions techniques Hadoop Analytics Intégration des données l’Open Data Démos Extraction des données‣ 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
  • L’entreprise et le BigData Approche possible Le bigData au service de Solutions techniques Hadoop Analytics Intégration des données l’Open Data Démos Extraction des données‣ 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
  • L’entreprise et le BigData Approche possible Le bigData au service de Solutions techniques Hadoop Analytics Intégration des données l’Open Data Démos Extraction des données‣ Harmonisation des sources
  • L’entreprise et le BigData Approche possible Le bigData au service de Solutions techniques Hadoop Analytics Intégration des données l’Open Data Démos Extraction des données‣ Le pattern Map / Reduce
  • L’entreprise et le BigData Approche possible Le bigData au service de Solutions techniques Hadoop Analytics Intégration des données l’Open Data Démos Extraction des données‣ 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»
  • L’entreprise et le BigData Approche possible Le bigData au service de Solutions techniques Hadoop Analytics Intégration des données l’Open Data Démos Extraction des données‣ Utilisation du streamer Hadoop et de PHP#!/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 &
  • L’entreprise et le BigData Approche possible Le bigData au service de Solutions techniques Hadoop Analytics Intégration des données l’Open Data Démos Extraction des données‣ 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);?>
  • L’entreprise et le BigData Approche possible Le bigData au service de Solutions techniques Hadoop Analytics Intégration des données l’Open Data Démos Extraction des données‣ 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;}?>
  • L’entreprise et le BigData Approche possibleLe bigData au service de Solutions techniques Hadoop Analytics Intégration des données l’Open Data Démos Extraction des données DEMO c’est pour bientôt :)
  • L’entreprise et le BigData Approche possible Le bigData au service de Solutions techniques Hadoop Analytics Intégration des données l’Open Data Démos Extraction des données‣ Extraction des données
  • L’entreprise et le BigData Approche possible Le bigData au service de Solutions techniques Hadoop Analytics Intégration des données l’Open Data Démos Extraction des données‣ 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
  • L’entreprise et le BigData Approche possible Le bigData au service de Solutions techniques Hadoop Analytics Intégration des données l’Open Data Démos Extraction des données‣ HIVE ‣ Schéma de table à la MySQL : Metastore ‣ metastore en local : un seul user associé ‣ utilisation de Cassandra pour stocker le Metastore ‣ Lien direct avec le HDFS ‣ Langage pseudo SQL : HiveQL (HQL) ‣ Index ‣ Utilisation de M/R pour extraire les données
  • L’entreprise et le BigData Le bigData au service de Solutions techniques Analytics l’Open Data Démos‣ Real Time Analytics ‣ Hbase / PIG ‣ Cassandra |Neo4j |MongoDB |MySQL ...‣ Interaction avec PHP via Thrift
  • L’entreprise et le BigDataLe bigData au service de Solutions techniques Intégration des données Extraction des données Analytics l’Open Data Démos DEMO’S
  • L’entreprise et le BigDataLe bigData au service de Solutions techniques Analytics l’Open Data Démos Merci de votre attention #Questions ? Stéphane Raymond @sraymond38