SlideShare une entreprise Scribd logo
Initiation `a Apache Spark avec Java
Hamzaoui Mohamed Ali
2016
Facult´e des sciences math´ematiques, physiques et naturelles de Tunis
Plan
1. Intoduction
2. Familiarisation avec les concepts de Spark
3. Mise en oeuvre des RDDs
2/16
Intoduction
3/16
Intoduction
Apache Spark se pr´esente comme la nouvelle g´en´eration de moteur de
calcul distribu´e qui remplace progressivement Hadoop/MapReduce.
Spark est ´ecrit en Scala et s’ex´ecute sur la machine virtuelle Java (JVM).
Les langages support´es actuellement pour le d´eveloppement
d’applications sont : Scala , Python , Clojure R ET JAVA .
4/16
Mise en place de l’environement
Pour bien commencer, il vous faut installer sur la machine :
• Un JDK 1.8.x.
• Un IDE ou ´editeur de texte : Sublime Text, Eclipse, netbeans.
• Le binaire pr´e-compil´e de Spark.
5/16
Sommaire
Intoduction
Familiarisation avec les concepts de Spark
Mise en oeuvre des RDDs
6/16
Spark Context
SparkContext est la couche d’abstraction qui permet `a Spark de savoir o`u
il va s’ex´ecuter.
Un SparkContext standard sans param`etres correspond `a l’ex´ecution en
local sur 1 CPU du code Spark qui va l’utiliser.
public class FirstRDD {
public static void main(String[] args) {
JavaSparkContext sc = new JavaSparkContext();
JavaRDD<String> lines = sc.textFile(”/path/fst.
txt”);}}
7/16
RDD
L’abstraction de base de Spark est le RDD pour Resilient Distributed
Dataset, c’est une structure de donn´ee immutable, nous pouvons voir un
RDD comme une table dans une base de donn´ees.
Un calcul distribu´e avec Spark commence toujours par un chargement de
donn´ees via un Base RDD.
8/16
Transformations et Actions
2 concepts de base s’appuient et s’appliquent sur le RDD.
9/16
Sommaire
Intoduction
Familiarisation avec les concepts de Spark
Mise en oeuvre des RDDs
10/16
Mise en oeuvre des RDDs
Les RDDs sont une collection d’objets immuables r´epartis sur plusieurs
noeuds d’un cluster. Un RDD est cr´e´e `a partir d’un source de donn´ees ou
d’une collection d’objets Scala, Python ou Java.
11/16
Mise en oeuvre des RDDs
12/16
Mise en oeuvre des RDDs
Les op´erations disponibles sur un RDD sont :
La cr´eation :
public class FirstRDD {
public static void main(String[] args) {
JavaRDD<String> lines = sc.textFile(”data.txt”);
List<Integer> data = Arrays.asList(1, 2, 3, 4, 5);
JavaRDD<Integer> distData = sc.parallelize(data);}}
13/16
Mise en oeuvre des RDDs
Les transformations :
Les transformations ne retournent pas de valeur seule, elles retournent un
nouveau RDD. Par exemple : map, filter, flatMap, groupByKey,
reduceByKey.
public class FirstRDD {
public static void main(String[] args) {
JavaRDD<String> lines = sc.textFile(”data.txt”);
List<Integer> data = Arrays.asList(1, 2, 3, 4, 5);
JavaRDD<Integer> distData = sc.parallelize(data);
JavaRDD<Integer> 2distData = distData.map(( i)−>{
return i∗2;});}}
14/16
Mise en oeuvre des RDDs
L’action :
Les actions ´evaluent et retournent une nouvelle valeur. Au moment o`u
une fonction d’action est appel´ee sur un objet RDD, toutes les requˆetes
de traitement des donn´ees sont calcul´ees et le r´esultat est retourn´e. Les
actions sont par exemple reduce, collect, count, first, take, countByKey
et foreach.
public class FirstRDD {
public static void main(String[] args) {
JavaRDD<String> lines = sc.textFile(”data.txt”);
List<Integer> data = Arrays.asList(1, 2, 3, 4, 5);
JavaRDD<Integer> distData = sc.parallelize(data);
JavaRDD<Integer> = distData.reduce((j,i) −> {
return i + j;});}}
15/16
Les Pairs RDD
Spark offre des fonctionnalit´es sp´ecifiques aux RDD clef-valeur,
RDD[(K,V)] . Il s’agit notamment des fonctions groupByKey,
reduceByKey, mapValues, countByKey, cogroup.
JavaRDD<String> lines = sc.textFile(”data.txt”);
JavaPairRDD<String, Integer> pairs;
pairs = lines.mapToPair(s −> new Tuple2(s, 1));
JavaPairRDD<String, Integer> counts;
counts = pairs.reduceByKey((a, b) −> a + b);
16/16

Contenu connexe

PDF
Chapitre 3 spark
PDF
Introduction spark
PPTX
spark_intro_1208
PDF
Spark SQL principes et fonctions
PPTX
Spark Streaming
PDF
Cours Big Data Chap4 - Spark
PDF
Spark, ou comment traiter des données à la vitesse de l'éclair
PDF
Chapitre 4 no sql
Chapitre 3 spark
Introduction spark
spark_intro_1208
Spark SQL principes et fonctions
Spark Streaming
Cours Big Data Chap4 - Spark
Spark, ou comment traiter des données à la vitesse de l'éclair
Chapitre 4 no sql

Tendances (12)

PDF
Spark - Alexis Seigneurin (Français)
PDF
Cours Big Data Chap5
PDF
Spark (v1.3) - Présentation (Français)
PDF
BigData_TP3 : Spark
PDF
Cours Big Data Chap6
PDF
Base de données graphe, Noe4j concepts et mise en oeuvre
PDF
Annexe Big Data
PDF
Tech day hadoop, Spark
PDF
Cours Big Data Chap2
PDF
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
PDF
Big Data, Hadoop & Spark
PDF
Hadoop and friends : introduction
Spark - Alexis Seigneurin (Français)
Cours Big Data Chap5
Spark (v1.3) - Présentation (Français)
BigData_TP3 : Spark
Cours Big Data Chap6
Base de données graphe, Noe4j concepts et mise en oeuvre
Annexe Big Data
Tech day hadoop, Spark
Cours Big Data Chap2
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Big Data, Hadoop & Spark
Hadoop and friends : introduction
Publicité

Similaire à Introduction Apche Spark (12)

PDF
Spark RDD : Transformations & Actions
PDF
Distributed computing with Spark 2.x
PDF
PPTX
Spark - An In-Memory Distributed Computing Engine.pptx
PDF
chap 2 - cours -99999897765579 Spark.pdf
PPTX
Spark docker
DOCX
Résumkbjnnbuhb.jhyhuhuhhhhhhhhhhhhhhhhhhhhhhhé.docx
PDF
Alphorm.com Formation Big Data avec Apache Spark: Initiation
PDF
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
PDF
Zenika matinale spark-zeppelin_ml
PPTX
Spad big data - sfds - 2016
PPTX
160813-technology-template-16x9.pptx
Spark RDD : Transformations & Actions
Distributed computing with Spark 2.x
Spark - An In-Memory Distributed Computing Engine.pptx
chap 2 - cours -99999897765579 Spark.pdf
Spark docker
Résumkbjnnbuhb.jhyhuhuhhhhhhhhhhhhhhhhhhhhhhhé.docx
Alphorm.com Formation Big Data avec Apache Spark: Initiation
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Zenika matinale spark-zeppelin_ml
Spad big data - sfds - 2016
160813-technology-template-16x9.pptx
Publicité

Introduction Apche Spark

  • 1. Initiation `a Apache Spark avec Java Hamzaoui Mohamed Ali 2016 Facult´e des sciences math´ematiques, physiques et naturelles de Tunis
  • 2. Plan 1. Intoduction 2. Familiarisation avec les concepts de Spark 3. Mise en oeuvre des RDDs 2/16
  • 4. Intoduction Apache Spark se pr´esente comme la nouvelle g´en´eration de moteur de calcul distribu´e qui remplace progressivement Hadoop/MapReduce. Spark est ´ecrit en Scala et s’ex´ecute sur la machine virtuelle Java (JVM). Les langages support´es actuellement pour le d´eveloppement d’applications sont : Scala , Python , Clojure R ET JAVA . 4/16
  • 5. Mise en place de l’environement Pour bien commencer, il vous faut installer sur la machine : • Un JDK 1.8.x. • Un IDE ou ´editeur de texte : Sublime Text, Eclipse, netbeans. • Le binaire pr´e-compil´e de Spark. 5/16
  • 6. Sommaire Intoduction Familiarisation avec les concepts de Spark Mise en oeuvre des RDDs 6/16
  • 7. Spark Context SparkContext est la couche d’abstraction qui permet `a Spark de savoir o`u il va s’ex´ecuter. Un SparkContext standard sans param`etres correspond `a l’ex´ecution en local sur 1 CPU du code Spark qui va l’utiliser. public class FirstRDD { public static void main(String[] args) { JavaSparkContext sc = new JavaSparkContext(); JavaRDD<String> lines = sc.textFile(”/path/fst. txt”);}} 7/16
  • 8. RDD L’abstraction de base de Spark est le RDD pour Resilient Distributed Dataset, c’est une structure de donn´ee immutable, nous pouvons voir un RDD comme une table dans une base de donn´ees. Un calcul distribu´e avec Spark commence toujours par un chargement de donn´ees via un Base RDD. 8/16
  • 9. Transformations et Actions 2 concepts de base s’appuient et s’appliquent sur le RDD. 9/16
  • 10. Sommaire Intoduction Familiarisation avec les concepts de Spark Mise en oeuvre des RDDs 10/16
  • 11. Mise en oeuvre des RDDs Les RDDs sont une collection d’objets immuables r´epartis sur plusieurs noeuds d’un cluster. Un RDD est cr´e´e `a partir d’un source de donn´ees ou d’une collection d’objets Scala, Python ou Java. 11/16
  • 12. Mise en oeuvre des RDDs 12/16
  • 13. Mise en oeuvre des RDDs Les op´erations disponibles sur un RDD sont : La cr´eation : public class FirstRDD { public static void main(String[] args) { JavaRDD<String> lines = sc.textFile(”data.txt”); List<Integer> data = Arrays.asList(1, 2, 3, 4, 5); JavaRDD<Integer> distData = sc.parallelize(data);}} 13/16
  • 14. Mise en oeuvre des RDDs Les transformations : Les transformations ne retournent pas de valeur seule, elles retournent un nouveau RDD. Par exemple : map, filter, flatMap, groupByKey, reduceByKey. public class FirstRDD { public static void main(String[] args) { JavaRDD<String> lines = sc.textFile(”data.txt”); List<Integer> data = Arrays.asList(1, 2, 3, 4, 5); JavaRDD<Integer> distData = sc.parallelize(data); JavaRDD<Integer> 2distData = distData.map(( i)−>{ return i∗2;});}} 14/16
  • 15. Mise en oeuvre des RDDs L’action : Les actions ´evaluent et retournent une nouvelle valeur. Au moment o`u une fonction d’action est appel´ee sur un objet RDD, toutes les requˆetes de traitement des donn´ees sont calcul´ees et le r´esultat est retourn´e. Les actions sont par exemple reduce, collect, count, first, take, countByKey et foreach. public class FirstRDD { public static void main(String[] args) { JavaRDD<String> lines = sc.textFile(”data.txt”); List<Integer> data = Arrays.asList(1, 2, 3, 4, 5); JavaRDD<Integer> distData = sc.parallelize(data); JavaRDD<Integer> = distData.reduce((j,i) −> { return i + j;});}} 15/16
  • 16. Les Pairs RDD Spark offre des fonctionnalit´es sp´ecifiques aux RDD clef-valeur, RDD[(K,V)] . Il s’agit notamment des fonctions groupByKey, reduceByKey, mapValues, countByKey, cogroup. JavaRDD<String> lines = sc.textFile(”data.txt”); JavaPairRDD<String, Integer> pairs; pairs = lines.mapToPair(s −> new Tuple2(s, 1)); JavaPairRDD<String, Integer> counts; counts = pairs.reduceByKey((a, b) −> a + b); 16/16