PySpark RDD’ye Giriş

PySpark ile Big Data Temelleri

Upendra Devisetty

Science Analyst, CyVerse

RDD nedir?

  • RDD = Resilient Distributed Datasets (Dayanıklı Dağıtık Veri Kümeleri)

rdd

PySpark ile Big Data Temelleri

RDD’leri parçalarına ayırma

  • Resilient Distributed Datasets

    • Resilient: Hatalara dayanıklı olma

    • Distributed: Birden çok makineye yayılma

    • Datasets: Bölümlenmiş veri koleksiyonu; örn. Diziler, Tablolar, Demetler vb.

PySpark ile Big Data Temelleri

RDD oluşturma. Nasıl?

  • Mevcut bir nesne koleksiyonunu paralelleştirme

  • Haricî veri kümeleri:

    • HDFS’teki dosyalar

    • Amazon S3 kovasındaki nesneler

    • Bir metin dosyasındaki satırlar

  • Mevcut RDD’lerden

PySpark ile Big Data Temelleri

Paralelleştirilmiş koleksiyon (parallelizing)

  • Python listelerinden RDD oluşturmak için parallelize()
numRDD = sc.parallelize([1,2,3,4])
helloRDD = sc.parallelize("Hello world")
type(helloRDD)
<class 'pyspark.rdd.PipelinedRDD'>
PySpark ile Big Data Temelleri

Haricî veri kümelerinden

  • Haricî veri kümelerinden RDD oluşturmak için textFile()
fileRDD = sc.textFile("README.md")
type(fileRDD)
<class 'pyspark.rdd.PipelinedRDD'>
PySpark ile Big Data Temelleri

PySpark’ta Bölümlendirmeyi Anlama

  • Bölüm (partition), büyük bir dağıtık veri kümesinin mantıksal bölünmesidir

  • parallelize() yöntemi

numRDD = sc.parallelize(range(10), minPartitions = 6)
  • textFile() yöntemi
fileRDD = sc.textFile("README.md", minPartitions = 6)
  • Bir RDD’deki bölüm sayısı getNumPartitions() yöntemiyle bulunur
PySpark ile Big Data Temelleri

Hadi pratik yapalım

PySpark ile Big Data Temelleri

Preparing Video For Download...