Operasi RDD di PySpark

Fundamental Big Data dengan PySpark

Upendra Devisetty

Science Analyst, CyVerse

Gambaran operasi PySpark

  • Transformasi membuat RDD baru
  • Aksi menjalankan komputasi pada RDD
Fundamental Big Data dengan PySpark

Transformasi RDD

  • Transformasi dievaluasi secara lazy (Lazy evaluation)

  • Transformasi RDD dasar

    • map(), filter(), flatMap(), dan union()
Fundamental Big Data dengan PySpark

Transformasi map()

  • Transformasi map() menerapkan fungsi ke semua elemen RDD

map

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

Transformasi filter()

  • Transformasi filter mengembalikan RDD baru hanya dengan elemen yang lolos kondisi

filter

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

Transformasi flatMap()

  • Transformasi flatMap() mengembalikan banyak nilai untuk tiap elemen RDD asal

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

Transformasi 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)
Fundamental Big Data dengan PySpark

Aksi RDD

  • Operasi yang mengembalikan nilai setelah menjalankan komputasi pada RDD

  • Aksi RDD dasar

    • collect()

    • take(N)

    • first()

    • count()

Fundamental Big Data dengan PySpark

Aksi collect() dan take()

  • collect() mengembalikan semua elemen sebagai array

  • take(N) mengembalikan array berisi N elemen pertama

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

Aksi first() dan count()

  • first() menampilkan elemen pertama RDD
RDD_map.first()
[1]
  • count() mengembalikan jumlah elemen dalam RDD
RDD_flatmap.count()
5
Fundamental Big Data dengan PySpark

Ayo berlatih operasi RDD

Fundamental Big Data dengan PySpark

Preparing Video For Download...