AWS Glue เป็น serverless data integration ที่ออกแบบมาให้ง่านต่อการรวบรวมข้อมูลเพื่อนำไปทำ analysis เป็นตัวกลางที่นำมาใช้ทำ ETL จากข้อมูลที่อยู่ในทีมต่างๆ ให้มารวมกันอยู่ภายใน Data Catalog หรือ S3 datalake
Discovery and Organize data เป็นการค้นหารวบรวมและบริหารจัดการข้อมูลให้เป็นระเบียบ
Transform and cleansing หรือจะเรียกอีกอย่างว่าเป็นส่วนของการทำ ETL
Build and monitor data pipelines การควบคุมการทำงานทั้งหมดออกมาเป็น pipeline ให้การทำงานเป็นระบบที่ต่อเนื่อง
Scenario ที่ยกมาในครั้งนี้จะเป็นการ Discovery data จาก S3 มาเก็บใน Data Catalog จากนั้นใช้ Glue job เพื่อ Transform data เพื่อนำ data ที่ได้มาเป็นต้นทางสำหรับการทำ analysis ผ่าน AWS Athena
AWS S3
เอาไว้เก็บข้อมูลทั้งหมดที่ต้องใช้งาน
AWS IAM Role
Assign permission เพื่อให้ Glue เรียกใช้งาน service อื่นได้ในที่นี้คือ S3
Glue Data Catalog
เก็บ Metadata ของ data เพื่อเอาไว้ใช้สำหรับการ Transform และ
โครงสร้างในการเก็บข้อมูลจะเป็น Database และ Table
Glue Crawler
ทำหน้าที่เข้าไปอ่านข้อมูลจาก raw data เพื่อนำมาสร้าง Table ใน data catalog
Glue Job
สร้าง ETL ในการ Transform Data
ทั้งหมดนี้เป็นสิ่งที่ควรรู้เบื้องต้นก่อนจะไปขั้นตอนต่อไปนะครับ ถ้าพร้อมแล้วไปลงมือทำจริงๆกันเลย
DataSet -> Customer.csv
เริ่มต้นโปรเจค -> https://www.vultureprime.com/how-to/start-first-project-with-aws-glue
สร้าง bucket และ folder สำหรับจัดเก็บไฟล์ -> https://www.vultureprime.com/how-to/how-to-create-s3-folder-and-structure
สร้าง IAM Role -> https://www.vultureprime.com/how-to/how-to-create-iam-role
สร้าง Database ใน Data Catalog -> https://www.vultureprime.com/how-to/how-to-create-database-in-glue-catalog
สร้าง Table ใน Database โดยใช้ Crawler -> https://www.vultureprime.com/how-to/how-to-create-table-with-glue-crawler
Transform data ด้วย Glue Job -> https://www.vultureprime.com/how-to/how-to-etl-with-glue
สร้าง Table จาก ETL result -> https://www.vultureprime.com/how-to/how-to-create-table-with-glue-crawler-2