ใน part ก่อนหน้านี้เราได้เล่าถึงวิธีการทำ data partition ตั้งแต่วิธีการสร้าง s3 folder ให้รอบรับการทำงานแบบ partition ไปกันแล้วและประโยชน์ที่เราจะได้เมื่อทำ data partition part นี้เราจะมาแนะนำอีกหนึ่งวิธี ที่จะทำให้การทำ data partition นั้นง่าย และรวดเร็วมากยิ่งขึ้น
เราจะใช้ Glue job ในการ transform file จาก source bucket และเอาไปจัดเก็บที่ destination bucket โดยเราจะเลือก 3 key จากไฟล์ มาสร้างเป็น Partition Key ในการเก็บข้อมูล
Step 1: upload file ไปที่ source bucket
Step 2: เข้าไปที่ Glue ETL job
Step 3: ทำการ Create Job โดยเลือก configuration เป็น Visual with a source and target
Step 4: Source และ Target ให้เลือกทั้งหมดเป็น S3
Step 5: กด Create
Step 6: ตั้งชื่อ job
Step 7: เลือกที่ Data source
Step 8: Browse S3 ไปที่ source bucket ที่เราสร้างเอาไว้
Step 9: กด Infer schema
Step 10: ถ้าต้องการ Change schema ให้เลือก Transform และปรับตามต้องการได้
Step 11: ไปที่ Data target
Step 12: Browse S3 ไปยัง destination bucket
Step 13: กด Add a partition key
Step 14: Partition(0) เป็น folder ชั้นนอกสุดของการทำ partition ให้เราเลือกตามลำดับความเหมาะสมในการใช้งาน
Step 15: ปรับ Format เป็น CSV และ Compression Type เป็น none
Step 16: Update job detail ให้ครบถ้วน
Step 17: กด Save
Step 18: กด Run
Step 19: ตรวจสอบข้อมูลที่ได้ใน S3
ข้อมูลถูกแบ่งเป็น Partition ตามที่ตั้งค่าใน ETL Job
การนำ ETL Job มาเป็นตัวช่วยในการทำ Data partition ช่วยให้ลดความยุ่งยากในการเตรียมข้อมูลไปได้อย่างมาก เป็นอีกหนึ่งวิธีที่ช่วยให้ปรับ data ที่ปลายทางได้ หากข้อมูลที่ได้รับมานั้นแก้ไขได้ยาก และเมื่อขั้นตอนนี้เรียบร้อยแล้วเราก็สามารถใช้งาน crawler มาดึง data กลับไปประมวลผลต่อได้