PySpark'ta RDD işlemleri

PySpark ile Big Data Temelleri

Upendra Devisetty

Science Analyst, CyVerse

PySpark işlemlerine genel bakış

  • Transformations yeni RDD'ler oluşturur
  • Actions RDD'ler üzerinde hesaplama yapar
PySpark ile Big Data Temelleri

RDD Dönüşümleri

  • Dönüşümler Lazy evaluation ile çalışır

  • Temel RDD Dönüşümleri

    • map(), filter(), flatMap() ve union()
PySpark ile Big Data Temelleri

map() Dönüşümü

  • map() dönüşümü RDD'deki tüm öğelere bir işlev uygular

map

RDD = sc.parallelize([1,2,3,4])
RDD_map = RDD.map(lambda x: x * x)
PySpark ile Big Data Temelleri

filter() Dönüşümü

  • filter dönüşümü, koşulu geçen öğelerle yeni bir RDD döndürür

filter

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

flatMap() Dönüşümü

  • flatMap() dönüşümü, her öğe için birden çok değer döndürür

RDD = sc.parallelize(["hello world", "how are you"])
RDD_flatmap = RDD.flatMap(lambda x: x.split(" "))
PySpark ile Big Data Temelleri

union() Dönüşümü

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)
PySpark ile Big Data Temelleri

RDD Actions

  • Bir hesaplama çalıştırıp RDD üzerinde bir değer döndüren işlemlerdir

  • Temel RDD Actions

    • collect()

    • take(N)

    • first()

    • count()

PySpark ile Big Data Temelleri

collect() ve take() Actions

  • collect() veri kümesindeki tüm öğeleri bir dizi olarak döndürür

  • take(N) veri kümesinin ilk N öğesini içeren bir dizi döndürür

RDD_map.collect()
[1, 4, 9, 16]
RDD_map.take(2)
[1, 4]
PySpark ile Big Data Temelleri

first() ve count() Actions

  • first() RDD'nin ilk öğesini döndürür
RDD_map.first()
[1]
  • count() RDD'deki öğe sayısını döndürür
RDD_flatmap.count()
5
PySpark ile Big Data Temelleri

RDD işlemleriyle pratik yapalım

PySpark ile Big Data Temelleri

Preparing Video For Download...