AWS Glue là gì
AWS Glue là dịch vụ ETL (Extract, Transform, Load) dạng serverless do AWS quản lý. Nó giúp bạn chuẩn bị, biến đổi, tích hợp và tải dữ liệu từ nhiều nguồn khác nhau vào các dịch vụ lưu trữ dữ liệu hoặc phân tích như Amazon S3, Amazon Redshift, Amazon Athena, Amazon OpenSearch.
Tại sao cần AWS Glue?
Trong hệ thống hiện đại, dữ liệu thường nằm ở nhiều nơi khác nhau:
- CSDL quan hệ (RDS, Aurora, MySQL, PostgreSQL, Oracle…)
- Data lakes (Amazon S3)
- Streaming data (Kinesis, Kafka)
- Logs, files (JSON, CSV, Parquet, Avro…)
Để phân tích dữ liệu, bạn cần:
- Extract: Lấy dữ liệu từ nguồn.
- Transform: Làm sạch, chuẩn hóa, biến đổi dữ liệu.
- Load: Đưa dữ liệu vào nơi phân tích (Redshift, S3, Athena…).
👉 AWS Glue tự động hóa quy trình này với chi phí thấp và không cần quản lý hạ tầng.
Thành phần chính của AWS Glue
- Glue Data Catalog
- Là Metadata Repository trung tâm.
- Lưu thông tin schema của dữ liệu (database, tables, partitions).
- Được dùng chung bởi Glue, Athena, Redshift Spectrum, EMR.
- Athena sẽ dựa vào Schema phân tích bởi Data Catalog, sau đó sẽ query dữ liệu tới S3
-
Glue Crawler
- Tự động scan dữ liệu trong S3, RDS, DynamoDB…
- Nhận diện định dạng (CSV, JSON, Parquet, Avro, ORC, …).
- Tự động tạo schema trong Data Catalog.
-
Glue Jobs
- Nơi chạy các script ETL để biến đổi dữ liệu.
- Có thể viết bằng PySpark (Python + Apache Spark) hoặc Scala.
- Chạy hoàn toàn serverless (AWS quản lý cluster Spark).
-
Glue Triggers
- Tự động chạy jobs theo lịch hoặc khi có sự kiện (event-driven).
-
Glue Studio
- Giao diện drag-and-drop giúp xây dựng và giám sát jobs mà không cần code.
-
Glue DataBrew
- Công cụ no-code để data analyst làm sạch và chuẩn bị dữ liệu.
Luồng xử lý dữ liệu với AWS Glue
Ví dụ Use Case
- Data Lake:
- Crawl dữ liệu từ S3 → Tự động tạo schema → Query bằng Athena.
- ETL cho Redshift:
- Extract dữ liệu từ RDS → Transform (chuẩn hóa) → Load vào Redshift để phân tích BI.
- Log Analytics:
- Glue đọc log JSON từ S3 → Chuyển thành Parquet (nén, tối ưu query) → Query bằng Athena.
- Machine Learning:
- Làm sạch dữ liệu với Glue DataBrew → Lưu về S3 → Train ML model trên SageMaker.
So sánh Glue với EMR
Cả 2 dịch vụ này đều mạnh mẽ trong xử lý dữ liệu, tuy nhiên mỗi dịch phụ phù hợp với bài toán riêng biệt. Hãy cùng so sánh và phân tích chúng.
| Tiêu chí | AWS Glue | AWS EMR |
|---|---|---|
| Mô hình triển khai | Serverless | Cluster-based |
| Use case chính | ETL, Data Lake, Data Catalog | Big Data Processing, ML, Streaming |
| Công cụ hỗ trợ | PySpark, Glue Studio, DataBrew | Spark, Hadoop, Hive, Flink, HBase |
| Độ phức tạp | Đơn giản, ít setup | Phức tạp, nhiều tùy chỉnh |
| Chi phí | Trả tiền theo job runtime | Trả tiền cho EC2 + EMR fee |
| Quy mô dữ liệu | TB | TB - PB |
| Đối tượng phù hợp | Data Analyst, Data Engineer muốn ETL nhanh gọn | Data Scientist, Big Data Engineer cần phân tích nâng cao |