Chuyển đến nội dung chính

Tích hợp AWS Lake Formation và Glue: Hướng dẫn từng bước

Tìm hiểu cách tích hợp AWS Lake Formation và AWS Glue để tạo pipeline dữ liệu an toàn, cấu hình kiểm soát truy cập và tự động hóa quy trình ETL.
Đã cập nhật 5 thg 10, 2026  · 15 phút đọc

Khám phá cùng AI

ChatGPTClaudePerplexity

Trong môi trường dữ liệu ngày nay, các tổ chức gặp khó khăn trong việc bảo mật, quản trị và di chuyển các tập dữ liệu lớn. AWS Lake Formation và AWS Glue là hai dịch vụ có thể giúp bạn vượt qua những thách thức này. AWS Glue thực hiện làm sạch dữ liệu, cấu trúc lại và chuyển đổi kiểu dữ liệu, trong khi AWS Lake Formation xây dựng data lake và đảm nhiệm bảo mật cũng như quản trị dữ liệu. 

Trong bài blog này, chúng tôi sẽ minh họa cách phát triển một pipeline dữ liệu an toàn, tự động bằng AWS Lake Formation và AWS Glue. Chúng tôi sẽ xây dựng một job ETL bằng AWS Glue để di chuyển và xử lý dữ liệu mẫu hiện được lưu trong S3 bucket, và kiểm soát truy cập chi tiết sẽ được thực hiện qua AWS Lake Formation.

AWS Lake Formation là gì?

AWS Lake Formation cung cấp các công cụ cần thiết để tạo, quản lý và bảo mật data lake trên AWS. Với Lake Formation, việc tạo data lake trên Amazon S3 và quản lý bảo mật, phân quyền trở nên dễ dàng hơn.

Với AWS Lake Formation, bạn có thể:

  • Nhanh chóng xây dựng một data lake an toàn.
  • Tập trung lưu trữ dữ liệu trong S3.
  • Định nghĩa các chính sách kiểm soát truy cập ở mức chi tiết.
  • Áp dụng mã hóa dữ liệu và nhật ký kiểm toán để tuân thủ.

AWS Glue là gì?

AWS Glue là dịch vụ tích hợp dữ liệu serverless cung cấp chức năng Extract, Transform, and Load (ETL) cho chuẩn bị dữ liệu. Đây là dịch vụ tự động hóa chuẩn bị dữ liệu giúp việc quản lý lập danh mục (catalog), chuyển đổi và nạp dữ liệu trở nên dễ dàng. Điều này hữu ích để hợp nhất dữ liệu từ nhiều nguồn, như S3, vào kho dữ liệu hoặc cơ sở dữ liệu.

Với AWS Glue, bạn có:

  • Glue Data Catalog: Kho lưu trữ tập trung để quản lý metadata.
  • ETL jobs: Các job serverless để chuyển đổi và di chuyển dữ liệu.
  • Glue Studio: Giao diện trực quan để thiết kế quy trình ETL.

Nếu bạn mới dùng Glue, hãy xem hướng dẫn Bắt đầu với AWS Glue của chúng tôi. 

Vì sao tích hợp AWS Lake Formation và AWS Glue?

Tích hợp AWS Lake Formation và AWS Glue kết hợp điểm mạnh của cả hai: data lake an toàn và pipeline ETL tự động. Một số lợi ích của tích hợp này gồm:

  • Pipeline dữ liệu tự động: Dễ dàng tự động hóa chuyển đổi và di chuyển dữ liệu mà vẫn duy trì bảo mật.
  • Quản trị dữ liệu tập trung: Kết hợp kiểm soát truy cập của Lake Formation với khả năng chuyển đổi và lập danh mục dữ liệu của Glue.
  • Tăng cường bảo mật: Tận dụng quyền chi tiết của Lake Formation để kiểm soát truy cập dữ liệu nhạy cảm.

Điều kiện tiên quyết cho việc tích hợp

Trước khi tích hợp AWS Lake Formation và AWS Glue, hãy đảm bảo bạn có các yếu tố sau:

  • Tài khoản AWS: Quyền truy cập vào AWS Lake Formation và AWS Glue.
  • Kiến thức cơ bản: Quen thuộc với data lake, ETL và các dịch vụ AWS.
  • S3 bucket: Một S3 bucket được cấu hình sẵn để lưu dữ liệu của bạn.
  • Vai trò IAM: Cần có các vai trò và quyền IAM cần thiết để truy cập cả hai dịch vụ.
  • CloudFormation: Có cung cấp một template để triển khai thiết lập nền tảng. Bbạn có thể tìm template tại đây.

Hướng dẫn tích hợp từng bước

Khi đã có đủ điều kiện tiên quyết, hãy thực hiện các bước sau:

Bước 1: Thiết lập AWS Lake Formation

Bước đầu tiên là triển khai các tài nguyên AWS cốt lõi cần thiết để xây dựng một data lake an toàn trước khi bắt đầu quá trình tích hợp. AWS CloudFormation template giúp tổ chức và triển khai tất cả tài nguyên cần thiết. 

Sử dụng template CloudFormation được cung cấp để tạo một stack trong tài khoản AWS của bạn. Stack này cung cấp các tài nguyên thiết yếu cho các trường hợp sử dụng được mô tả trong hướng dẫn này.

Ảnh chụp màn hình trang 'Create Stack' của AWS CloudFormation hiển thị các tùy chọn chuẩn bị và chỉ định template, bao gồm tải lên tệp template hoặc chọn các nguồn khác.

Tạo một stack trong AWS CloudFormation

Sau khi triển khai stack, các tài nguyên chính sau sẽ được tạo trong tài khoản AWS của bạn:

  • Amazon VPC và subnet: Một VPC và public subnet để lưu trữ tài nguyên với cấu hình mạng phù hợp.
  • Amazon S3 buckets:
    • Lưu trữ dữ liệu, script và kết quả liên quan đến blog.
    • Lưu trữ dữ liệu TPC dùng để xây dựng data lake.
  • Vai trò và chính sách IAM:
    • GlueServiceRole: Cấp quyền cho AWS Glue truy cập các dịch vụ S3 và Lake Formation.
    • DataEngineerGlueServiceRole: Cung cấp cho kỹ sư quyền truy cập và xử lý dữ liệu.
    • DataAdminUser và DataEngineerUser: Người dùng IAM được tạo sẵn để khám phá và quản lý bảo mật Lake Formation.
  • AWS Glue Crawler: TPC Crawler để quét và lập danh mục dữ liệu parquet lưu trong S3 bucket.
  • Amazon EC2 instance: Một instance hỗ trợ (EC2-DB-Loader) để tiền nạp và chuyển dữ liệu mẫu vào S3.
  • AWS Secrets Manager: Một secret (lf-users-credentials) để lưu trữ an toàn thông tin đăng nhập cho các người dùng IAM đã tạo sẵn.

Sau khi stack được tạo, bạn sẽ có:

  • Một cơ sở dữ liệu TPC mẫu được lưu trong Amazon S3.
  • Người dùng và vai trò đã được tạo sẵn để khám phá các mô hình bảo mật và kiểm soát truy cập.
  • Cấu hình và crawler của Glue để lập danh mục và xử lý dữ liệu của bạn.
  • Tất cả các thành phần nền tảng cần thiết để theo dõi các bước trong bài blog này.

Bước 2: Cấu hình quyền truy cập dữ liệu

Trong phần này, Quản trị viên Data Lake sẽ cấu hình AWS Lake Formation để cung cấp cho các nhóm tiêu thụ dữ liệu, bao gồm các kỹ sư dữ liệu. Quản trị viên sẽ:

  • Tạo một cơ sở dữ liệu mới trong AWS Lake Formation để lưu trữ dữ liệu TPC.
  • Đăng ký các bảng metadata cho tập dữ liệu TPC trong AWS Glue Data Catalog.
  • Cấu hình thẻ và chính sách Lake Formation để thiết lập quyền truy cập cho các người dùng khác nhau.

Những cấu hình này cung cấp kiểm soát truy cập chi tiết, an toàn và phối hợp mượt mà với các dịch vụ AWS khác.

Thiết lập Quản trị viên Data Lake

Quản trị viên Data Lake là một người dùng hoặc vai trò IAM có thể cấp quyền cho bất kỳ principal nào (bao gồm chính nó) trên bất kỳ thực thể nào trong Data Catalog. Quản trị viên Data Lake thường là người dùng đầu tiên được tạo để quản lý Data Catalog và thường được cấp đặc quyền quản trị cho Data Catalog.

Trong dịch vụ AWS Lake Formation, bạn có thể mở hộp thoại bằng cách nhấp vào Administrative roles and tasks -> Add Administrators trong bảng điều hướng, sau đó chọn người dùng IAM lf-data-admin từ danh sách thả xuống.

Ảnh chụp màn hình trang 'Add administrators' trong AWS Lake Formation hiển thị tùy chọn gán loại truy cập, người dùng IAM và vai trò cho quyền quản trị data lake.

Thêm Quản trị viên Data Lake trong AWS Lake Formation

Thay đổi cài đặt catalog

Mặc định, Lake Formation chọn tùy chọn “Use only IAM access control” để tương thích với AWS Glue Data Catalog. Để bật kiểm soát truy cập chi tiết bằng quyền của Lake Formation, bạn cần điều chỉnh các cài đặt này:

  1. Trong ngăn điều hướng, dưới Administration, chọn Administrative roles and tasks.
  2. Nếu nhóm IAMAllowedPrincipals xuất hiện dưới Database creators, hãy chọn nhóm và nhấn Revoke.
  3. Trong hộp thoại Revoke permissions, xác nhận nhóm có quyền Create database rồi nhấp Revoke.

Những bước này sẽ vô hiệu hóa kiểm soát truy cập IAM mặc định và cho phép bạn triển khai quyền của Lake Formation để tăng cường bảo mật.

Ảnh chụp màn hình giao diện AWS Lake Formation hiển thị các tùy chọn cho catalog creators và database creators, bao gồm nhóm IAMAllowedPrincipals với quyền Create catalog và Create database.

Quản lý catalog và database creators trong AWS Lake Formation

Bước 3: Sử dụng AWS Glue Data Catalog

Bây giờ là lúc đưa Glue Data Catalog vào sử dụng.

Tạo cơ sở dữ liệu

Để tạo một cơ sở dữ liệu cho dữ liệu TPC, đăng xuất phiên AWS hiện tại và đăng nhập lại bằng người dùng lf-data-admin. Sử dụng liên kết đăng nhập được cung cấp trong phần output của CloudFormation và mật khẩu lấy từ AWS Secrets Manager.

  1. Đi tới bảng điều khiển AWS Lake Formation và chọn Databases trong ngăn điều hướng bên trái.
  2. Nhấp nút Create database.
  3. Đặt tên cơ sở dữ liệu là “tpc”, vì cơ sở này sẽ dùng cho data lake TPC.
  4. Trong trường Location, chọn đường dẫn data lake S3 được tạo bởi CloudFormation stack. Đường dẫn này có thể tìm thấy trong tab output của CloudFormation và sẽ có tên lf-data-lake-account-ID, trong đó account-ID là số tài khoản AWS 12 chữ số của bạn.
  5. Bỏ chọn tùy chọn Use only IAM access control for new tables in this database để bật kiểm soát truy cập chi tiết.
  6. Giữ các tùy chọn khác ở giá trị mặc định và nhấp Create database.

Cơ sở dữ liệu này sẽ là nền tảng để lưu trữ và quản lý metadata cho dữ liệu TPC trong thiết lập Lake Formation.

Ảnh chụp màn hình trang 'Database details' của AWS Lake Formation hiển thị các trường tên cơ sở dữ liệu, data catalog, vị trí S3, mô tả và cài đặt quyền mặc định cho các bảng mới tạo.

Tạo cơ sở dữ liệu trong AWS Lake Formation

Nạp dữ liệu vào Data Lake

Chúng ta dùng AWS Glue Crawler để tạo các bảng trong AWS Glue Data Catalog. Crawler là cách phổ biến nhất để tạo bảng trong AWS Glue, vì chúng có thể quét qua nhiều kho dữ liệu cùng lúc và tạo hoặc cập nhật chi tiết các bảng trong Data Catalog sau khi quá trình crawl hoàn tất.

Trước khi chạy AWS Glue Crawler, bạn cần cấp quyền cần thiết cho vai trò IAM của nó:

  1. Trong bảng điều khiển AWS Lake Formation, điều hướng tới Databases và chọn cơ sở dữ liệu tpc.
  2. Từ menu thả xuống Actions, chọn Grant.
  3. Trong hộp thoại Grant permissions:
    • Trong phần Principals, chọn vai trò IAM LF-GlueServiceRole.
    • Trong phần LF-Tags or catalog resources, đảm bảo chọn Named data catalog resources.
    • Chọn cơ sở dữ liệu tpc.
    • Trong phần Database permissions, chọn tùy chọn Create table.
    • Nhấp Grant.

Ảnh chụp màn hình trang Databases của AWS Lake Formation hiển thị danh sách cơ sở dữ liệu, bao gồm 'sales' và 'tpc', với menu Actions mở rộng để hiển thị tùy chọn 'Grant' quản lý quyền.

Cấp quyền trong AWS Lake Formation

Chạy AWS Glue Crawler

Khi đã cấp quyền, tiến hành chạy crawler:

  1. Trong bảng điều khiển AWS Lake Formation, điều hướng tới Crawlers và nhấp để mở bảng điều khiển AWS Glue.
  2. Chọn crawler có tên TPC Crawler và nhấp Run crawler.
  3. Theo dõi tiến độ bằng cách nhấp nút Refresh.
  4. Khi hoàn tất, cơ sở dữ liệu TPC sẽ được bổ sung các bảng. Kiểm tra cột Table changes from the last run để xem số lượng bảng đã thêm (ví dụ, 8 bảng).

Ảnh chụp màn hình trang thuộc tính AWS Glue TPC Crawler hiển thị chi tiết như vai trò IAM, cơ sở dữ liệu và các lần chạy crawler với trạng thái Completed, cho thấy cập nhật bảng thành công.

Chạy TPC Crawler trong AWS Glue

Bạn cũng có thể xác minh các bảng này trong bảng điều khiển AWS Lake Formation dưới mục Data catalog và Tables.

Ảnh chụp màn hình trang Tables của AWS Lake Formation hiển thị danh sách 8 bảng đã nạp vào cơ sở dữ liệu tpc, bao gồm dl_tpc_household_demographics, dl_tpc_customer và các bảng khác, với tùy chọn tạo bảng hoặc dùng crawler.

Xem các bảng trong AWS Lake Formation

Đăng ký vị trí Data Lake

Bạn phải đăng ký S3 bucket trong AWS Lake Formation cho lưu trữ data lake của mình. Việc đăng ký này cho phép bạn thực thi kiểm soát truy cập chi tiết trên các đối tượng của AWS Glue Data Catalog và dữ liệu bên dưới được lưu trong bucket.

Các bước đăng ký vị trí Data Lake:

  1. Đi tới phần Data Lake Locations trong bảng điều khiển AWS Lake Formation và nhấp Register location.
  2. Nhập đường dẫn tới S3 bucket được tạo qua CloudFormation template. Bucket này sẽ lưu trữ dữ liệu được ingest trong quá trình pipeline.
  3. Đối với IAM Role, chọn LF-GlueServiceRole được tạo bởi CloudFormation template.
  4. Trong phần Permission mode, chọn Lake Formation để bật các tính năng kiểm soát truy cập nâng cao.
  5. Nhấp Register location để lưu cấu hình.

Sau khi đăng ký, hãy xác minh vị trí data lake của bạn để đảm bảo cấu hình chính xác. Bước này rất quan trọng để quản lý dữ liệu và bảo mật liền mạch trong thiết lập Lake Formation.

Ảnh chụp màn hình trang 'Register Location' của AWS Lake Formation hiển thị các trường đường dẫn Amazon S3, lựa chọn IAM role (LF-GlueServiceRole) và tùy chọn chế độ cấp quyền, bao gồm Lake Formation và Hybrid access mode

Đăng ký vị trí Amazon S3 trong AWS Lake Formation

Thẻ Lake Formation (LF-Tags)

LF-Tags có thể được dùng để tổ chức tài nguyên và đặt quyền trên nhiều tài nguyên cùng lúc. Chúng cho phép bạn tổ chức dữ liệu theo phân loại (taxonomy) và nhờ đó phân rã các chính sách phức tạp, quản lý quyền hiệu quả. Điều này khả thi vì với LF-Tags, bạn có thể tách rời chính sách khỏi tài nguyên, do đó có thể thiết lập chính sách truy cập ngay cả trước khi tài nguyên được tạo.

Các bước tạo và gán LF-Tags

  • Tạo LF-Tags:
    • Đi tới bảng điều khiển Lake Formation tại AWS Lake Formation.
    • Trong ngăn điều hướng, chọn LF-Tags and permissions, rồi nhấp Add LF-Tag.
    • Nhập “Classification” làm khóa và thêm “Sensitive” và “Non-Sensitive” làm giá trị. Nhấp Add LF-Tag.

Ảnh chụp màn hình trang 'Add LF-Tag' của AWS Lake Formation hiển thị tùy chọn xác định khóa và giá trị, cấp quyền LF-Tag và gán quyền cặp khóa-giá trị LF-Tag cho tài nguyên Data Catalog.

Tạo LF-Tags trong AWS Lake Formation

  • Cấp quyền LF-Tag:
    • Đảm bảo người dùng lf-data-admin có quyền LF-Tag. Điều hướng tới Tables trong bảng điều khiển Lake Formation.
    • Chọn bảng dl_tpc_customer, nhấp menu actions và chọn Grant.
    • Trong phần IAM users and roles, chọn lf-data-admin.
    • Đối với LF-Tags hoặc tài nguyên catalog, chọn Named data catalog resources.
    • Chọn cơ sở dữ liệu tpc và bảng dl_tpc_customer, cấp quyền Alter cho bảng. Nhấp Grant.

Ảnh chụp màn hình trang 'Grant permissions' của AWS Lake Formation hiển thị người dùng IAM lf-data-admin, lựa chọn Named Data Catalog resources và cấu hình cho cơ sở dữ liệu tpc và bảng dl_tpc_customer.

Cấp quyền trong AWS Lake Formation

  • Gán LF-Tags cho các đối tượng Data Catalog:
    • Đi tới Tables và chọn bảng dl_tpc_customer. Mở chi tiết bảng và chọn Edit LF-Tags từ menu hành động.
    • Nhấp Assign new LF-Tag, nhập “Classification” làm khóa và đặt “Non-Sensitive” làm giá trị. Nhấp Save.
    • Từ menu hành động của bảng, chọn Edit schema. Chọn các cột như c_first_name, c_last_name và c_email_address, rồi nhấp Edit LF-Tags.
    • Với khóa kế thừa Classification, đổi giá trị thành “Sensitive” và nhấp Save. Lưu cấu hình này như một phiên bản mới.
  • Áp dụng LF-Tags cho các bảng bổ sung:
    • Đối với bảng dl_tpc_household_demographics, vào Actions và chọn Edit LF-Tags.
    • Trong hộp thoại, nhấp Assign new LF-Tag. Đặt Group làm khóa và Analyst làm giá trị. Nhấp Save để hoàn tất.

Bằng cách làm theo các bước này, bạn có thể gán LF-Tags cho các đối tượng Data Catalog một cách hiệu quả, đảm bảo kiểm soát truy cập chi tiết, an toàn trong toàn bộ data lake.

Bước 4: Tạo job ETL trong AWS Glue

AWS Glue Studio là giao diện kéo-thả giúp người dùng phát triển, gỡ lỗi và giám sát các job ETL cho AWS Glue. Kỹ sư dữ liệu tận dụng Glue ETL, dựa trên Apache Spark, để chuyển đổi các tập dữ liệu lưu trong Amazon S3 và nạp dữ liệu vào data lake và kho dữ liệu để phân tích. Để quản trị truy cập hiệu quả khi nhiều nhóm cùng làm việc trên cùng tập dữ liệu, việc cấp và giới hạn quyền theo vai trò là quan trọng.

Cấp quyền với AWS Lake Formation

Thực hiện các bước sau để cấp quyền cần thiết cho người dùng lf-data-engineer và vai trò tương ứng DE-GlueServiceRole. Vai trò này được kỹ sư dữ liệu dùng để truy cập các bảng Glue Data Catalog trong các job Glue Studio.

  1. Đăng nhập với tư cách Quản trị viên Data Lake:
    • Dùng người dùng lf-data-admin để đăng nhập AWS Management Console. Lấy mật khẩu từ AWS Secrets Manager và URL đăng nhập từ output của CloudFormation.
  2. Cấp quyền select cho một bảng:
    • Đi tới Data lake permissions trong bảng điều khiển Lake Formation.
    • Nhấp Grant, và trong hộp thoại, cung cấp thông tin sau:
      • IAM users and roles: Nhập lf-data-engineer và DE-GlueServiceRole.
      • LF-Tags or catalog resources: Chọn Named data catalog resources.
      • Databases: Chọn tpc.
      • Tables: Chọn dl_tpc_household_demographics.
      • Table permissions: Chọn Select và Describe.
    • Nhấp Grant để lưu quyền.
  3. Cấp quyền tạo bảng cho một cơ sở dữ liệu:
    • Đi tới Data Lake Permissions một lần nữa.
    • Nhấp Grant, và trong hộp thoại, cung cấp thông tin sau:
      • IAM users and roles: Nhập DE-GlueServiceRole.
      • LF-Tags or catalog resources: Chọn Named data catalog resources.
      • Databases: Chọn tpc (để trống phần bảng).
      • Database permissions: Chọn Create table.
    • Nhấp Grant để hoàn tất cấp quyền.

Ảnh chụp màn hình trang 'Grant permissions' của AWS Lake Formation hiển thị các tùy chọn quyền cơ sở dữ liệu như Create table, Alter, Drop và Super, cùng cài đặt hybrid access mode và thông báo thông tin về khả năng bị từ chối truy cập.

Cấu hình quyền cơ sở dữ liệu trong AWS Lake Formation

Hoàn tất các bước này sẽ cấp cho người dùng lf-data-engineer và vai trò DE-GlueServiceRole các quyền cần thiết để làm việc với bảng Glue Data Catalog và quản lý tài nguyên trong các job Glue Studio. Thiết lập này đảm bảo truy cập theo vai trò, an toàn cho data lake của bạn.

Tạo các job ETL trong Glue Studio

Trong phần này, chúng ta sẽ tạo một job ETL trong AWS Glue Studio bằng SQL Transform.

  • Đăng nhập AWS bằng lf-data-engineer:
    • Sử dụng người dùng lf-data-engineer để đăng nhập AWS Management Console. Lấy mật khẩu từ AWS Secrets Manager và URL đăng nhập được cung cấp bởi CloudFormation output.
  • Mở Glue Studio và bắt đầu một job mới:
    • Đi tới bảng điều khiển Glue Studio và nhấp vào Visual ETL.
    • Đổi tên job thành LF_GlueStudio để dễ nhận diện.
  • Cấu hình chi tiết job:
    • Nhấp tab Job Details để thiết lập các cấu hình sau: 
      • IAM role: Chọn DE-GlueServiceRole.
      • Glue version: Chọn Glue 5.0 - Support Spark 3.1, Scala 2, Python 3.
      • Requested number of workers: Đặt là 5.
      • Job bookmark: Chọn Disable.
      • Number of retries: Đặt là 0.

Ảnh chụp màn hình trang Job Details của AWS Glue Studio hiển thị các trường cấu hình IAM role (DE-GlueServiceRole), loại ETL job (Spark), phiên bản Glue (3.0), ngôn ngữ (Python 3), loại worker (G 1X) và số lượng worker yêu cầu.

Cấu hình chi tiết job trong AWS Glue Studio

  • Thêm một node nguồn dữ liệu:
    • Trong tab Visual, nhấp nút + và thêm một node AWS Glue Data Catalog để cấu hình nguồn dữ liệu. Đổi tên node này thành “Amazon S3”.
    • Chọn node Amazon S3 trên trình chỉnh sửa trực quan và cấu hình thuộc tính ở bảng bên phải:
      • Trong phần Data Source Properties - Data Catalog, thiết lập:
        • Database: tpc.
        • Table: dl_tpc_household_demographics. (Lưu ý: Người dùng lf-data-admin chỉ cấp cho lf-data-engineer quyền Select trên bảng này. Các bảng khác sẽ không xuất hiện trong danh sách.)

Ảnh chụp màn hình tab Visual của AWS Glue Studio hiển thị một node Data source liên kết với Amazon S3, với thuộc tính được cấu hình cho cơ sở dữ liệu tpc và bảng dl_tpc_household_demographics trong Data Catalog.

Cấu hình nguồn dữ liệu trong AWS Glue Studio

  • Thêm và cấu hình node SQL Query:
    • Khi node Amazon S3 được chọn, nhấp nút + và thêm một node SQL Query làm phép biến đổi.
    • Chọn node SQL Query và cấu hình:
      • Trong phần Transform, nhập truy vấn SQL của bạn vào trường SQL Query.
      • Thêm truy vấn này: 
/* Select all records where buy potential is between 0 and 500 */
SELECT * 
FROM myDataSource 
WHERE hd_buy_potential = '0-500';
      • Trong Output Schema, nhấp Edit và xóa các khóa hd_dep_count và hd_vehicle_count. Nhấp Apply.

Ảnh chụp màn hình tab Visual của AWS Glue Studio hiển thị node SQL Query với truy vấn SQL đã áp dụng (SELECT * FROM myDataSource WHERE hd_buy_potential = '0-500') và cấu hình output schema liên quan.

Cấu hình SQL Query Transform trong AWS Glue Studio

  • Thêm node đích dữ liệu:
    • Khi node SQL Query được chọn, nhấp nút + và thêm một Data Target node. Chọn Amazon S3 Target từ kết quả tìm kiếm.
    • Cấu hình node Data Target-S3 ở bảng bên phải:
      • Format: Chọn Parquet.
      • Compression type: Chọn Snappy.
      • S3 target location: Nhập s3://<your_LFDataLakeBucketName>/gluestudio/curated/. (Thay <your_LFDataLakeBucketName> bằng tên bucket thực tế từ tab CloudFormation Outputs.)
      • Data Catalog update options: Chọn Create a table in the Data Catalog and on subsequent runs, update the schema and add new partitions.
      • Database: Chọn tpc.
      • Table name: Cung cấp tên cho bảng đầu ra. Ví dụ, dl_tpc_household_demographics_below500.
  • Lưu và xem lại job:
    • Nhấp Save ở góc trên bên phải để lưu job.
    • Tùy chọn, chuyển sang tab Script để xem script tự động sinh. Bạn có thể tải xuống hoặc chỉnh sửa nếu cần.

Bằng cách làm theo các bước này, bạn sẽ tạo được một job ETL Glue Studio hoạt động đầy đủ, chuyển đổi dữ liệu và ghi kết quả vào thư mục S3 curated đồng thời cập nhật Glue Data Catalog.

Bước 5: Kiểm thử và xác nhận tích hợp

Để xác nhận các quyền đã cấp trong Lake Formation, hãy làm theo các bước sau khi đăng nhập bằng người dùng lf-data-engineer (như chi tiết trong phần Create Glue Studio Jobs):

  1. Chạy job LF_GlueStudio:
    • Đi tới job LF_GlueStudio và nhấp nút Run ở góc trên bên phải để thực thi job.
    • Giám sát quá trình thực thi bằng cách chọn tab Runs trong giao diện job.

Ảnh chụp màn hình tab Runs của AWS Glue Studio hiển thị một lần chạy job đã hoàn thành thành công cho LF_GlueStudio, với chi tiết thời gian chạy, thời gian thực thi, loại worker và phiên bản Glue.

Giám sát các lần chạy job trong AWS Glue Studio

  1. Xác minh đầu ra của job:
    • Khi trạng thái chạy job hiển thị Succeeded, vào thư mục curated trong S3 bucket của bạn để kiểm tra các tệp đầu ra. Các tệp này sẽ ở định dạng Parquet như đã cấu hình khi tạo job.

Ảnh chụp màn hình một Amazon S3 bucket hiển thị danh sách các tệp Parquet trong thư mục gluestudio/curated/, bao gồm tên tệp, thời gian sửa đổi lần cuối, kích thước và lớp lưu trữ.

Xem tệp đầu ra trong Amazon S3

  1. Xác minh bảng mới tạo:
    • Mở Glue Data Catalog và điều hướng tới cơ sở dữ liệu bạn đã chỉ định khi thiết lập job.
    • Kiểm tra bảng mới được liệt kê dưới cơ sở dữ liệu, xác nhận dữ liệu đầu ra đã được catalog hóa thành công.

Ảnh chụp màn hình trang AWS Glue Databases hiển thị thuộc tính cơ sở dữ liệu tpc và danh sách các bảng cùng vị trí S3, phân loại và tùy chọn xem dữ liệu.

Xem các bảng cơ sở dữ liệu trong AWS Glue

Thực tiễn tốt nhất khi tích hợp AWS Lake Formation và AWS Glue

Khi tích hợp AWS Lake Formation và AWS Glue, việc tuân theo các thực tiễn tốt nhất có thể tăng cường bảo mật dữ liệu, hợp lý hóa vận hành và tối ưu hiệu năng. Dưới đây là cách bạn tận dụng tối đa các dịch vụ này:

Tối ưu quyền truy cập dữ liệu

  • Áp dụng nguyên tắc đặc quyền tối thiểu: Chỉ cấp cho người dùng và vai trò quyền truy cập các tài nguyên họ cần. Tránh cấp quyền rộng có thể làm lộ dữ liệu nhạy cảm hoặc tài nguyên quan trọng không cần thiết.
  • Thường xuyên kiểm toán chính sách truy cập: Định kỳ xem xét và cập nhật chính sách để tuân thủ các yêu cầu bảo mật và tuân thủ đang thay đổi. Tận dụng các công cụ như AWS IAM Access Analyzer để phát hiện chính sách quá rộng.
  • Tận dụng LF-Tags để quản lý chính sách: Dùng Lake Formation Tags (LF-Tags) để nhóm tài nguyên liên quan và đơn giản hóa quản lý quyền. Bằng cách áp dụng các thẻ như Sensitive hoặc Non-Sensitive, bạn có thể tạo các chính sách có thể mở rộng, tái sử dụng và tự động áp dụng cho các tài nguyên được gắn thẻ.
  • Tách rời chính sách khỏi tài nguyên: Xác định quyền bằng LF-Tags hoặc template trước khi tài nguyên được tạo. Điều này đảm bảo quá trình tích hợp liền mạch khi bổ sung nguồn dữ liệu hoặc bảng mới.

Giám sát và gỡ lỗi job

  • Bật CloudWatch logs cho các job Glue: CloudWatch Logs có thể ghi lại chi tiết việc thực thi các job AWS Glue, bao gồm lỗi và thông tin thực thi. Dùng các log này để xử lý sự cố nhanh chóng.

Ảnh chụp màn hình các sự kiện log của AWS CloudWatch hiển thị chi tiết hoạt động của TPC Crawler, bao gồm sự kiện bắt đầu crawl, hoàn tất phân loại và cập nhật cơ sở dữ liệu tpc.

Sự kiện log cho TPC Crawler trong AWS CloudWatch

  • Giám sát metric của Glue: AWS Glue cung cấp các metric giúp xác định sự kém hiệu quả hoặc vấn đề trong quy trình ETL. Thiết lập cảnh báo CloudWatch để thông báo về các mẫu bất thường.

Ảnh chụp màn hình AWS CloudWatch Metrics hiển thị metric job cho LF_GlueStudio, bao gồm failed tasks, JVM GC time, heap usage và heap used, với tùy chọn tạo cảnh báo và vẽ biểu đồ metric.

Giám sát metric job AWS Glue Studio

Sử dụng phân vùng và nén

  • Tối ưu phân vùng dữ liệu: Chia nhỏ tập dữ liệu theo các đặc trưng thường được truy vấn, như phòng ban, ngày hoặc khu vực. Trong Athena hoặc Redshift, ví dụ, chia dữ liệu bán hàng theo tháng và năm có thể đáng kể tăng tốc truy vấn và giảm chi phí quét.
  • Chọn định dạng nén phù hợp: Dùng định dạng lưu trữ dạng cột dành cho tác vụ phân tích, như ORC hoặc Parquet. Kết hợp với thuật toán nén hiệu quả như Snappy để tiết kiệm dung lượng và tăng tốc truy vấn.
  • Tự động phân vùng trong các job Glue: Các job AWS Glue có thể phân vùng dữ liệu động trong quá trình ETL. Chỉ định khóa phân vùng trong cấu hình job để đảm bảo dữ liệu đến được lưu ở cấu trúc hợp lý.
  • Thường xuyên giám sát và điều chỉnh chiến lược: Đánh giá hiệu quả nén và phân vùng khi khối lượng dữ liệu tăng. Phân tích xu hướng truy vấn, sau đó điều chỉnh lược đồ phân vùng để phù hợp với tải công việc thay đổi.

Kết luận

Triển khai AWS Lake Formation và AWS Glue giúp tổ chức sắp xếp, bảo vệ và xử lý dữ liệu. Nhờ các biện pháp bảo mật toàn diện của Lake Formation và tự động hóa của Glue, bạn có thể tối ưu quy trình ETL, đáp ứng các chính sách về quản trị dữ liệu và cung cấp quyền truy cập dễ dàng cho người dùng, bao gồm kỹ sư dữ liệu và nhà khoa học dữ liệu.

Các lợi ích bao gồm:

  • Tăng cường bảo mật: Kiểm soát truy cập chi tiết với LF-Tags đảm bảo chỉ người dùng được ủy quyền mới truy cập dữ liệu nhạy cảm.
  • Tự động hóa: AWS Glue đơn giản hóa chuẩn bị và chuyển đổi dữ liệu, giảm công sức thủ công và lỗi.
  • Khả năng mở rộng: Quyền động và quản lý chính sách cho phép mở rộng liền mạch khi dữ liệu tăng trưởng.
  • Hiệu quả: Lưu trữ và hiệu năng truy vấn tối ưu nhờ phân vùng và nén giúp tiết kiệm thời gian và chi phí.

Khi bạn đào sâu vào tích hợp dữ liệu, việc bổ sung kiến thức thực hành là rất cần thiết. Ví dụ, thành thạo pipeline dữ liệu với ETL và ELT trong Python sẽ nâng cao khả năng xử lý và chuyển đổi dữ liệu hiệu quả. Tương tự, nắm vững Các khái niệm Quản lý Dữ liệu sẽ cải thiện cách bạn cấu trúc và xử lý tập dữ liệu. Và để đảm bảo kết quả đáng tin cậy, hiểu các nguyên tắc trong khóa Giới thiệu về Chất lượng Dữ liệu là điều bắt buộc.

Câu hỏi thường gặp

Mục đích của việc tích hợp AWS Lake Formation và AWS Glue là gì?

Bằng cách triển khai AWS Lake Formation và AWS Glue, có thể xây dựng các pipeline dữ liệu an toàn, tự động và có khả năng mở rộng. Tích hợp này cung cấp kiểm soát truy cập toàn diện, quy trình ETL tinh gọn và một nền tảng thống nhất cho quản trị dữ liệu, phân tích và tuân thủ.

Tầm quan trọng của LF-Tags trong AWS Lake Formation là gì?

LF-Tags cho phép quản lý quyền trên quy mô lớn vì thông qua chúng, dữ liệu được tổ chức theo các phân loại nhất định, ví dụ “Sensitive” hoặc “Non-Sensitive.” Chúng giúp giảm độ phức tạp của chính sách truy cập khi bạn có thể đặt quyền dựa trên thẻ, và bạn có thể làm điều đó trước cả khi tài nguyên được tạo; điều này mang lại sự linh hoạt cũng như bảo mật.

AWS Glue Studio đóng vai trò gì trong tích hợp này?

AWS Glue Studio là công cụ chuyển đổi dữ liệu với giao diện kéo-thả. Người dùng có thể phát triển, giám sát và điều khiển các job ETL thông qua giao diện này. Nó giúp quy trình chuyển đổi dữ liệu hiệu quả hơn và hỗ trợ chuẩn bị dữ liệu cho phân tích.

Nhiều nhóm có thể truy cập cùng một tập dữ liệu một cách an toàn không?

Có, AWS Lake Formation cung cấp khả năng kiểm soát truy cập chi tiết, nơi bạn có thể cấp quyền cho người dùng theo vai trò hoặc thậm chí theo LF-Tags. Bằng cách này, mỗi nhóm chỉ có thể xem dữ liệu liên quan đến họ và dữ liệu được bảo vệ.

Bộ dữ liệu TPC được đề cập trong bài là gì?

Bộ dữ liệu TPC là bộ dữ liệu tổng hợp được sử dụng rộng rãi cho mục đích đào tạo, đánh giá hiệu năng và giáo dục. Nó chứa thông tin về nhiều sản phẩm, khách hàng, dữ liệu nhân khẩu học, doanh số web và dữ liệu giao dịch khác, giúp dữ liệu có tính thực tế hơn.


Rahul Sharma's photo
Author
Rahul Sharma
LinkedIn
Twitter

Rahul Sharma là AWS Ambassador, Kiến trúc sư DevOps và blogger kỹ thuật, chuyên về điện toán đám mây, thực hành DevOps và công nghệ mã nguồn mở. Với chuyên môn về AWS, Kubernetes và Terraform, anh giúp đơn giản hóa các khái niệm phức tạp cho người học và chuyên gia thông qua những bài viết và hướng dẫn hấp dẫn. Rahul đam mê giải quyết các thách thức DevOps và chia sẻ hiểu biết nhằm trao quyền cho cộng đồng công nghệ.

Chủ đề
Cloud
AWS

Tìm hiểu thêm về AWS với các khóa học này!

Khóa học

Các khái niệm về Công nghệ và Dịch vụ Đám mây AWS

3 giờ
21.9K
Làm chủ công nghệ đám mây AWS với phương pháp học thực hành và ứng dụng thực tiễn trong hệ sinh thái AWS.
Xem chi tiếtRight Arrow
Bắt Đầu Khóa Học
Xem thêmRight Arrow
Liên quan

blog

Claude Opus 4.6: Tính năng, Điểm chuẩn, Bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu ở mã hóa tác tử và lập luận phức tạp. Thêm vào đó, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem ThêmXem Thêm