0% ont trouvé ce document utile (0 vote)
36 vues16 pages

Initiation à Apache Spark avec Java

Ce document introduit Apache Spark avec Java. Il présente les concepts clés de Spark comme le contexte Spark, les RDD, les transformations et les actions. Il montre également comment mettre en œuvre des RDD en créant, transformant et exécutant des actions sur des RDD.

Transféré par

daliHamzaoui
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
36 vues16 pages

Initiation à Apache Spark avec Java

Ce document introduit Apache Spark avec Java. Il présente les concepts clés de Spark comme le contexte Spark, les RDD, les transformations et les actions. Il montre également comment mettre en œuvre des RDD en créant, transformant et exécutant des actions sur des RDD.

Transféré par

daliHamzaoui
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Initiation à Apache Spark avec Java

Hamzaoui Mohamed Ali


2016
Faculté des sciences mathématiques, 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ésente comme la nouvelle génération de moteur de


calcul distribué qui remplace progressivement Hadoop/MapReduce.

Spark est écrit en Scala et s’exécute sur la machine virtuelle Java (JVM).

Les langages supportés actuellement pour le développement


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 éditeur de texte : Sublime Text, Eclipse, netbeans.
• Le binaire pré-compilé 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 à Spark de savoir où


il va s’exécuter.

Un SparkContext standard sans paramètres correspond à l’exécution 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 = [Link](”/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ée immutable, nous pouvons voir un
RDD comme une table dans une base de données.

Un calcul distribué avec Spark commence toujours par un chargement de


données 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épartis sur plusieurs
noeuds d’un cluster. Un RDD est créé à partir d’un source de données 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érations disponibles sur un RDD sont :

La création :

public class FirstRDD {


public static void main(String[] args) {
JavaRDD<String> lines = [Link](”[Link]”);
List<Integer> data = [Link](1, 2, 3, 4, 5);
JavaRDD<Integer> distData = [Link](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 = [Link](”[Link]”);
List<Integer> data = [Link](1, 2, 3, 4, 5);
JavaRDD<Integer> distData = [Link](data);
JavaRDD<Integer> 2distData = [Link](( i)−>{
return i∗2;});}}

14/16
Mise en oeuvre des RDDs

L’action :

Les actions évaluent et retournent une nouvelle valeur. Au moment où


une fonction d’action est appelée sur un objet RDD, toutes les requêtes
de traitement des données sont calculées et le résultat est retourné. 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 = [Link](”[Link]”);
List<Integer> data = [Link](1, 2, 3, 4, 5);
JavaRDD<Integer> distData = [Link](data);
JavaRDD<Integer> = [Link]((j,i) −> {
return i + j;});}}
15/16
Les Pairs RDD

Spark offre des fonctionnalités spécifiques aux RDD clef-valeur,


RDD[(K,V)] . Il s’agit notamment des fonctions groupByKey,
reduceByKey, mapValues, countByKey, cogroup.

JavaRDD<String> lines = [Link](”[Link]”);


JavaPairRDD<String, Integer> pairs;
pairs = [Link](s −> new Tuple2(s, 1));
JavaPairRDD<String, Integer> counts;
counts = [Link]((a, b) −> a + b);

16/16

Vous aimerez peut-être aussi