SlideShare une entreprise Scribd logo
Hadoop et son écosystème
par KhanhTuong MAUDOUX
@jetoile
128/02/2017
Hadoop et son écosystème
Qui je suis…
• KhanhTuong Maudoux
• Développeur Java, JavaEE, BigData indépendant
• blog : blog.jetoile.fr
• @jetoile
• khanh.maudoux@jetoile.fr
228/02/2017
Hadoop et son écosystème
28/02/2017 3
Hadoop et son écosystème
Au programme…
• Hadoop : qu’est ce que c’est?
– MapReduce
– HDFS
– Yarn
• Ecosystème
– Data Integration
– Batch Processing
– Analytic SQL
– Streaming Processing
– Machine Learning
– Search Engine
– Autre
428/02/2017
Hadoop et son écosystème
Qu’est ce que c’est…
528/02/2017
Hadoop et son écosystème
Qu’est ce que c’est…
• BigData => V4
– Volume
– Vélocité
– Variété
– Véracité
• BigData
=> Hadoop?
28/02/2017 6
Ne parlera pas des API de programmations
comme Cascalog/Hive/Pig/Java/…
Hadoop et son écosystème
Qu’est ce que c’est…
28/02/2017 7
HDP 2.5
Hadoop et son écosystème
Qu’est ce que c’est…
MapReduce
828/02/2017
Hadoop et son écosystème
Qu’est ce que c’est…
MapReduce
928/02/2017
Hadoop et son écosystème
Qu’est ce que c’est…
MapReduce
10
• Et… Shuffle
28/02/2017
Hadoop et son écosystème
Qu’est ce que c’est…
MapReduce
11
• Et… Shuffle
28/02/2017
Hadoop et son écosystème
Qu’est ce que c’est…
HDFS
1228/02/2017
Hadoop et son écosystème
Qu’est ce que c’est…
HDFS
13
• Hadoop Distributed FileSystem
• FileSystem
– Les données sont écrites dans des blocs gérés par le
FileSystem
• HDFS
– Les données sont écrites dans des blocs gérés par le HDFS
=> Un fichier dans HDFS est constitué de blocs
28/02/2017
Hadoop et son écosystème
Qu’est ce que c’est…
HDFS
14
• Permet :
– La réplication (les blocs sont répliqués) et donc la
résilience
– La scalabilité (les blocs ne sont pas tous sur la même
machine)
– …
28/02/2017
Hadoop et son écosystème
Qu’est ce que c’est…
HDFS - Architecture
15
• NameNode et DataNode
28/02/2017
NameNode Namespace
Metadata
Block Map
Journaling
Disk
DataNode
Storage
Disk
DataNode
Storage
Disk
Storage
Disk
Bloc report
Contient la localisation réelle
des données (bloc/datanode)
DataNode
Hadoop et son écosystème
Qu’est ce que c’est…
HDFS - Lecture
1628/02/2017
Hadoop et son écosystème
Qu’est ce que c’est…
HDFS - Ecriture
1728/02/2017
Hadoop et son écosystème
Qu’est ce que c’est…
YARN
1828/02/2017
Hadoop et son écosystème
Qu’est ce que c’est…
YARN
19
• Avant :
– JobTracker
– TaskTracker
28/02/2017
Hadoop et son écosystème
Qu’est ce que c’est…
YARN
20
• Yet Another Resource Negociator
• Composé de :
– ResourceManager
– NodeManager
– ApplicationMaster
28/02/2017
Hadoop et son écosystème
Ecosystème
2128/02/2017
Batch
Processing
Analytic
SQL
Search
Engine
Machine
Learning
Stream
Processing
Workload Management (Yarn)
Storage for any type of data
Unified, Elastic, Resilient, Secure
Data Integration
Filesystem (HDFS)
Hadoop et son écosystème
Ecosystème
Data Integration
2228/02/2017
Batch
Processing
Analytic
SQL
Search
Engine
Machine
Learning
Stream
Processing
Workload Management (Yarn)
Storage for any type of data
Unified, Elastic, Resilient, Secure
Data Integration
Filesystem (HDFS)
Hadoop et son écosystème
Ecosystème
Data Integration
23
• Sqoop
• Flume
• Logstash/Beats
• Kafka (messaging)
• Autres…
28/02/2017
Hadoop et son écosystème
Ecosystème
Data Integration - Sqoop
24
• Outils permettant de transférer des données en
masse entre Hadoop et un entrepôt de données
structuré tel qu’une base de données
28/02/2017
Hadoop et son écosystème
Ecosystème
Data Integration - Flume
25
• Flume est un service distribué, fiable et hautement
disponible servant à la collecte, la l’agrégation et le
déplacement d’une grosse quantité de données de
logs
• Composé de
– Source
– Sink
– Channel
28/02/2017
Hadoop et son écosystème
Ecosystème
Data Integration - Logstash
2628/02/2017
• Logstash est un simple agent orienté message qu’il
est possible de configurer pour combiner différentes
fonctions
• Composé de
– Input
– Filter
– Output
Hadoop et son écosystème
Ecosystème
Data Integration - Kafka
27
• Système orienté message de type publish/subscribe
implémenté comme système de traces transactionnel
distribué, adapté pour la consommation de messages
en-ligne et hors ligne
• Service de commit de traces distribué, partitionné et
répliqué
• Les producteurs publient des messages dans des
topics, les consommateurs s'abonnent à ces sujets et
consomment les messages
28/02/2017
Hadoop et son écosystème
Ecosystème
Data Integration - Autres
28
• Driver (java, …)
• WebHDFS
• Gateway NFS
• NiFi
• …
28/02/2017
Hadoop et son écosystème
Ecosystème
Batch Processing
2928/02/2017
Batch
Processing
Analytic
SQL
Search
Engine
Machine
Learning
Stream
Processing
Workload Management (Yarn)
Storage for any type of data
Unified, Elastic, Resilient, Secure
Data Integration
Filesystem (HDFS)
Hadoop et son écosystème
Ecosystème
Batch Processing
30
• MapReduce
• Hive
• Pig
• Cascading
• Spark
28/02/2017
Hadoop et son écosystème
Ecosystème
Batch Processing - MapReduce
31
• Framework MapReduce ;)
28/02/2017
public class WordCount {
public static class TokenizerMapper
extends Mapper<Object, Text, Text, IntWritable>{
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();
public void map(Object key, Text value, Context context
) throws IOException, InterruptedException {
StringTokenizer itr = new StringTokenizer(value.toString());
while (itr.hasMoreTokens()) {
word.set(itr.nextToken());
context.write(word, one);
}
}
}
public static class IntSumReducer
extends Reducer<Text,IntWritable,Text,IntWritable> {
private IntWritable result = new IntWritable();
public void reduce(Text key, Iterable<IntWritable> values,
Context context
) throws IOException, InterruptedException {
int sum = 0;
for (IntWritable val : values) {
sum += val.get();
}
result.set(sum);
context.write(key, result);
}
}
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
Job job = Job.getInstance(conf, "word count");
job.setJarByClass(WordCount.class);
job.setMapperClass(TokenizerMapper.class);
job.setCombinerClass(IntSumReducer.class);
job.setReducerClass(IntSumReducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
FileInputFormat.addInputPath(job, new Path(args[0]));
FileOutputFormat.setOutputPath(job, new Path(args[1]));
System.exit(job.waitForCompletion(true) ? 0 : 1);
}
}
Hadoop et son écosystème
Ecosystème
Batch Processing - Hive
32
• Permet l’exécution de requêtes SQL sur un cluster
Hadoop en vue d’analyser et d’agréger les données.
• Langage de visualisation uniquement
• Offre les connecteurs ODBC/JDBC
28/02/2017
CREATE EXTERNAL TABLE IF NOT EXISTS test(id INT, value STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ';'
STORED AS TEXTFILE
LOCATION 'hdfs://localhost:20112/test/hive/‘;
SELECT * FROM test;
Hadoop et son écosystème
Ecosystème
Batch Processing - Pig
33
• Permet le requêtage des données Hadoop à partir
d’un langage de script
• Basé sur un langage de haut niveau permettant de
créer des programmes de type MapReduce
28/02/2017
a = LOAD 'nyse_stocks' using
org.apache.hcatalog.pig.HCatLoader();
b = filter a by stock_symbol == 'IBM';
dump b;
Hadoop et son écosystème
Ecosystème
Batch Processing - Cascading
34
• API de traitement de données et planificateur de
requête pour la définition, le partage et le traitement
de données
28/02/2017
Fields token = new Fields( "token" );
Fields text = new Fields( "text" );
RegexSplitGenerator splitter = new RegexSplitGenerator( token, "[ [](),.]" );
Pipe docPipe = new Each( "token", text, splitter, Fields.RESULTS );
Pipe wcPipe = new Pipe( "wc", docPipe );
wcPipe = new GroupBy( wcPipe, token );
wcPipe = new Every( wcPipe, Fields.ALL, new Count(), Fields.ALL );
FlowDef flowDef = FlowDef.flowDef().setName( "wc" )
.addSource( docPipe, docTap )
.addTailSink( wcPipe, wcTap );
Flow wcFlow = flowConnector.connect( flowDef );
wcFlow.writeDOT( "dot/wc.dot" );
wcFlow.complete();
Hadoop et son écosystème
Ecosystème
Batch Processing - Spark
35
– Moteur d’analyse multifonction adapté au traitement
rapide de gros volumes de données
– Concurrent de MapReduce
– Basé sur les RDD (Resilient Distributed DataSet)
– Peut également utiliser SparkSQL/DataSet
– Peut s’appuyer surYARN
28/02/2017
Hadoop et son écosystème
Ecosystème
Analytic SQL
3628/02/2017
Batch
Processing
Analytic
SQL
Search
Engine
Machine
Learning
Stream
Processing
Workload Management (Yarn)
Storage for any type of data
Unified, Elastic, Resilient, Secure
Data Integration
Filesystem (HDFS)
Hadoop et son écosystème
Ecosystème
Analytic SQL
37
• Drill
• Impala
• Spark SQL
• Autres…
28/02/2017
Hadoop et son écosystème
Ecosystème
Analytic SQL - Drill
38
• Système distribué permettant d’effectuer des requêtes sur de
larges données permettant l’analyse interactive des données
en SQL
• Permet de requêter des sources de données hétérogènes :
– MongoDB
– JSON
– HDFS
– Hive
– Classpath
– HBase
• Offre le connecteur ODBC
28/02/2017
Hadoop et son écosystème
Ecosystème
Analytic SQL - Impala
39
• Système distribué permettant d’effectuer des requêtes sur
de larges données permettant l’analyse interactive des
données en SQL
• Permet de requêter des sources de données hétérogènes :
– HDFS
– HBase
• Compatible avec Hive
28/02/2017
Hadoop et son écosystème
Ecosystème
Analytic SQL – Spark SQL
40
• Module de Spark offrant une API de plus haut niveau
avec une syntaxe SQL
• Equivalent à Hive mais s’exécutant sur Spark
• Offre le connecteur JDBC
28/02/2017
Hadoop et son écosystème
Ecosystème
Analytic SQL – Autres
41
• Hawq
• Presto
• Hive LLAP
• …
28/02/2017
Hadoop et son écosystème
Ecosystème
Stream Processing
4228/02/2017
Batch
Processing
Analytic
SQL
Search
Engine
Machine
Learning
Stream
Processing
Workload Management (Yarn)
Storage for any type of data
Unified, Elastic, Resilient, Secure
Data Integration
Filesystem (HDFS)
Hadoop et son écosystème
Ecosystème
Stream Processing
43
• Storm
• Spark Streaming
• Spring Cloud DataFlow
• Samza
• Autres…
28/02/2017
Hadoop et son écosystème
Ecosystème
Stream Processing - Storm
44
• Système de calcul distribué temps réel
• S’appuie sur les notions de :
• Nimbus Node (~JobTracker)
• Zookeeper
• Supervisor Node (~NodeManager)
• Notions de Spouts/Bolts
• Peut s’appuyer surYARN
28/02/2017
Hadoop et son écosystème
Ecosystème
Stream Processing – Spark Streaming
45
• Module de Spark permettant de traiter des flux de
données qui arrivent en continu, et donc de traiter
ces données au fur et à mesure de leur arrivée
• Fonctionnement sur le principe de microbatch
28/02/2017
Hadoop et son écosystème
Ecosystème
Stream Processing – Spring Cloud DataFlow
46
• Anciennement Spring XD
• Basé sur Spring Integration, Spring Batch et Spring
Data
• Offre un DSL qui permet de construire une route qui
est exécuté par des job managé par Spring Batch en
exploitant le provisionning parYARN / MESOS /
Local
28/02/2017
Hadoop et son écosystème
Ecosystème
Stream Processing – Samza
4728/02/2017
• Framework permettant de traiter de manière
distribué des flux
• Utilise Kafka,YARN
• Offre la possibilité de faire du windowing
Hadoop et son écosystème
Ecosystème
Stream Processing – Autres
4828/02/2017
• Flink
• NiFi
• Kafka Stream
• Apex
• Heron
• …
Hadoop et son écosystème
Ecosystème
Machine Learning
4928/02/2017
Batch
Processing
Analytic
SQL
Search
Engine
Machine
Learning
Stream
Processing
Workload Management (Yarn)
Storage for any type of data
Unified, Elastic, Resilient, Secure
Data Integration
Filesystem (HDFS)
Hadoop et son écosystème
Ecosystème
Machine Learning
50
• Mahout
• Spark ML
28/02/2017
Hadoop et son écosystème
Ecosystème
Machine Learning - Mahout
51
• Vise à créer des implémentations d’algorithmes
d’apprentissage automatiques et de dataminings.
• Même si les principaux algorithmes d’apprentissage
se basent sur MapReduce, il n’y a pas d’obligation à
utiliser Hadoop
28/02/2017
Hadoop et son écosystème
Ecosystème
Machine Learning – Spark ML
52
• Librairie Spark de machine learning fournissant les
algorithmes de classique (classification, regression,
clustering, collaborative filtering, dimensionality
reduction, …)
28/02/2017
Hadoop et son écosystème
Ecosystème
Machine Learning
5328/02/2017
Batch
Processing
Analytic
SQL
Search
Engine
Machine
Learning
Stream
Processing
Workload Management (Yarn)
Storage for any type of data
Unified, Elastic, Resilient, Secure
Data Integration
Filesystem (HDFS)
Hadoop et son écosystème
Ecosystème
Search Engine
54
• SolR
• Elastic
28/02/2017
Hadoop et son écosystème
Ecosystème
Search Engine – SolR
5528/02/2017
• SolR offre une indexation distribué, répliqué basé sur
Apache Lucene
• Permet la recherche full text, le highlighting, le
facetting, la recherche géospatiale
• Permet l’indexation de documents riches
Hadoop et son écosystème
Ecosystème
Search Engine – Elastic
5628/02/2017
• Elastic offre une indexation distribué, répliqué basé
sur Apache Lucene
• Permet la recherche full text, le highlighting, le
facetting, la recherche géospatiale
• Permet l’indexation de documents riches
Hadoop et son écosystème
Ecosystème
Autre
5728/02/2017
Hadoop et son écosystème
Ecosystème
Autre
58
• HBase
• Phoenix
• Cassandra
• Neo4J / MongoDB / …
• Kudu
• Confluent.io
• Oozie
• Zookeeper
• Tez
• Mesos
• MaprFS / MaprDB / MaprStream
• Beam
• Ambari / Knox / Ranger
28/02/2017
Hadoop et son écosystème
Ecosystème
Autre - HBase
59
• Système de gestion de base de données non-
relationnelles distribué de type orientée colonnes
• Basés sur une architecture maitre/esclave (HBase
Master et Region Server)
28/02/2017
Hadoop et son écosystème
Ecosystème
Autre - Phoenix
6028/02/2017
• Permet de requêter HBase via une interface SQL en
offrant un driver jdbc.
• Phoenix accepte une requête SQL et la traduit en
une série de scan Hbase. Il orchestre ensuite son
exécution pour produire un résultat au format
ResultSet JDBC.
• Les métadonnées de la table sont stockées et
versionnées dans une table HBase.
Hadoop et son écosystème
Ecosystème
Autre - Cassandra
6128/02/2017
• Système de gestion de base de données non-
relationnelles distribué de type orientée colonnes
• Conçu pour être hautement disponible, scalable
linéairement, et sans Single Point Of Failure
Hadoop et son écosystème
Ecosystème
Autre – Neo4J / MongoDB / …
6228/02/2017
• Neo4j
– NoSQL orienté graphe
• MongoDB
– NoSQL orienté document
• CouchBase
– NoSQL orienté clé/valeur / document
• Redis /Voldemort
– NoSQL orienté clé/valeur
Hadoop et son écosystème
Ecosystème
Autre - Kudu
6328/02/2017
• Système de gestion de base de données non-
relationnelles distribué de type orientée colonnes
• Conçu pour offrir de bonnes performances aussi
bien pour les scanne que pour les accès aléatoire
• Se positionne entre HDFS et HBase
Hadoop et son écosystème
Ecosystème
Autre – Confluent.io
6428/02/2017
• Intégration de :
– Kafka
– Avro
– SchemaRegistry
– Gateway Rest pour lire/écrire dans Kafka
Hadoop et son écosystème
Ecosystème
Autre - Oozie
65
• Solution de workflow (au sens ordonnanceur
d’exploitation) utilisée pour gérer et coordonner les
tâches de traitement de données à destination de
Hadoop.
• Integré avec l’écosystème Hadoop :
– MapReduce (Java et Streaming)
– Pig
– Hive
– Sqoop
– Autres (Java ou scripts de type Shell)
28/02/2017
Hadoop et son écosystème
Ecosystème
Autre - Zookeeper
66
• Service de coordination des services (et en
l’occurrence des services d’un cluster Hadoop)
• Fournit aux composants Hadoop les fonctionnalités
de distribution
• Indispensable à :
– HBase
– Storm
– Kafka
28/02/2017
Hadoop et son écosystème
Ecosystème
Autre - Tez
67
• Remplace MapReduce en utilisantYARN afin de
fournir des requêtes dites “temps réel”
• Utilisable par (work in progress) :
– Hive
– Pig
– Cascading
28/02/2017
Hadoop et son écosystème
Ecosystème
Autre - Mesos
6828/02/2017
• Alternative àYARN
• Cluster Manager permettant d’abstraire le CPU, la
mémoire, le stockage ainsi que les resources de
calcul
Hadoop et son écosystème
Ecosystème
Autre – MaprFS / MaprDB / MaprStream
6928/02/2017
• MapR propose MapR-FS en alternative à HDFS
• MapR propose MapR-DB en alternative à HBase
• MapR propose MapR-Stream en alternative à Kafka
• Offre les mêmes API (HDFS/HBase/Kafka)
Hadoop et son écosystème
Ecosystème
Autre – Beam
70
• API de Google DataFlow permettant de s’exécuter
sur différent moteur d’exécution :
– DataFlow
– Spark
– Flink
– Apex
– …
28/02/2017
Hadoop et son écosystème
Ecosystème
Autre – Ambari / Knox / Ranger
71
• Ambari
– Destiné à la supervision et à l’administration de clusters
Hadoop
– Gestion de configuration permettant de déployer des
services d’Hadoop ou de son écosystème sur des clusters
de machines
• Knox
– Gateway HTTP
• Ranger
– Gestion de la sécurité
28/02/2017
Hadoop et son écosystème
Le mot de la fin… (?)
7228/02/2017
Hadoop et son écosystème
Questions ?
7328/02/2017
Hadoop et son écosystème
Merci !
7428/02/2017

Contenu connexe

Tendances

Une introduction à Hive
Une introduction à HiveUne introduction à Hive
Une introduction à Hive
Modern Data Stack France
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
Alexia Audevart
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introduction
fredcons
 
Apache hive
Apache hiveApache hive
Apache hive
Vaibhav Kadu
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
ENSET, Université Hassan II Casablanca
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
Lilia Sfaxi
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
Lilia Sfaxi
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystème
Khanh Maudoux
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
Lilia Sfaxi
 
Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
Mouna Torjmen
 
Les BD NoSQL
Les BD NoSQLLes BD NoSQL
Les BD NoSQL
Minyar Sassi Hidri
 
Installation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidInstallation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abid
Amal Abid
 
Une introduction à HBase
Une introduction à HBaseUne introduction à HBase
Une introduction à HBase
Modern Data Stack France
 
[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)
NAVER D2
 
Büyük Veri İşlemleri ve Hadoop
Büyük Veri İşlemleri ve HadoopBüyük Veri İşlemleri ve Hadoop
Büyük Veri İşlemleri ve Hadoop
Cenk Derinozlu
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data Processing
Lilia Sfaxi
 
Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)
Alexis Seigneurin
 
Securing Hadoop with Apache Ranger
Securing Hadoop with Apache RangerSecuring Hadoop with Apache Ranger
Securing Hadoop with Apache Ranger
DataWorks Summit
 
Apache Ambari: Past, Present, Future
Apache Ambari: Past, Present, FutureApache Ambari: Past, Present, Future
Apache Ambari: Past, Present, Future
Hortonworks
 

Tendances (20)

Une introduction à Hive
Une introduction à HiveUne introduction à Hive
Une introduction à Hive
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introduction
 
Apache hive
Apache hiveApache hive
Apache hive
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystème
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 
Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
 
Les BD NoSQL
Les BD NoSQLLes BD NoSQL
Les BD NoSQL
 
Installation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidInstallation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abid
 
Une introduction à HBase
Une introduction à HBaseUne introduction à HBase
Une introduction à HBase
 
Hadoop
HadoopHadoop
Hadoop
 
[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)
 
Büyük Veri İşlemleri ve Hadoop
Büyük Veri İşlemleri ve HadoopBüyük Veri İşlemleri ve Hadoop
Büyük Veri İşlemleri ve Hadoop
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data Processing
 
Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)
 
Securing Hadoop with Apache Ranger
Securing Hadoop with Apache RangerSecuring Hadoop with Apache Ranger
Securing Hadoop with Apache Ranger
 
Apache Ambari: Past, Present, Future
Apache Ambari: Past, Present, FutureApache Ambari: Past, Present, Future
Apache Ambari: Past, Present, Future
 

En vedette

List wojewody pomorskiego
List wojewody pomorskiegoList wojewody pomorskiego
List wojewody pomorskiego
RadioGdansk
 
Planeación de-clase-de-español.
Planeación de-clase-de-español.Planeación de-clase-de-español.
Planeación de-clase-de-español.
Sonia Aviles
 
20170225教學聯繫
20170225教學聯繫20170225教學聯繫
20170225教學聯繫
teresahung1965
 
Coltan
ColtanColtan
Coltan
718853
 
Búsqueda de la Felicidad y el problema de la Política - Filosofía
Búsqueda de la Felicidad y el problema de la Política - FilosofíaBúsqueda de la Felicidad y el problema de la Política - Filosofía
Búsqueda de la Felicidad y el problema de la Política - Filosofía
Universidad Peruana de Ciencias Aplicadas
 
Building a Virtualized Continuum with Intel(r) Clear Containers
Building a Virtualized Continuum with Intel(r) Clear ContainersBuilding a Virtualized Continuum with Intel(r) Clear Containers
Building a Virtualized Continuum with Intel(r) Clear Containers
Michelle Holley
 
Arquitectura cliente servidor para internet
Arquitectura cliente servidor para internetArquitectura cliente servidor para internet
Arquitectura cliente servidor para internet
Darwin Daniel Ardila Lombana
 
сабақ жамбыл жабаев өмірі,шығармашылығы
сабақ   жамбыл жабаев өмірі,шығармашылығысабақ   жамбыл жабаев өмірі,шығармашылығы
сабақ жамбыл жабаев өмірі,шығармашылығы
oquzaman
 
Coltan
ColtanColtan
Baccalaureate Catalogue 2005-2006
Baccalaureate Catalogue 2005-2006 Baccalaureate Catalogue 2005-2006
Baccalaureate Catalogue 2005-2006
Forman Christian College (A Chartered University)
 
New base 1009 special 08 march 2017 energy news
New base 1009 special 08 march 2017 energy newsNew base 1009 special 08 march 2017 energy news
New base 1009 special 08 march 2017 energy news
Khaled Al Awadi
 
Produkcja prawa w Polsce największa w historii - edycja 2017 r.
Produkcja prawa w Polsce największa w historii - edycja 2017 r.Produkcja prawa w Polsce największa w historii - edycja 2017 r.
Produkcja prawa w Polsce największa w historii - edycja 2017 r.
Grant Thornton
 
WDG - Donne e social media: pericoli e opportunità della rete
WDG - Donne e social media: pericoli e opportunità della reteWDG - Donne e social media: pericoli e opportunità della rete
WDG - Donne e social media: pericoli e opportunità della rete
CAMELIA BOBAN
 
Teoria de cola
Teoria de colaTeoria de cola
Teoria de cola
Lenin Pirela
 

En vedette (14)

List wojewody pomorskiego
List wojewody pomorskiegoList wojewody pomorskiego
List wojewody pomorskiego
 
Planeación de-clase-de-español.
Planeación de-clase-de-español.Planeación de-clase-de-español.
Planeación de-clase-de-español.
 
20170225教學聯繫
20170225教學聯繫20170225教學聯繫
20170225教學聯繫
 
Coltan
ColtanColtan
Coltan
 
Búsqueda de la Felicidad y el problema de la Política - Filosofía
Búsqueda de la Felicidad y el problema de la Política - FilosofíaBúsqueda de la Felicidad y el problema de la Política - Filosofía
Búsqueda de la Felicidad y el problema de la Política - Filosofía
 
Building a Virtualized Continuum with Intel(r) Clear Containers
Building a Virtualized Continuum with Intel(r) Clear ContainersBuilding a Virtualized Continuum with Intel(r) Clear Containers
Building a Virtualized Continuum with Intel(r) Clear Containers
 
Arquitectura cliente servidor para internet
Arquitectura cliente servidor para internetArquitectura cliente servidor para internet
Arquitectura cliente servidor para internet
 
сабақ жамбыл жабаев өмірі,шығармашылығы
сабақ   жамбыл жабаев өмірі,шығармашылығысабақ   жамбыл жабаев өмірі,шығармашылығы
сабақ жамбыл жабаев өмірі,шығармашылығы
 
Coltan
ColtanColtan
Coltan
 
Baccalaureate Catalogue 2005-2006
Baccalaureate Catalogue 2005-2006 Baccalaureate Catalogue 2005-2006
Baccalaureate Catalogue 2005-2006
 
New base 1009 special 08 march 2017 energy news
New base 1009 special 08 march 2017 energy newsNew base 1009 special 08 march 2017 energy news
New base 1009 special 08 march 2017 energy news
 
Produkcja prawa w Polsce największa w historii - edycja 2017 r.
Produkcja prawa w Polsce największa w historii - edycja 2017 r.Produkcja prawa w Polsce największa w historii - edycja 2017 r.
Produkcja prawa w Polsce największa w historii - edycja 2017 r.
 
WDG - Donne e social media: pericoli e opportunità della rete
WDG - Donne e social media: pericoli e opportunità della reteWDG - Donne e social media: pericoli e opportunità della rete
WDG - Donne e social media: pericoli e opportunità della rete
 
Teoria de cola
Teoria de colaTeoria de cola
Teoria de cola
 

Similaire à Hadoop et son écosystème - v2

Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big DataJournées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
David Joubert
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big Data
Arrow Group
 
Tech day hadoop, Spark
Tech day hadoop, SparkTech day hadoop, Spark
Tech day hadoop, Spark
Arrow-Institute
 
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataJSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
GUSS
 
P8 03 presentation
P8 03 presentationP8 03 presentation
P8 03 presentation
rajiasellami
 
Pachyderm big data de l'ère docker
Pachyderm big data de l'ère dockerPachyderm big data de l'ère docker
Pachyderm big data de l'ère docker
Enguerran Delahaie
 
HADOOP + R
HADOOP + RHADOOP + R
HADOOP + R
Cdiscount
 
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureBig Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Microsoft
 
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Casablanca Hadoop & Big Data Meetup - Introduction à HadoopCasablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Benoît de CHATEAUVIEUX
 
Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !
Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !
Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !
OCTO Technology
 
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -introNosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Olivier Mallassi
 
Big Data : Une Introduction
Big Data : Une IntroductionBig Data : Une Introduction
Big Data : Une Introduction
Nicolas OGÉ
 
Big data architectures
Big data architecturesBig data architectures
Big data architectures
Mariem Khalfaoui
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
JEMLI Fathi
 
Social Network Analysis Utilizing Big Data Technology
Social Network Analysis Utilizing Big Data TechnologySocial Network Analysis Utilizing Big Data Technology
Social Network Analysis Utilizing Big Data Technology
Imad ALILAT
 
Hadoop Introduction in Paris
Hadoop Introduction in ParisHadoop Introduction in Paris
Hadoop Introduction in Paris
Ted Drake
 
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel ArkéaMathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Modern Data Stack France
 
10 big data hadoop
10 big data hadoop10 big data hadoop
10 big data hadoop
Patrick Bury
 
10 big data hadoop
10 big data hadoop10 big data hadoop
10 big data hadoop
Patrick Bury
 

Similaire à Hadoop et son écosystème - v2 (20)

Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big DataJournées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big Data
 
Tech day hadoop, Spark
Tech day hadoop, SparkTech day hadoop, Spark
Tech day hadoop, Spark
 
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataJSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
 
P8 03 presentation
P8 03 presentationP8 03 presentation
P8 03 presentation
 
Pachyderm big data de l'ère docker
Pachyderm big data de l'ère dockerPachyderm big data de l'ère docker
Pachyderm big data de l'ère docker
 
HADOOP + R
HADOOP + RHADOOP + R
HADOOP + R
 
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureBig Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
 
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Casablanca Hadoop & Big Data Meetup - Introduction à HadoopCasablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
 
Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !
Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !
Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !
 
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -introNosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
 
Big Data : Une Introduction
Big Data : Une IntroductionBig Data : Une Introduction
Big Data : Une Introduction
 
Big data architectures
Big data architecturesBig data architectures
Big data architectures
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
 
Social Network Analysis Utilizing Big Data Technology
Social Network Analysis Utilizing Big Data TechnologySocial Network Analysis Utilizing Big Data Technology
Social Network Analysis Utilizing Big Data Technology
 
Spark - Ippevent 19-02-2015
Spark - Ippevent 19-02-2015Spark - Ippevent 19-02-2015
Spark - Ippevent 19-02-2015
 
Hadoop Introduction in Paris
Hadoop Introduction in ParisHadoop Introduction in Paris
Hadoop Introduction in Paris
 
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel ArkéaMathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
 
10 big data hadoop
10 big data hadoop10 big data hadoop
10 big data hadoop
 
10 big data hadoop
10 big data hadoop10 big data hadoop
10 big data hadoop
 

Plus de Khanh Maudoux

Hadoop unit
Hadoop unitHadoop unit
Hadoop unit
Khanh Maudoux
 
Hadoop unit
Hadoop unitHadoop unit
Hadoop unit
Khanh Maudoux
 
Hadoop unit
Hadoop unitHadoop unit
Hadoop unit
Khanh Maudoux
 
De 20 000 à 4 millions d'utilisateurs : mode d'emploi
De 20 000 à 4 millions d'utilisateurs : mode d'emploiDe 20 000 à 4 millions d'utilisateurs : mode d'emploi
De 20 000 à 4 millions d'utilisateurs : mode d'emploi
Khanh Maudoux
 
Comment mieux vivre avec ses tests d'acceptance
Comment mieux vivre avec ses tests d'acceptanceComment mieux vivre avec ses tests d'acceptance
Comment mieux vivre avec ses tests d'acceptance
Khanh Maudoux
 
Introduction sur les problématiques d'une architecture distribuée
Introduction sur les problématiques d'une architecture distribuéeIntroduction sur les problématiques d'une architecture distribuée
Introduction sur les problématiques d'une architecture distribuée
Khanh Maudoux
 
Présentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expériencePrésentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expérience
Khanh Maudoux
 

Plus de Khanh Maudoux (7)

Hadoop unit
Hadoop unitHadoop unit
Hadoop unit
 
Hadoop unit
Hadoop unitHadoop unit
Hadoop unit
 
Hadoop unit
Hadoop unitHadoop unit
Hadoop unit
 
De 20 000 à 4 millions d'utilisateurs : mode d'emploi
De 20 000 à 4 millions d'utilisateurs : mode d'emploiDe 20 000 à 4 millions d'utilisateurs : mode d'emploi
De 20 000 à 4 millions d'utilisateurs : mode d'emploi
 
Comment mieux vivre avec ses tests d'acceptance
Comment mieux vivre avec ses tests d'acceptanceComment mieux vivre avec ses tests d'acceptance
Comment mieux vivre avec ses tests d'acceptance
 
Introduction sur les problématiques d'une architecture distribuée
Introduction sur les problématiques d'une architecture distribuéeIntroduction sur les problématiques d'une architecture distribuée
Introduction sur les problématiques d'une architecture distribuée
 
Présentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expériencePrésentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expérience
 

Hadoop et son écosystème - v2

  • 1. Hadoop et son écosystème par KhanhTuong MAUDOUX @jetoile 128/02/2017
  • 2. Hadoop et son écosystème Qui je suis… • KhanhTuong Maudoux • Développeur Java, JavaEE, BigData indépendant • blog : blog.jetoile.fr • @jetoile • khanh.maudoux@jetoile.fr 228/02/2017
  • 3. Hadoop et son écosystème 28/02/2017 3
  • 4. Hadoop et son écosystème Au programme… • Hadoop : qu’est ce que c’est? – MapReduce – HDFS – Yarn • Ecosystème – Data Integration – Batch Processing – Analytic SQL – Streaming Processing – Machine Learning – Search Engine – Autre 428/02/2017
  • 5. Hadoop et son écosystème Qu’est ce que c’est… 528/02/2017
  • 6. Hadoop et son écosystème Qu’est ce que c’est… • BigData => V4 – Volume – Vélocité – Variété – Véracité • BigData => Hadoop? 28/02/2017 6 Ne parlera pas des API de programmations comme Cascalog/Hive/Pig/Java/…
  • 7. Hadoop et son écosystème Qu’est ce que c’est… 28/02/2017 7 HDP 2.5
  • 8. Hadoop et son écosystème Qu’est ce que c’est… MapReduce 828/02/2017
  • 9. Hadoop et son écosystème Qu’est ce que c’est… MapReduce 928/02/2017
  • 10. Hadoop et son écosystème Qu’est ce que c’est… MapReduce 10 • Et… Shuffle 28/02/2017
  • 11. Hadoop et son écosystème Qu’est ce que c’est… MapReduce 11 • Et… Shuffle 28/02/2017
  • 12. Hadoop et son écosystème Qu’est ce que c’est… HDFS 1228/02/2017
  • 13. Hadoop et son écosystème Qu’est ce que c’est… HDFS 13 • Hadoop Distributed FileSystem • FileSystem – Les données sont écrites dans des blocs gérés par le FileSystem • HDFS – Les données sont écrites dans des blocs gérés par le HDFS => Un fichier dans HDFS est constitué de blocs 28/02/2017
  • 14. Hadoop et son écosystème Qu’est ce que c’est… HDFS 14 • Permet : – La réplication (les blocs sont répliqués) et donc la résilience – La scalabilité (les blocs ne sont pas tous sur la même machine) – … 28/02/2017
  • 15. Hadoop et son écosystème Qu’est ce que c’est… HDFS - Architecture 15 • NameNode et DataNode 28/02/2017 NameNode Namespace Metadata Block Map Journaling Disk DataNode Storage Disk DataNode Storage Disk Storage Disk Bloc report Contient la localisation réelle des données (bloc/datanode) DataNode
  • 16. Hadoop et son écosystème Qu’est ce que c’est… HDFS - Lecture 1628/02/2017
  • 17. Hadoop et son écosystème Qu’est ce que c’est… HDFS - Ecriture 1728/02/2017
  • 18. Hadoop et son écosystème Qu’est ce que c’est… YARN 1828/02/2017
  • 19. Hadoop et son écosystème Qu’est ce que c’est… YARN 19 • Avant : – JobTracker – TaskTracker 28/02/2017
  • 20. Hadoop et son écosystème Qu’est ce que c’est… YARN 20 • Yet Another Resource Negociator • Composé de : – ResourceManager – NodeManager – ApplicationMaster 28/02/2017
  • 21. Hadoop et son écosystème Ecosystème 2128/02/2017 Batch Processing Analytic SQL Search Engine Machine Learning Stream Processing Workload Management (Yarn) Storage for any type of data Unified, Elastic, Resilient, Secure Data Integration Filesystem (HDFS)
  • 22. Hadoop et son écosystème Ecosystème Data Integration 2228/02/2017 Batch Processing Analytic SQL Search Engine Machine Learning Stream Processing Workload Management (Yarn) Storage for any type of data Unified, Elastic, Resilient, Secure Data Integration Filesystem (HDFS)
  • 23. Hadoop et son écosystème Ecosystème Data Integration 23 • Sqoop • Flume • Logstash/Beats • Kafka (messaging) • Autres… 28/02/2017
  • 24. Hadoop et son écosystème Ecosystème Data Integration - Sqoop 24 • Outils permettant de transférer des données en masse entre Hadoop et un entrepôt de données structuré tel qu’une base de données 28/02/2017
  • 25. Hadoop et son écosystème Ecosystème Data Integration - Flume 25 • Flume est un service distribué, fiable et hautement disponible servant à la collecte, la l’agrégation et le déplacement d’une grosse quantité de données de logs • Composé de – Source – Sink – Channel 28/02/2017
  • 26. Hadoop et son écosystème Ecosystème Data Integration - Logstash 2628/02/2017 • Logstash est un simple agent orienté message qu’il est possible de configurer pour combiner différentes fonctions • Composé de – Input – Filter – Output
  • 27. Hadoop et son écosystème Ecosystème Data Integration - Kafka 27 • Système orienté message de type publish/subscribe implémenté comme système de traces transactionnel distribué, adapté pour la consommation de messages en-ligne et hors ligne • Service de commit de traces distribué, partitionné et répliqué • Les producteurs publient des messages dans des topics, les consommateurs s'abonnent à ces sujets et consomment les messages 28/02/2017
  • 28. Hadoop et son écosystème Ecosystème Data Integration - Autres 28 • Driver (java, …) • WebHDFS • Gateway NFS • NiFi • … 28/02/2017
  • 29. Hadoop et son écosystème Ecosystème Batch Processing 2928/02/2017 Batch Processing Analytic SQL Search Engine Machine Learning Stream Processing Workload Management (Yarn) Storage for any type of data Unified, Elastic, Resilient, Secure Data Integration Filesystem (HDFS)
  • 30. Hadoop et son écosystème Ecosystème Batch Processing 30 • MapReduce • Hive • Pig • Cascading • Spark 28/02/2017
  • 31. Hadoop et son écosystème Ecosystème Batch Processing - MapReduce 31 • Framework MapReduce ;) 28/02/2017 public class WordCount { public static class TokenizerMapper extends Mapper<Object, Text, Text, IntWritable>{ private final static IntWritable one = new IntWritable(1); private Text word = new Text(); public void map(Object key, Text value, Context context ) throws IOException, InterruptedException { StringTokenizer itr = new StringTokenizer(value.toString()); while (itr.hasMoreTokens()) { word.set(itr.nextToken()); context.write(word, one); } } } public static class IntSumReducer extends Reducer<Text,IntWritable,Text,IntWritable> { private IntWritable result = new IntWritable(); public void reduce(Text key, Iterable<IntWritable> values, Context context ) throws IOException, InterruptedException { int sum = 0; for (IntWritable val : values) { sum += val.get(); } result.set(sum); context.write(key, result); } } public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); Job job = Job.getInstance(conf, "word count"); job.setJarByClass(WordCount.class); job.setMapperClass(TokenizerMapper.class); job.setCombinerClass(IntSumReducer.class); job.setReducerClass(IntSumReducer.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); System.exit(job.waitForCompletion(true) ? 0 : 1); } }
  • 32. Hadoop et son écosystème Ecosystème Batch Processing - Hive 32 • Permet l’exécution de requêtes SQL sur un cluster Hadoop en vue d’analyser et d’agréger les données. • Langage de visualisation uniquement • Offre les connecteurs ODBC/JDBC 28/02/2017 CREATE EXTERNAL TABLE IF NOT EXISTS test(id INT, value STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ';' STORED AS TEXTFILE LOCATION 'hdfs://localhost:20112/test/hive/‘; SELECT * FROM test;
  • 33. Hadoop et son écosystème Ecosystème Batch Processing - Pig 33 • Permet le requêtage des données Hadoop à partir d’un langage de script • Basé sur un langage de haut niveau permettant de créer des programmes de type MapReduce 28/02/2017 a = LOAD 'nyse_stocks' using org.apache.hcatalog.pig.HCatLoader(); b = filter a by stock_symbol == 'IBM'; dump b;
  • 34. Hadoop et son écosystème Ecosystème Batch Processing - Cascading 34 • API de traitement de données et planificateur de requête pour la définition, le partage et le traitement de données 28/02/2017 Fields token = new Fields( "token" ); Fields text = new Fields( "text" ); RegexSplitGenerator splitter = new RegexSplitGenerator( token, "[ [](),.]" ); Pipe docPipe = new Each( "token", text, splitter, Fields.RESULTS ); Pipe wcPipe = new Pipe( "wc", docPipe ); wcPipe = new GroupBy( wcPipe, token ); wcPipe = new Every( wcPipe, Fields.ALL, new Count(), Fields.ALL ); FlowDef flowDef = FlowDef.flowDef().setName( "wc" ) .addSource( docPipe, docTap ) .addTailSink( wcPipe, wcTap ); Flow wcFlow = flowConnector.connect( flowDef ); wcFlow.writeDOT( "dot/wc.dot" ); wcFlow.complete();
  • 35. Hadoop et son écosystème Ecosystème Batch Processing - Spark 35 – Moteur d’analyse multifonction adapté au traitement rapide de gros volumes de données – Concurrent de MapReduce – Basé sur les RDD (Resilient Distributed DataSet) – Peut également utiliser SparkSQL/DataSet – Peut s’appuyer surYARN 28/02/2017
  • 36. Hadoop et son écosystème Ecosystème Analytic SQL 3628/02/2017 Batch Processing Analytic SQL Search Engine Machine Learning Stream Processing Workload Management (Yarn) Storage for any type of data Unified, Elastic, Resilient, Secure Data Integration Filesystem (HDFS)
  • 37. Hadoop et son écosystème Ecosystème Analytic SQL 37 • Drill • Impala • Spark SQL • Autres… 28/02/2017
  • 38. Hadoop et son écosystème Ecosystème Analytic SQL - Drill 38 • Système distribué permettant d’effectuer des requêtes sur de larges données permettant l’analyse interactive des données en SQL • Permet de requêter des sources de données hétérogènes : – MongoDB – JSON – HDFS – Hive – Classpath – HBase • Offre le connecteur ODBC 28/02/2017
  • 39. Hadoop et son écosystème Ecosystème Analytic SQL - Impala 39 • Système distribué permettant d’effectuer des requêtes sur de larges données permettant l’analyse interactive des données en SQL • Permet de requêter des sources de données hétérogènes : – HDFS – HBase • Compatible avec Hive 28/02/2017
  • 40. Hadoop et son écosystème Ecosystème Analytic SQL – Spark SQL 40 • Module de Spark offrant une API de plus haut niveau avec une syntaxe SQL • Equivalent à Hive mais s’exécutant sur Spark • Offre le connecteur JDBC 28/02/2017
  • 41. Hadoop et son écosystème Ecosystème Analytic SQL – Autres 41 • Hawq • Presto • Hive LLAP • … 28/02/2017
  • 42. Hadoop et son écosystème Ecosystème Stream Processing 4228/02/2017 Batch Processing Analytic SQL Search Engine Machine Learning Stream Processing Workload Management (Yarn) Storage for any type of data Unified, Elastic, Resilient, Secure Data Integration Filesystem (HDFS)
  • 43. Hadoop et son écosystème Ecosystème Stream Processing 43 • Storm • Spark Streaming • Spring Cloud DataFlow • Samza • Autres… 28/02/2017
  • 44. Hadoop et son écosystème Ecosystème Stream Processing - Storm 44 • Système de calcul distribué temps réel • S’appuie sur les notions de : • Nimbus Node (~JobTracker) • Zookeeper • Supervisor Node (~NodeManager) • Notions de Spouts/Bolts • Peut s’appuyer surYARN 28/02/2017
  • 45. Hadoop et son écosystème Ecosystème Stream Processing – Spark Streaming 45 • Module de Spark permettant de traiter des flux de données qui arrivent en continu, et donc de traiter ces données au fur et à mesure de leur arrivée • Fonctionnement sur le principe de microbatch 28/02/2017
  • 46. Hadoop et son écosystème Ecosystème Stream Processing – Spring Cloud DataFlow 46 • Anciennement Spring XD • Basé sur Spring Integration, Spring Batch et Spring Data • Offre un DSL qui permet de construire une route qui est exécuté par des job managé par Spring Batch en exploitant le provisionning parYARN / MESOS / Local 28/02/2017
  • 47. Hadoop et son écosystème Ecosystème Stream Processing – Samza 4728/02/2017 • Framework permettant de traiter de manière distribué des flux • Utilise Kafka,YARN • Offre la possibilité de faire du windowing
  • 48. Hadoop et son écosystème Ecosystème Stream Processing – Autres 4828/02/2017 • Flink • NiFi • Kafka Stream • Apex • Heron • …
  • 49. Hadoop et son écosystème Ecosystème Machine Learning 4928/02/2017 Batch Processing Analytic SQL Search Engine Machine Learning Stream Processing Workload Management (Yarn) Storage for any type of data Unified, Elastic, Resilient, Secure Data Integration Filesystem (HDFS)
  • 50. Hadoop et son écosystème Ecosystème Machine Learning 50 • Mahout • Spark ML 28/02/2017
  • 51. Hadoop et son écosystème Ecosystème Machine Learning - Mahout 51 • Vise à créer des implémentations d’algorithmes d’apprentissage automatiques et de dataminings. • Même si les principaux algorithmes d’apprentissage se basent sur MapReduce, il n’y a pas d’obligation à utiliser Hadoop 28/02/2017
  • 52. Hadoop et son écosystème Ecosystème Machine Learning – Spark ML 52 • Librairie Spark de machine learning fournissant les algorithmes de classique (classification, regression, clustering, collaborative filtering, dimensionality reduction, …) 28/02/2017
  • 53. Hadoop et son écosystème Ecosystème Machine Learning 5328/02/2017 Batch Processing Analytic SQL Search Engine Machine Learning Stream Processing Workload Management (Yarn) Storage for any type of data Unified, Elastic, Resilient, Secure Data Integration Filesystem (HDFS)
  • 54. Hadoop et son écosystème Ecosystème Search Engine 54 • SolR • Elastic 28/02/2017
  • 55. Hadoop et son écosystème Ecosystème Search Engine – SolR 5528/02/2017 • SolR offre une indexation distribué, répliqué basé sur Apache Lucene • Permet la recherche full text, le highlighting, le facetting, la recherche géospatiale • Permet l’indexation de documents riches
  • 56. Hadoop et son écosystème Ecosystème Search Engine – Elastic 5628/02/2017 • Elastic offre une indexation distribué, répliqué basé sur Apache Lucene • Permet la recherche full text, le highlighting, le facetting, la recherche géospatiale • Permet l’indexation de documents riches
  • 57. Hadoop et son écosystème Ecosystème Autre 5728/02/2017
  • 58. Hadoop et son écosystème Ecosystème Autre 58 • HBase • Phoenix • Cassandra • Neo4J / MongoDB / … • Kudu • Confluent.io • Oozie • Zookeeper • Tez • Mesos • MaprFS / MaprDB / MaprStream • Beam • Ambari / Knox / Ranger 28/02/2017
  • 59. Hadoop et son écosystème Ecosystème Autre - HBase 59 • Système de gestion de base de données non- relationnelles distribué de type orientée colonnes • Basés sur une architecture maitre/esclave (HBase Master et Region Server) 28/02/2017
  • 60. Hadoop et son écosystème Ecosystème Autre - Phoenix 6028/02/2017 • Permet de requêter HBase via une interface SQL en offrant un driver jdbc. • Phoenix accepte une requête SQL et la traduit en une série de scan Hbase. Il orchestre ensuite son exécution pour produire un résultat au format ResultSet JDBC. • Les métadonnées de la table sont stockées et versionnées dans une table HBase.
  • 61. Hadoop et son écosystème Ecosystème Autre - Cassandra 6128/02/2017 • Système de gestion de base de données non- relationnelles distribué de type orientée colonnes • Conçu pour être hautement disponible, scalable linéairement, et sans Single Point Of Failure
  • 62. Hadoop et son écosystème Ecosystème Autre – Neo4J / MongoDB / … 6228/02/2017 • Neo4j – NoSQL orienté graphe • MongoDB – NoSQL orienté document • CouchBase – NoSQL orienté clé/valeur / document • Redis /Voldemort – NoSQL orienté clé/valeur
  • 63. Hadoop et son écosystème Ecosystème Autre - Kudu 6328/02/2017 • Système de gestion de base de données non- relationnelles distribué de type orientée colonnes • Conçu pour offrir de bonnes performances aussi bien pour les scanne que pour les accès aléatoire • Se positionne entre HDFS et HBase
  • 64. Hadoop et son écosystème Ecosystème Autre – Confluent.io 6428/02/2017 • Intégration de : – Kafka – Avro – SchemaRegistry – Gateway Rest pour lire/écrire dans Kafka
  • 65. Hadoop et son écosystème Ecosystème Autre - Oozie 65 • Solution de workflow (au sens ordonnanceur d’exploitation) utilisée pour gérer et coordonner les tâches de traitement de données à destination de Hadoop. • Integré avec l’écosystème Hadoop : – MapReduce (Java et Streaming) – Pig – Hive – Sqoop – Autres (Java ou scripts de type Shell) 28/02/2017
  • 66. Hadoop et son écosystème Ecosystème Autre - Zookeeper 66 • Service de coordination des services (et en l’occurrence des services d’un cluster Hadoop) • Fournit aux composants Hadoop les fonctionnalités de distribution • Indispensable à : – HBase – Storm – Kafka 28/02/2017
  • 67. Hadoop et son écosystème Ecosystème Autre - Tez 67 • Remplace MapReduce en utilisantYARN afin de fournir des requêtes dites “temps réel” • Utilisable par (work in progress) : – Hive – Pig – Cascading 28/02/2017
  • 68. Hadoop et son écosystème Ecosystème Autre - Mesos 6828/02/2017 • Alternative àYARN • Cluster Manager permettant d’abstraire le CPU, la mémoire, le stockage ainsi que les resources de calcul
  • 69. Hadoop et son écosystème Ecosystème Autre – MaprFS / MaprDB / MaprStream 6928/02/2017 • MapR propose MapR-FS en alternative à HDFS • MapR propose MapR-DB en alternative à HBase • MapR propose MapR-Stream en alternative à Kafka • Offre les mêmes API (HDFS/HBase/Kafka)
  • 70. Hadoop et son écosystème Ecosystème Autre – Beam 70 • API de Google DataFlow permettant de s’exécuter sur différent moteur d’exécution : – DataFlow – Spark – Flink – Apex – … 28/02/2017
  • 71. Hadoop et son écosystème Ecosystème Autre – Ambari / Knox / Ranger 71 • Ambari – Destiné à la supervision et à l’administration de clusters Hadoop – Gestion de configuration permettant de déployer des services d’Hadoop ou de son écosystème sur des clusters de machines • Knox – Gateway HTTP • Ranger – Gestion de la sécurité 28/02/2017
  • 72. Hadoop et son écosystème Le mot de la fin… (?) 7228/02/2017
  • 73. Hadoop et son écosystème Questions ? 7328/02/2017
  • 74. Hadoop et son écosystème Merci ! 7428/02/2017