Action เพิ่มเติม

Big Data Fundamentals with PySpark

Upendra Devisetty

Science Analyst, CyVerse

action reduce()

  • action reduce(func) ใช้สำหรับรวมค่าองค์ประกอบของ RDD ทั่วไป

  • ฟังก์ชันต้องมีสมบัติ commutative (สลับลำดับ operand แล้วผลลัพธ์เท่าเดิม) และ associative

  • ตัวอย่างการใช้ action reduce() ใน PySpark

x = [1,3,4,6]
RDD = sc.parallelize(x)
RDD.reduce(lambda x, y : x + y)
14
Big Data Fundamentals with PySpark

action saveAsTextFile()

  • action saveAsTextFile() บันทึก RDD เป็นไฟล์ข้อความในไดเรกทอรี โดยแต่ละ partition จะเป็นไฟล์แยก
RDD.saveAsTextFile("tempFile")
  • ใช้เมธอด coalesce() เพื่อบันทึก RDD เป็นไฟล์ข้อความไฟล์เดียว
RDD.coalesce(1).saveAsTextFile("tempFile")
Big Data Fundamentals with PySpark

Action สำหรับ pair RDD

  • RDD action ที่ใช้ได้กับ pair RDD ใน PySpark

  • pair RDD action ใช้ประโยชน์จากข้อมูลแบบ key-value

  • ตัวอย่าง action ของ pair RDD ได้แก่

    • countByKey()

    • collectAsMap()

Big Data Fundamentals with PySpark

action countByKey()

  • countByKey() ใช้ได้เฉพาะกับประเภท (K, V)

  • action countByKey() นับจำนวนองค์ประกอบของแต่ละ key

  • ตัวอย่างการใช้ countByKey() กับลิสต์อย่างง่าย

rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])
for kee, val in rdd.countByKey().items():
  print(kee, val)
('a', 2)
('b', 1)
Big Data Fundamentals with PySpark

action collectAsMap()

  • collectAsMap() คืนค่าคู่ key-value ใน RDD เป็น dictionary

  • ตัวอย่างการใช้ collectAsMap() กับ tuple อย่างง่าย

sc.parallelize([(1, 2), (3, 4)]).collectAsMap()
{1: 2, 3: 4}
Big Data Fundamentals with PySpark

มาฝึกกันเถอะ!

Big Data Fundamentals with PySpark

Preparing Video For Download...