Introduction aux RDD PySpark

Principes fondamentaux des mégadonnées avec PySpark

Upendra Devisetty

Science Analyst, CyVerse

Qu’est-ce qu’un RDD ?

  • RDD = Resilient Distributed Datasets

rdd

Principes fondamentaux des mégadonnées avec PySpark

Décomposer les RDD

  • Resilient Distributed Datasets

    • Résilient : capacité à résister aux pannes

    • Distribué : réparti sur plusieurs machines

    • Datasets : collection de données partitionnées (p. ex. tableaux, tables, tuples)

Principes fondamentaux des mégadonnées avec PySpark

Créer des RDD : comment ?

  • Paralléliser une collection existante d’objets

  • Jeux de données externes :

    • Fichiers dans HDFS

    • Objets dans un bucket Amazon S3

    • Lignes d’un fichier texte

  • À partir de RDD existants

Principes fondamentaux des mégadonnées avec PySpark

Collection parallélisée (parallelize)

  • parallelize() pour créer des RDD à partir de listes Python
numRDD = sc.parallelize([1,2,3,4])
helloRDD = sc.parallelize("Hello world")
type(helloRDD)
<class 'pyspark.rdd.PipelinedRDD'>
Principes fondamentaux des mégadonnées avec PySpark

Depuis des jeux de données externes

  • textFile() pour créer des RDD à partir de jeux de données externes
fileRDD = sc.textFile("README.md")
type(fileRDD)
<class 'pyspark.rdd.PipelinedRDD'>
Principes fondamentaux des mégadonnées avec PySpark

Comprendre le partitionnement dans PySpark

  • Une partition est une division logique d’un grand jeu de données distribué

  • Méthode parallelize()

numRDD = sc.parallelize(range(10), minPartitions = 6)
  • Méthode textFile()
fileRDD = sc.textFile("README.md", minPartitions = 6)
  • Le nombre de partitions d’un RDD se trouve avec la méthode getNumPartitions()
Principes fondamentaux des mégadonnées avec PySpark

Passons à la pratique !

Principes fondamentaux des mégadonnées avec PySpark

Preparing Video For Download...