Opérations RDD en PySpark

Principes fondamentaux des mégadonnées avec PySpark

Upendra Devisetty

Science Analyst, CyVerse

Aperçu des opérations PySpark

  • Les transformations créent de nouveaux RDD
  • Les actions exécutent des calculs sur les RDD
Principes fondamentaux des mégadonnées avec PySpark

Transformations RDD

  • Les transformations utilisent l’évaluation paresseuse (Lazy evaluation)

  • Transformations RDD de base

    • map(), filter(), flatMap(), et union()
Principes fondamentaux des mégadonnées avec PySpark

Transformation map()

  • La transformation map() applique une fonction à tous les éléments du RDD

map

RDD = sc.parallelize([1,2,3,4])
RDD_map = RDD.map(lambda x: x * x)
Principes fondamentaux des mégadonnées avec PySpark

Transformation filter()

  • La transformation filter retourne un nouveau RDD avec seulement les éléments satisfaisant la condition

filter

RDD = sc.parallelize([1,2,3,4])
RDD_filter = RDD.filter(lambda x: x > 2)
Principes fondamentaux des mégadonnées avec PySpark

Transformation flatMap()

  • La transformation flatMap() renvoie plusieurs valeurs pour chaque élément du RDD d’origine

RDD = sc.parallelize(["hello world", "how are you"])
RDD_flatmap = RDD.flatMap(lambda x: x.split(" "))
Principes fondamentaux des mégadonnées avec PySpark

Transformation union()

inputRDD = sc.textFile("logs.txt")
errorRDD = inputRDD.filter(lambda x: "error" in x.split())
warningsRDD = inputRDD.filter(lambda x: "warnings" in x.split())
combinedRDD = errorRDD.union(warningsRDD)
Principes fondamentaux des mégadonnées avec PySpark

Actions RDD

  • Opérations renvoyant une valeur après calcul sur le RDD

  • Actions RDD de base

    • collect()

    • take(N)

    • first()

    • count()

Principes fondamentaux des mégadonnées avec PySpark

Actions collect() et take()

  • collect() renvoie tous les éléments du jeu de données sous forme de tableau

  • take(N) renvoie un tableau avec les N premiers éléments

RDD_map.collect()
[1, 4, 9, 16]
RDD_map.take(2)
[1, 4]
Principes fondamentaux des mégadonnées avec PySpark

Actions first() et count()

  • first() affiche le premier élément du RDD
RDD_map.first()
[1]
  • count() renvoie le nombre d’éléments du RDD
RDD_flatmap.count()
5
Principes fondamentaux des mégadonnées avec PySpark

Passons à la pratique !

Principes fondamentaux des mégadonnées avec PySpark

Preparing Video For Download...