Caching

การทำความสะอาดข้อมูลด้วย PySpark

Mike Metzger

Data Engineering Consultant

Caching คืออะไร?

Caching ใน Spark:

  • เก็บ DataFrame ไว้ในหน่วยความจำหรือบนดิสก์
  • เพิ่มความเร็วในการแปลงข้อมูล/การดำเนินการในภายหลัง
  • ลดการใช้ทรัพยากร
การทำความสะอาดข้อมูลด้วย PySpark

ข้อเสียของ Caching

  • ชุดข้อมูลขนาดใหญ่มากอาจไม่พอดีกับหน่วยความจำ
  • การแคชลงดิสก์แบบ local อาจไม่ช่วยเพิ่มประสิทธิภาพ
  • อ็อบเจกต์ที่แคชไว้อาจไม่พร้อมใช้งานเสมอไป
การทำความสะอาดข้อมูลด้วย PySpark

เคล็ดลับการใช้ Caching

เมื่อพัฒนา Spark task:

  • แคชเฉพาะเมื่อจำเป็น
  • ลองแคช DataFrame ในจุดต่าง ๆ แล้วตรวจสอบว่าประสิทธิภาพดีขึ้นหรือไม่
  • แคชในหน่วยความจำและ SSD / NVMe ความเร็วสูง
  • แคชลงดิสก์ธรรมดาหากจำเป็น
  • ใช้ไฟล์ชั่วคราว!
  • หยุดแคชอ็อบเจกต์เมื่อใช้งานเสร็จ
การทำความสะอาดข้อมูลด้วย PySpark

การใช้งาน Caching

เรียก .cache() บน DataFrame ก่อน Action

voter_df = spark.read.csv('voter_data.txt.gz')
voter_df.cache().count()
voter_df = voter_df.withColumn('ID', monotonically_increasing_id())
voter_df = voter_df.cache()
voter_df.show()
การทำความสะอาดข้อมูลด้วย PySpark

การดำเนินการแคชเพิ่มเติม

ตรวจสอบสถานะแคชด้วย .is_cached

print(voter_df.is_cached)
True

เรียก .unpersist() เมื่อใช้งาน DataFrame เสร็จแล้ว

voter_df.unpersist()
การทำความสะอาดข้อมูลด้วย PySpark

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

การทำความสะอาดข้อมูลด้วย PySpark

Preparing Video For Download...