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

Tendances

Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)
Alexis Seigneurin
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
Amal Abid
 
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
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
Lilia Sfaxi
 
Cours Big Data Chap6
Cours Big Data Chap6Cours Big Data Chap6
Cours Big Data Chap6
Amal Abid
 
Base de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreBase de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvre
MICHRAFY MUSTAFA
 
Annexe Big Data
Annexe Big DataAnnexe Big Data
Annexe Big Data
Amal Abid
 
Tech day hadoop, Spark
Tech day hadoop, SparkTech day hadoop, Spark
Tech day hadoop, Spark
Arrow-Institute
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
Amal Abid
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Ippon
 
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 : introductionfredcons
 

Tendances (12)

Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
 
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)
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
Cours Big Data Chap6
Cours Big Data Chap6Cours Big Data Chap6
Cours Big Data Chap6
 
Base de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreBase de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvre
 
Annexe Big Data
Annexe Big DataAnnexe Big Data
Annexe Big Data
 
Tech day hadoop, Spark
Tech day hadoop, SparkTech day hadoop, Spark
Tech day hadoop, Spark
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
 
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
 

Similaire à Introduction Apche Spark

Spark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsSpark RDD : Transformations & Actions
Spark RDD : Transformations & Actions
MICHRAFY MUSTAFA
 
Spark
SparkSpark
Spark - An In-Memory Distributed Computing Engine.pptx
Spark - An In-Memory Distributed Computing Engine.pptxSpark - An In-Memory Distributed Computing Engine.pptx
Spark - An In-Memory Distributed Computing Engine.pptx
Anass Nabil
 
Présentation_Spark.pptx
Présentation_Spark.pptxPrésentation_Spark.pptx
Présentation_Spark.pptx
boulonvert
 
160813-technology-template-16x9.pptx
160813-technology-template-16x9.pptx160813-technology-template-16x9.pptx
160813-technology-template-16x9.pptx
majdoulineaitabdelal
 
Distributed computing with Spark 2.x
Distributed computing with Spark 2.xDistributed computing with Spark 2.x
Distributed computing with Spark 2.x
Dr Hajji Hicham
 
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
 
Elastic serach
Elastic serachElastic serach
Elastic serach
TAOUFIQ ELFILALI
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf
Ombotimbe Salifou
 
Datastax Cassandra + Spark Streaming
Datastax Cassandra + Spark StreamingDatastax Cassandra + Spark Streaming
Datastax Cassandra + Spark Streaming
Victor Coustenoble
 
Big sql4meetup
Big sql4meetupBig sql4meetup
Big sql4meetup
Jacques Milman
 
Rapport tp1 j2ee
Rapport tp1 j2eeRapport tp1 j2ee
Rapport tp1 j2ee
Soukaina Boujadi
 
Presentation intis 2017 version27112017
Presentation intis 2017 version27112017Presentation intis 2017 version27112017
Presentation intis 2017 version27112017
Dr Hajji Hicham
 
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 -introOlivier Mallassi
 
Présentation CoreOS
Présentation CoreOSPrésentation CoreOS
Présentation CoreOS
gcatt
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
univalence
 
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamielParis Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Modern Data Stack France
 
REX Ansible
REX AnsibleREX Ansible
REX Ansible
Noël Bardelot
 

Similaire à Introduction Apche Spark (20)

Spark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsSpark RDD : Transformations & Actions
Spark RDD : Transformations & Actions
 
Spark
SparkSpark
Spark
 
Spark - Ippevent 19-02-2015
Spark - Ippevent 19-02-2015Spark - Ippevent 19-02-2015
Spark - Ippevent 19-02-2015
 
Spark - An In-Memory Distributed Computing Engine.pptx
Spark - An In-Memory Distributed Computing Engine.pptxSpark - An In-Memory Distributed Computing Engine.pptx
Spark - An In-Memory Distributed Computing Engine.pptx
 
Présentation_Spark.pptx
Présentation_Spark.pptxPrésentation_Spark.pptx
Présentation_Spark.pptx
 
160813-technology-template-16x9.pptx
160813-technology-template-16x9.pptx160813-technology-template-16x9.pptx
160813-technology-template-16x9.pptx
 
Distributed computing with Spark 2.x
Distributed computing with Spark 2.xDistributed computing with Spark 2.x
Distributed computing with Spark 2.x
 
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
 
Elastic serach
Elastic serachElastic serach
Elastic serach
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf
 
Datastax Cassandra + Spark Streaming
Datastax Cassandra + Spark StreamingDatastax Cassandra + Spark Streaming
Datastax Cassandra + Spark Streaming
 
Big sql4meetup
Big sql4meetupBig sql4meetup
Big sql4meetup
 
Rapport tp1 j2ee
Rapport tp1 j2eeRapport tp1 j2ee
Rapport tp1 j2ee
 
Presentation intis 2017 version27112017
Presentation intis 2017 version27112017Presentation intis 2017 version27112017
Presentation intis 2017 version27112017
 
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
 
Présentation CoreOS
Présentation CoreOSPrésentation CoreOS
Présentation CoreOS
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
 
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamielParis Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
 
REX Ansible
REX AnsibleREX Ansible
REX Ansible
 
Gradle_Paris2010
Gradle_Paris2010Gradle_Paris2010
Gradle_Paris2010
 

Dernier

Etat de l’opinion - Journée CCR CAT « Protégeons l’assurabilité »
Etat de l’opinion - Journée CCR CAT « Protégeons l’assurabilité »Etat de l’opinion - Journée CCR CAT « Protégeons l’assurabilité »
Etat de l’opinion - Journée CCR CAT « Protégeons l’assurabilité »
contact Elabe
 
Sondage ELABE pour Les Echos et l'Institut Montaigne -Les Français et la guer...
Sondage ELABE pour Les Echos et l'Institut Montaigne -Les Français et la guer...Sondage ELABE pour Les Echos et l'Institut Montaigne -Les Français et la guer...
Sondage ELABE pour Les Echos et l'Institut Montaigne -Les Français et la guer...
contact Elabe
 
Les Français et les élections législatives
Les Français et les élections législativesLes Français et les élections législatives
Les Français et les élections législatives
contact Elabe
 
Les Français et les élections européennes - 9ème vague
Les Français et les élections européennes - 9ème vagueLes Français et les élections européennes - 9ème vague
Les Français et les élections européennes - 9ème vague
contact Elabe
 
L'Observatoire politique ELABE pour Les Echos - Juin 2024
L'Observatoire politique ELABE pour Les Echos - Juin 2024L'Observatoire politique ELABE pour Les Echos - Juin 2024
L'Observatoire politique ELABE pour Les Echos - Juin 2024
contact Elabe
 
Estimations ELABE BFMTV ABSTENTION élections européennes 2024
Estimations ELABE BFMTV ABSTENTION élections européennes 2024Estimations ELABE BFMTV ABSTENTION élections européennes 2024
Estimations ELABE BFMTV ABSTENTION élections européennes 2024
contact Elabe
 
Estimation élections européennes 2024 ELABE
Estimation élections européennes 2024 ELABEEstimation élections européennes 2024 ELABE
Estimation élections européennes 2024 ELABE
contact Elabe
 
Webinaire_les aides aux investissements.pptx
Webinaire_les aides aux investissements.pptxWebinaire_les aides aux investissements.pptx
Webinaire_les aides aux investissements.pptx
Institut de l'Elevage - Idele
 
Deuxième actualisation estimation élections européennes 2024
Deuxième actualisation estimation élections européennes 2024Deuxième actualisation estimation élections européennes 2024
Deuxième actualisation estimation élections européennes 2024
contact Elabe
 
Actualisation estimation élections européennes 2024
Actualisation estimation élections européennes 2024Actualisation estimation élections européennes 2024
Actualisation estimation élections européennes 2024
contact Elabe
 
Productivité et politique industrielles: deux défis à relever conjointement
Productivité et politique industrielles: deux défis à relever conjointementProductivité et politique industrielles: deux défis à relever conjointement
Productivité et politique industrielles: deux défis à relever conjointement
La Fabrique de l'industrie
 
Comprendre le vote aux élections européennes du 9 juin 2024
Comprendre le vote aux élections européennes du 9 juin 2024Comprendre le vote aux élections européennes du 9 juin 2024
Comprendre le vote aux élections européennes du 9 juin 2024
contact Elabe
 

Dernier (12)

Etat de l’opinion - Journée CCR CAT « Protégeons l’assurabilité »
Etat de l’opinion - Journée CCR CAT « Protégeons l’assurabilité »Etat de l’opinion - Journée CCR CAT « Protégeons l’assurabilité »
Etat de l’opinion - Journée CCR CAT « Protégeons l’assurabilité »
 
Sondage ELABE pour Les Echos et l'Institut Montaigne -Les Français et la guer...
Sondage ELABE pour Les Echos et l'Institut Montaigne -Les Français et la guer...Sondage ELABE pour Les Echos et l'Institut Montaigne -Les Français et la guer...
Sondage ELABE pour Les Echos et l'Institut Montaigne -Les Français et la guer...
 
Les Français et les élections législatives
Les Français et les élections législativesLes Français et les élections législatives
Les Français et les élections législatives
 
Les Français et les élections européennes - 9ème vague
Les Français et les élections européennes - 9ème vagueLes Français et les élections européennes - 9ème vague
Les Français et les élections européennes - 9ème vague
 
L'Observatoire politique ELABE pour Les Echos - Juin 2024
L'Observatoire politique ELABE pour Les Echos - Juin 2024L'Observatoire politique ELABE pour Les Echos - Juin 2024
L'Observatoire politique ELABE pour Les Echos - Juin 2024
 
Estimations ELABE BFMTV ABSTENTION élections européennes 2024
Estimations ELABE BFMTV ABSTENTION élections européennes 2024Estimations ELABE BFMTV ABSTENTION élections européennes 2024
Estimations ELABE BFMTV ABSTENTION élections européennes 2024
 
Estimation élections européennes 2024 ELABE
Estimation élections européennes 2024 ELABEEstimation élections européennes 2024 ELABE
Estimation élections européennes 2024 ELABE
 
Webinaire_les aides aux investissements.pptx
Webinaire_les aides aux investissements.pptxWebinaire_les aides aux investissements.pptx
Webinaire_les aides aux investissements.pptx
 
Deuxième actualisation estimation élections européennes 2024
Deuxième actualisation estimation élections européennes 2024Deuxième actualisation estimation élections européennes 2024
Deuxième actualisation estimation élections européennes 2024
 
Actualisation estimation élections européennes 2024
Actualisation estimation élections européennes 2024Actualisation estimation élections européennes 2024
Actualisation estimation élections européennes 2024
 
Productivité et politique industrielles: deux défis à relever conjointement
Productivité et politique industrielles: deux défis à relever conjointementProductivité et politique industrielles: deux défis à relever conjointement
Productivité et politique industrielles: deux défis à relever conjointement
 
Comprendre le vote aux élections européennes du 9 juin 2024
Comprendre le vote aux élections européennes du 9 juin 2024Comprendre le vote aux élections européennes du 9 juin 2024
Comprendre le vote aux élections européennes du 9 juin 2024
 

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