ทำความเข้าใจ Parquet

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

Mike Metzger

Data Engineering Consultant

ปัญหาของไฟล์ CSV

  • ไม่มีสคีมาที่กำหนดไว้
  • ข้อมูลแบบซ้อนกันต้องจัดการเป็นพิเศษ
  • รูปแบบการเข้ารหัสมีข้อจำกัด
การทำความสะอาดข้อมูลด้วย PySpark

Spark กับไฟล์ CSV

  • ประมวลผลช้า
  • ไม่สามารถกรองไฟล์ได้ (ไม่รองรับ "predicate pushdown")
  • การนำไปใช้งานต้องกำหนดสคีมาใหม่ทุกครั้ง
การทำความสะอาดข้อมูลด้วย PySpark

รูปแบบ Parquet

  • รูปแบบข้อมูลแบบคอลัมน์
  • รองรับโดย Spark และเฟรมเวิร์กประมวลผลข้อมูลอื่น
  • รองรับ predicate pushdown
  • จัดเก็บข้อมูลสคีมาโดยอัตโนมัติ
การทำความสะอาดข้อมูลด้วย PySpark

การทำงานกับ Parquet

อ่านไฟล์ Parquet

df = spark.read.format('parquet').load('filename.parquet')
df = spark.read.parquet('filename.parquet')

เขียนไฟล์ Parquet

df.write.format('parquet').save('filename.parquet')
df.write.parquet('filename.parquet')
การทำความสะอาดข้อมูลด้วย PySpark

Parquet และ SQL

ใช้ Parquet เป็นที่เก็บข้อมูลสำหรับการดำเนินการ SparkSQL

flight_df = spark.read.parquet('flights.parquet')
flight_df.createOrReplaceTempView('flights')
short_flights_df = spark.sql('SELECT * FROM flights WHERE flightduration < 100')
การทำความสะอาดข้อมูลด้วย PySpark

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

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

Preparing Video For Download...