Logo Zephyrnet

Xây dựng đường ống dẫn chất lượng dữ liệu theo hướng sự kiện với AWS Glue DataBrew

Ngày:

Các doanh nghiệp thu thập ngày càng nhiều dữ liệu mỗi ngày để thúc đẩy các quy trình như ra quyết định, báo cáo và học máy (ML). Trước khi làm sạch và chuyển đổi dữ liệu, bạn cần xác định xem dữ liệu đó có phù hợp để sử dụng hay không. Dữ liệu không chính xác, bị thiếu hoặc không đúng định dạng có thể có tác động lớn đến quá trình phân tích và ML hạ nguồn. Thực hiện kiểm tra chất lượng dữ liệu giúp xác định các vấn đề sớm hơn trong quy trình làm việc của bạn để bạn có thể giải quyết chúng nhanh hơn. Ngoài ra, thực hiện những kiểm tra này bằng cách sử dụng kiến ​​trúc dựa trên sự kiện giúp bạn giảm bớt các điểm tiếp xúc thủ công và mở rộng quy mô với lượng dữ liệu ngày càng tăng.

AWS Keo DataBrew là một công cụ chuẩn bị dữ liệu trực quan giúp dễ dàng tìm thấy các thống kê chất lượng dữ liệu như giá trị trùng lặp, giá trị bị thiếu và giá trị ngoại lai trong dữ liệu của bạn. Bạn cũng có thể thiết lập quy tắc chất lượng dữ liệu trong DataBrew để thực hiện kiểm tra có điều kiện dựa trên nhu cầu kinh doanh riêng của bạn. Ví dụ: một nhà sản xuất có thể cần đảm bảo rằng không có giá trị trùng lặp cụ thể trong Part ID hoặc một nhà cung cấp dịch vụ chăm sóc sức khỏe có thể kiểm tra các giá trị đó trong một SSN cột có độ dài nhất định. Sau khi bạn tạo và xác thực các quy tắc này với DataBrew, bạn có thể sử dụng Sự kiện Amazon, Chức năng bước AWS, AWS LambdaDịch vụ thông báo đơn giản của Amazon (Amazon SNS) để tạo quy trình làm việc tự động và gửi thông báo khi quy tắc không kiểm tra xác thực được.

Trong bài đăng này, chúng tôi sẽ hướng dẫn bạn quy trình làm việc từ đầu đến cuối và cách triển khai giải pháp này. Bài đăng này bao gồm hướng dẫn từng bước, Mô hình ứng dụng không có máy chủ AWS (AWS SAM) mẫu và mã mẫu mà bạn có thể sử dụng để triển khai ứng dụng trong môi trường AWS của riêng bạn.

Tổng quan về giải pháp

Giải pháp trong bài đăng này kết hợp không có máy chủ Các dịch vụ AWS để xây dựng một đường dẫn sự kiện hoàn toàn tự động, từ đầu đến cuối để xác thực chất lượng dữ liệu. Sơ đồ sau minh họa kiến ​​trúc giải pháp của chúng tôi.

Quy trình giải pháp bao gồm các bước sau:

  1. Khi bạn tải dữ liệu mới lên Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3), các sự kiện được gửi đến EventBridge.
  2. Quy tắc EventBridge kích hoạt máy trạng thái Chức năng Bước chạy.
  3. Máy trạng thái bắt đầu công việc cấu hình DataBrew, được định cấu hình với bộ quy tắc và quy tắc chất lượng dữ liệu. Nếu bạn đang xem xét xây dựng một giải pháp tương tự, thì vị trí đầu ra công việc của hồ sơ DataBrew và nhóm dữ liệu nguồn S3 phải là duy nhất. Điều này ngăn chặn chạy công việc đệ quy. Chúng tôi triển khai các nguồn lực của mình với Hình thành đám mây AWS mẫu, tạo các nhóm S3 duy nhất.
  4. Một hàm Lambda đọc kết quả chất lượng dữ liệu từ Amazon S3 và trả về phản hồi Boolean vào máy trạng thái. Hàm trả về false nếu một hoặc nhiều quy tắc trong bộ quy tắc không thành công và trả về true nếu tất cả các quy tắc thành công.
  5. Nếu phản hồi Boolean là false, máy trạng thái sẽ gửi thông báo qua email với Amazon SNS và máy trạng thái kết thúc bằng failed trạng thái. Nếu phản hồi Boolean là true, máy trạng thái kết thúc bằng succeed trạng thái. Bạn cũng có thể mở rộng giải pháp trong bước này để chạy các tác vụ khác thành công hoặc thất bại. Ví dụ: nếu tất cả các quy tắc thành công, bạn có thể gửi một thông báo EventBridge để kích hoạt một công việc chuyển đổi khác trong DataBrew.

Trong bài đăng này, bạn sử dụng AWS CloudFormation để triển khai bản demo hoạt động đầy đủ của giải pháp xác thực chất lượng dữ liệu theo hướng sự kiện. Bạn kiểm tra giải pháp bằng cách tải lên tệp các giá trị được phân tách bằng dấu phẩy (CSV) hợp lệ lên Amazon S3, theo sau là tệp CSV không hợp lệ.

Các bước thực hiện như sau:

  1. Khởi chạy ngăn xếp CloudFormation để triển khai tài nguyên giải pháp.
  2. Kiểm tra giải pháp:
    1. Tải tệp CSV hợp lệ lên Amazon S3 và quan sát xác thực chất lượng dữ liệu và máy trạng thái Chức năng Bước thành công.
    2. Tải tệp CSV không hợp lệ lên Amazon S3 và quan sát xác thực chất lượng dữ liệu và máy trạng thái Chức năng Bước không thành công, đồng thời nhận thông báo qua email từ Amazon SNS.

Tất cả mã mẫu có thể được tìm thấy trong Kho GitHub.

Điều kiện tiên quyết

Đối với hướng dẫn này, bạn nên có các điều kiện tiên quyết sau:

Triển khai các tài nguyên giải pháp bằng AWS CloudFormation

Bạn sử dụng ngăn xếp CloudFormation để triển khai các tài nguyên cần thiết cho giải pháp xác thực chất lượng dữ liệu theo hướng sự kiện. Ngăn xếp bao gồm một tập dữ liệu mẫu và tập quy tắc trong DataBrew.

  1. Đăng nhập vào tài khoản AWS của bạn và sau đó chọn Khởi chạy Stack:
  2. trên Tạo ngăn xếp nhanh chóng trang, cho Địa chỉ email, hãy nhập địa chỉ email hợp lệ cho các thông báo qua email Amazon SNS.
  3. Để các tùy chọn còn lại được đặt thành mặc định.
  4. Chọn các hộp kiểm xác nhận.
  5. Chọn Tạo ngăn xếp.

Ngăn xếp CloudFormation mất khoảng 5 phút để đạt được CREATE_COMPLETE trạng thái.

  1. Kiểm tra hộp thư đến của địa chỉ email bạn đã cung cấp và chấp nhận đăng ký SNS.

Bạn cần xem xét và chấp nhận xác nhận đăng ký để thể hiện tính năng thông báo qua email ở cuối hướng dẫn.

trên Kết quả đầu ra của ngăn xếp, bạn có thể tìm thấy các URL để duyệt tài nguyên DataBrew và Step Functions mà mẫu đã tạo. Cũng lưu ý các lệnh AWS CLI đã hoàn thành mà bạn sử dụng trong các bước sau.

Nếu bạn chọn AWSGlueDataBrewRuleset value, bạn sẽ thấy trang chi tiết bộ quy tắc, như trong ảnh chụp màn hình sau. trong hướng dẫn này
ồ, chúng tôi tạo một bộ quy tắc chất lượng dữ liệu với ba quy tắc kiểm tra các giá trị bị thiếu, giá trị ngoại lệ và độ dài chuỗi.

Kiểm tra giải pháp

Trong các bước sau, bạn sử dụng AWS CLI để tải lên các phiên bản đúng và không chính xác của tệp CSV nhằm kiểm tra giải pháp xác thực chất lượng dữ liệu theo hướng sự kiện.

  1. Mở cửa sổ dòng lệnh hoặc dòng lệnh và sử dụng AWS CLI để tải xuống dữ liệu mẫu. Sử dụng lệnh từ đầu ra ngăn xếp CloudFormation với tên khóa CommandToDownloadTestData:
    aws s3 cp s3://<your_bucket>/artifacts/BDB-1942/votes.csv

  2. Sử dụng lại AWS CLI để tải tệp CSV không thay đổi lên nhóm S3 của bạn. Thay thế chuỗi với tên nhóm của bạn hoặc sao chép và dán lệnh được cung cấp cho bạn từ đầu ra mẫu CloudFormation:
    aws s3 cp votes.csv s3://<your_bucket>/artifacts/BDB-1942/votes.csv

  3. Trên bảng điều khiển Chức năng Bước, định vị máy trạng thái được tạo bởi mẫu CloudFormation.

Bạn có thể tìm thấy một URL trong các kết quả đầu ra của CloudFormation được ghi chú trước đó.

  1. trên Thực thi , bạn sẽ thấy một lần chạy mới của máy trạng thái.
  2. Chọn URL của lần chạy để xem biểu đồ trạng thái máy và theo dõi tiến trình của nó.

Hình ảnh sau đây cho thấy quy trình làm việc của máy trạng thái của chúng tôi.

Để chứng minh lỗi của quy tắc chất lượng dữ liệu, bạn thực hiện ít nhất một chỉnh sửa đối với votes.csv tập tin.

  1. Mở tệp trong trình soạn thảo văn bản hoặc công cụ bảng tính ưa thích của bạn và chỉ xóa một ô.

Trong ảnh chụp màn hình sau, tôi sử dụng trình soạn thảo GNU nano trên Linux. Bạn cũng có thể sử dụng trình chỉnh sửa bảng tính để xóa một ô. Điều này khiến quy tắc "Kiểm tra tất cả các cột để tìm giá trị bị thiếu" không thành công.

Ảnh chụp màn hình sau đây hiển thị tệp CSV trước khi sửa đổi.

Ảnh chụp màn hình sau đây cho thấy tệp CSV đã thay đổi.

  1. Lưu phần đã chỉnh sửa votes.csv và quay lại dấu nhắc lệnh hoặc thiết bị đầu cuối của bạn.
  2. Sử dụng AWS CLI để tải tệp lên nhóm S3 của bạn một lần nữa. Bạn sử dụng lệnh tương tự như trước đây:
    aws s3 cp votes.csv s3://<your_bucket>/artifacts/BDB-1942/votes.csv

  3. Trên bảng điều khiển Chức năng Bước, điều hướng đến lần chạy trạng thái mới nhất của máy để theo dõi nó.

Việc xác thực chất lượng dữ liệu không thành công, kích hoạt thông báo email SNS và không chạy được trạng thái chung của máy.

Hình ảnh sau đây cho thấy quy trình làm việc của máy trạng thái bị lỗi.

Ảnh chụp màn hình sau đây cho thấy một ví dụ về email SNS.

  1. Bạn có thể điều tra lỗi quy tắc trên bảng điều khiển DataBrew bằng cách chọn AWSGlueDataBrewProfileResults giá trị trong đầu ra ngăn xếp CloudFormation.

Làm sạch

Để tránh phát sinh các khoản phí trong tương lai, hãy xóa tài nguyên. Trên bảng điều khiển AWS CloudFormation, hãy xóa ngăn xếp có tên AWSBigDataBlogDataBrewDQSample.

Kết luận

Trong bài đăng này, bạn đã học cách xây dựng đường ống xác thực chất lượng dữ liệu tự động, theo hướng sự kiện. Với DataBrew, bạn có thể xác định các quy tắc, ngưỡng và bộ quy tắc chất lượng dữ liệu cho các yêu cầu kỹ thuật và kinh doanh của mình. Step Functions, EventBridge và Amazon SNS cho phép bạn xây dựng các đường ống phức tạp với khả năng xử lý và cảnh báo lỗi có thể tùy chỉnh phù hợp với nhu cầu của bạn.

Bạn có thể tìm hiểu thêm về giải pháp này và mã nguồn bằng cách truy cập Kho GitHub. Để tìm hiểu thêm về các quy tắc chất lượng dữ liệu DataBrew, hãy truy cập AWS Glue DataBrew hiện cho phép khách hàng tạo các quy tắc chất lượng dữ liệu để xác định và xác thực các yêu cầu kinh doanh của họ hoặc tham khảo Xác thực chất lượng dữ liệu trong AWS Glue DataBrew.


Về các tác giả

Laith Al-Saadoon là Kiến trúc sư tạo mẫu chính trong nhóm Kỹ thuật hình dung. Anh ấy xây dựng các nguyên mẫu và giải pháp sử dụng AI, học máy, IoT & điện toán biên, phân tích luồng, robot và điện toán không gian để giải quyết các vấn đề của khách hàng trong thế giới thực. Khi rảnh rỗi, Laith thích các hoạt động ngoài trời như chụp ảnh, bay bằng máy bay không người lái, đi bộ đường dài và bắn súng sơn.

Gordon Burgess là Giám đốc sản phẩm cấp cao của AWS Glue DataBrew. Anh ấy đam mê giúp khách hàng khám phá thông tin chi tiết từ dữ liệu của họ và tập trung vào việc xây dựng trải nghiệm người dùng và chức năng phong phú cho các sản phẩm phân tích. Ngoài công việc, Gordon thích đọc sách, uống cà phê và chế tạo máy tính.

Nguồn: https://aws.amazon.com/blogs/big-data/build-event-driven-data-quality-pipelines-with-aws-glue-databrew/

tại chỗ_img

Tin tức mới nhất

tại chỗ_img

Trò chuyện trực tiếp với chúng tôi (chat)

Chào bạn! Làm thế nào để tôi giúp bạn?