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

Fonctionnement des RDD dans Spark

Le document présente le fonctionnement des Resilient Distributed Datasets (RDD) dans Apache Spark, en expliquant leur tolérance aux pannes et leur manipulation via des transformations et des actions. Il décrit les différentes sources de données pouvant être utilisées avec les RDD et fournit des exemples de transformations comme map, filter et reduceByKey, ainsi que d'actions finales comme count et collect. Des illustrations de programmes Spark sont également fournies pour démontrer l'utilisation des RDD dans le traitement de données.

Transféré par

Yassine Kherbouche
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues16 pages

Fonctionnement des RDD dans Spark

Le document présente le fonctionnement des Resilient Distributed Datasets (RDD) dans Apache Spark, en expliquant leur tolérance aux pannes et leur manipulation via des transformations et des actions. Il décrit les différentes sources de données pouvant être utilisées avec les RDD et fournit des exemples de transformations comme map, filter et reduceByKey, ainsi que d'actions finales comme count et collect. Des illustrations de programmes Spark sont également fournies pour démontrer l'utilisation des RDD dans le traitement de données.

Transféré par

Yassine Kherbouche
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd

Spark - RDD

Amin Mesmoudi
[Link]@[Link]
Fonctionnement de Spark - RDD

Resilient Distributed Dataset


Abstraction, collection traitée en parallèle
Tolérant à la panne
Manipulation de tuples :
Clé - Valeur
Tuples indépendants les uns des autres

2
Sources

Fichier sur HDFS


Fichier local
Collection en mémoire
Amazon S3
Base NoSQL
...
Ou une implémentation personnalisé

3
Transformations

Manipule un RDD, retourne un autre RDD


Lazy !
Exemples :
map() : une valeur → une valeur
filter() : filtre les valeurs/tuples
groupByKey() : regroupe les valeurs par clés
reduceByKey() : aggrège les valeurs par clés
join(), cogroup()... : jointure entre deux RDD

4
Actions finales

Ne retournent pas un RDD

Exemples :
count() : compte les valeurs/tuples
saveAsHadoopFile() : sauve les résultats au format
Hadoop
foreach() : exécute une fonction sur chaque
valeur/tuple
collect() : récupère les valeurs dans une list

5
Spark - RDD - Exemple

[Link] Nombre total de vols par


destination

Programme Spark

6
Programme Spark

2015-
[Link] collect
et println
inputFile
map filter map reduceByKey sortBy
rddFromFile rdd1 rdd2 rdd3 rdd4 rdd5

RDD[String] RDD[Array[String]] RDD[Array[String]] RDD[Array[String]] RDD[(String, Int)] RDD[(String, Int)]

7
Illustration de quelques transformations (1)

[Link](x -> x + 1);

Map

[Link](x -> (x % 2 == 0));

Filter

8
Illustration de quelques transformations (2)

[Link](rdd2)

Union

[Link](rdd2)

Intersection
9
Illustration de quelques transformations (3)

val rddwithdupElements =
[Link](Array(1,1,2,4,5,6,8,8,9,10,11,11))
[Link]()

val rddStrings = [Link](List("A","B","C"))


val rddIntegers = [Link](List(1,4,5
[Link](rddIntegers)

10
Illustration de quelques transformations (4)

[Link]()

[Link]((v1, v2) -> v1 + v2);

11
Illustration de quelques transformations (6)

[Link]()

val joinedRDD = [Link](pairRDD2);

12
Illustration de quelques actions finales (1)

isEmpty

var isRDDEmpty= [Link](a=> [Link](5)).isEmpty()

Collect
var collectedList= [Link]()

count
var countVal= [Link]()

13
Illustration de quelques actions finales (2)

first()
var first= [Link]()

take()
var takeTwo= [Link](2)

14
Illustration de quelques actions finales (3)

forEach
[Link]().foreach(x=>println("The element values of the RDD are ::"+x))

15
Programme Spark

2015-
[Link] collect
et println
inputFile
map filter map reduceByKey sortBy
rddFromFile rdd1 rdd2 rdd3 rdd4 rdd5

RDD[String] RDD[Array[String]] RDD[Array[String]] RDD[Array[String]] RDD[(String, Int)] RDD[(String, Int)]

16

Vous aimerez peut-être aussi