เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ฝึก caching: ส่วนที่ 1

ในแบบฝึกหัดต่อไปนี้ จะได้ทดลองวิธี cache DataFrame สองชุดด้วยแนวทางที่แตกต่างกัน

มี DataFrame ชื่อ df1 ที่โหลดมาจากไฟล์ CSV และผ่านขั้นตอนการประมวลผลหลายขั้นตอนแล้ว เนื่องจาก df1 จะถูกใช้งานมากกว่าหนึ่งครั้ง จึงเหมาะสมที่จะนำมา cache

ส่วน DataFrame ชุดที่สอง df2 นั้นสร้างขึ้นโดยประมวลผลเพิ่มเติมบน df1 ซึ่งต้องใช้ทรัพยากรการคำนวณสูง จึงเป็นตัวเลือกสำหรับการ cache เช่นกัน

เนื่องจาก df2 ขึ้นอยู่กับ df1 จึงเกิดคำถามว่า ควร cache df1 หรือ cache df2 จะดีกว่ากัน?

ในแบบฝึกหัดนี้ จะลอง cache df1 ก่อน ให้สังเกตเวลาที่แต่ละ action ใช้ไป แล้วจะนำไปเปรียบเทียบในแบบฝึกหัดถัดไป

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Introduction to Spark SQL in Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • Cache เฉพาะ df1
  • รัน action แรกบน df1 แล้วรันซ้ำอีกครั้ง จากนั้นรัน action บน df2 แล้วรันซ้ำเช่นกัน (ขั้นตอนนี้ได้เตรียมไว้ให้แล้ว)
  • ตรวจสอบว่า df1 ถูก cache ไว้หรือไม่

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Unpersists df1 and df2 and initializes a timer
prep(df1, df2) 

# Cache df1
____

# Run actions on both dataframes
run(df1, "df1_1st") 
run(df1, "df1_2nd")
run(df2, "df2_1st")
run(df2, "df2_2nd", elapsed=True)

# Prove df1 is cached
print(____)
แก้ไขและรันโค้ด