Opérations RDD dans PySpark

Principes de Big Data 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 de Big Data avec PySpark

Transformations RDD

  • Les transformations utilisent l'évaluation paresseuse (Lazy)

  • Transformations RDD de base

    • map(), filter(), flatMap(), et union()
Principes de Big Data 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 de Big Data avec PySpark

Transformation filter()

  • La transformation filter retourne un nouveau RDD ne contenant que les éléments qui satisfont la condition

filter

RDD = sc.parallelize([1,2,3,4])
RDD_filter = RDD.filter(lambda x: x > 2)
Principes de Big Data avec PySpark

Transformation flatMap()

  • La transformation flatMap() retourne 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 de Big Data 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 de Big Data avec PySpark

Actions RDD

  • Opérations qui renvoient une valeur après exécution d'un calcul sur le RDD

  • Actions RDD de base

    • collect()

    • take(N)

    • first()

    • count()

Principes de Big Data avec PySpark

Actions collect() et take()

  • collect() retourne tous les éléments de l'ensemble de données dans un tableau

  • take(N) retourne un tableau avec les N premiers éléments de l'ensemble de données

RDD_map.collect()
[1, 4, 9, 16]
RDD_map.take(2)
[1, 4]
Principes de Big Data avec PySpark

Actions first() et count()

  • first() affiche le premier élément du RDD
RDD_map.first()
[1]
  • count() retourne le nombre d'éléments du RDD
RDD_flatmap.count()
5
Principes de Big Data avec PySpark

Passons à la pratique !

Principes de Big Data avec PySpark

Preparing Video For Download...