Introduction aux RDD PySpark

Principes de Big Data avec PySpark

Upendra Devisetty

Science Analyst, CyVerse

Qu'est-ce qu'un RDD ?

  • RDD = Resilient Distributed Datasets

rdd

Principes de Big Data avec PySpark

Décomposer les RDD

  • Resilient Distributed Datasets

    • Resilient : tolérant aux pannes

    • Distributed : réparti sur plusieurs machines

    • Datasets : ensemble de données partitionné (tableaux, tables, tuples, etc.)

Principes de Big Data avec PySpark

Créer des RDD : comment ?

  • Paralléliser une collection d'objets existante

  • Jeux de données externes :

    • Fichiers dans HDFS

    • Objets dans un compartiment Amazon S3

    • Lignes d'un fichier texte

  • À partir de RDD existants

Principes de Big Data avec PySpark

Collection parallélisée (parallelizing)

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

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

Comprendre le partitionnement dans PySpark

  • Une partition est une division logique d'un grand ensemble de données distribué

  • Méthode parallelize()

numRDD = sc.parallelize(range(10), minPartitions = 6)
  • Méthode textFile()
fileRDD = sc.textFile("README.md", minPartitions = 6)
  • Pour connaître le nombre de partitions d'un RDD, utilisez la méthode getNumPartitions()
Principes de Big Data avec PySpark

Passons à la pratique !

Principes de Big Data avec PySpark

Preparing Video For Download...