Trong những năm gần đây, hồ dữ liệu đã trở thành kiến trúc chủ đạo và việc xác thực chất lượng dữ liệu là yếu tố quan trọng để cải thiện khả năng sử dụng lại và tính nhất quán của dữ liệu. Chất lượng dữ liệu keo AWS giảm nỗ lực cần thiết để xác thực dữ liệu từ hàng ngày xuống hàng giờ và cung cấp các đề xuất, số liệu thống kê và thông tin chi tiết về điện toán về các tài nguyên cần thiết để chạy xác thực dữ liệu.
Chất lượng dữ liệu AWS Glue được xây dựng dựa trên DeeQu, một công cụ nguồn mở được phát triển và sử dụng tại Amazon để tính toán số liệu chất lượng dữ liệu cũng như xác minh các hạn chế về chất lượng dữ liệu cũng như các thay đổi trong phân phối dữ liệu để bạn có thể tập trung vào việc mô tả dữ liệu sẽ trông như thế nào thay vì triển khai các thuật toán.
Trong bài đăng này, chúng tôi cung cấp kết quả điểm chuẩn của việc chạy các bộ quy tắc chất lượng dữ liệu ngày càng phức tạp trên một tập dữ liệu thử nghiệm được xác định trước. Là một phần của kết quả, chúng tôi trình bày cách Chất lượng dữ liệu AWS Glue cung cấp thông tin về thời gian chạy của các tác vụ trích xuất, chuyển đổi và tải (ETL), tài nguyên được đo theo đơn vị xử lý dữ liệu (DPU) và cách bạn có thể theo dõi chi phí chạy Chất lượng dữ liệu AWS Glue cho quy trình ETL bằng cách xác định báo cáo chi phí tùy chỉnh trong AWS Cost Explorer.
Tổng quan về giải pháp
Chúng tôi bắt đầu bằng cách xác định tập dữ liệu thử nghiệm để khám phá cách Chất lượng dữ liệu AWS Glue tự động chia tỷ lệ tùy thuộc vào tập dữ liệu đầu vào.
Chi tiết tập dữ liệu
Tập dữ liệu thử nghiệm chứa 104 cột và 1 triệu hàng được lưu trữ ở định dạng Parquet. Bạn có thể tải xuống tập dữ liệu hoặc tạo lại nó cục bộ bằng cách sử dụng tập lệnh Python được cung cấp trong kho. Nếu bạn chọn chạy tập lệnh trình tạo, bạn cần cài đặt Gấu trúc và mô phỏng các gói trong môi trường Python của bạn:
Lược đồ tập dữ liệu là sự kết hợp của các biến số, phân loại và chuỗi để có đủ thuộc tính sử dụng kết hợp Chất lượng dữ liệu AWS Glue tích hợp sẵn các loại quy tắc. Lược đồ này sao chép một số thuộc tính phổ biến nhất được tìm thấy trong dữ liệu thị trường tài chính như mã cổ phiếu, khối lượng giao dịch và dự báo giá.
Bộ quy tắc chất lượng dữ liệu
Chúng tôi phân loại một số loại quy tắc Chất lượng dữ liệu AWS Glue tích hợp để xác định cấu trúc điểm chuẩn. Các danh mục xem xét liệu các quy tắc có thực hiện kiểm tra cột mà không yêu cầu kiểm tra cấp hàng (quy tắc đơn giản), phân tích từng hàng (quy tắc trung bình) hay kiểm tra loại dữ liệu hay không, cuối cùng so sánh giá trị hàng với các nguồn dữ liệu khác (quy tắc phức tạp). ). Bảng sau đây tóm tắt các quy tắc này.
Quy tắc đơn giản | Quy tắc trung bình | Quy tắc phức tạp |
Số cột | Giá trị riêng biệtĐếm | Giá trị cột |
CộtDataType | Hoàn tất | đầy đủ |
CộtTồn tại | Tổng | Toàn vẹn tham chiếu |
Tên cộtTrận đấuMẫu | Độ lệch chuẩn | CộtTương quan |
Đếm số hàng | Nghĩa là | HàngĐếmTrận Đấu |
Độ dài cột | . | . |
Chúng tôi xác định tám công việc AWS Glue ETL khác nhau trong đó chúng tôi chạy bộ quy tắc chất lượng dữ liệu. Mỗi công việc có một số quy tắc chất lượng dữ liệu khác nhau liên quan đến nó. Mỗi công việc cũng có mối liên hệ thẻ phân bổ chi phí do người dùng xác định mà chúng tôi sử dụng để tạo báo cáo chi phí chất lượng dữ liệu trong AWS Cost Explorer sau này.
Chúng tôi cung cấp định nghĩa văn bản thuần túy cho từng bộ quy tắc trong bảng sau.
Tên công việc | Quy tắc đơn giản | Quy tắc trung bình | Quy tắc phức tạp | Số lượng quy tắc | Nhãn | Định nghĩa |
bộ quy tắc-0 | 0 | 0 | 0 | 0 | dqjob:rs0 | – |
bộ quy tắc-1 | 0 | 0 | 1 | 1 | dqjob:rs1 | liên kết |
bộ quy tắc-5 | 3 | 1 | 1 | 5 | dqjob:rs5 | liên kết |
bộ quy tắc-10 | 6 | 2 | 2 | 10 | dqjob:rs10 | liên kết |
bộ quy tắc-50 | 30 | 10 | 10 | 50 | dqjob:rs50 | liên kết |
bộ quy tắc-100 | 50 | 30 | 20 | 100 | dqjob:rs100 | liên kết |
bộ quy tắc-200 | 100 | 60 | 40 | 200 | dqjob:rs200 | liên kết |
bộ quy tắc-400 | 200 | 120 | 80 | 400 | dqjob:rs400 | liên kết |
Tạo các công việc AWS Glue ETL chứa các bộ quy tắc chất lượng dữ liệu
Chúng tôi tải lên tập dữ liệu thử nghiệm đến Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) và hai tệp CSV bổ sung mà chúng tôi sẽ sử dụng để đánh giá các quy tắc toàn vẹn tham chiếu trong Chất lượng dữ liệu keo AWS (isocodes.csv và trao đổi.csv) sau khi chúng được thêm vào Danh mục dữ liệu AWS Glue. Hoàn thành các bước sau:
- Trên bảng điều khiển Amazon S3, hãy tạo bộ chứa S3 mới trong tài khoản của bạn và tải lên tập dữ liệu thử nghiệm.
- Tạo một thư mục trong nhóm S3 có tên
isocodes
và tải lên isocodes.csv tập tin. - Tạo một thư mục khác trong nhóm S3 có tên là Exchange và tải lên trao đổi.csv tập tin.
- Trên bảng điều khiển AWS Glue, hãy chạy hai trình thu thập thông tin của AWS Glue, một trình cho mỗi thư mục để đăng ký nội dung CSV trong Danh mục dữ liệu AWS Glue (
data_quality_catalog
). Để biết hướng dẫn, hãy tham khảo Thêm trình thu thập keo AWS.
Trình thu thập thông tin của AWS Glue tạo ra hai bảng (exchanges
và isocodes
) như một phần của Danh mục dữ liệu AWS Glue.
Bây giờ chúng ta sẽ tạo Quản lý truy cập và nhận dạng AWS (TÔI LÀ) vai trò điều đó sẽ được đảm nhận bởi các công việc ETL khi chạy:
- Trên bảng điều khiển IAM, tạo vai trò IAM mới có tên
AWSGlueDataQualityPerformanceRole
- Trong Loại thực thể đáng tin cậy, lựa chọn Dịch vụ AWS.
- Trong Trường hợp dịch vụ hoặc sử dụng, chọn Keo dán.
- Chọn Sau.
- Trong Chính sách cấp phép, đi vào
AWSGlueServiceRole
- Chọn Sau.
- Tạo và đính kèm chính sách nội tuyến mới (
AWSGlueDataQualityBucketPolicy
) có nội dung sau. Thay thế phần giữ chỗ bằng tên nhóm S3 mà bạn đã tạo trước đó:
Tiếp theo, chúng tôi tạo một trong các công việc AWS Glue ETL, ruleset-5
.
- Trên bảng điều khiển AWS Keo, bên dưới công việc ETL trong ngăn điều hướng, chọn ETL trực quan.
- Trong tạp chí Tạo việc làm phần, chọn ETL trực quan.x
- Trong Visual Editor, thêm một Nguồn dữ liệu - Nhóm S3 nút nguồn:
- Trong URL S3, hãy nhập thư mục S3 chứa tập dữ liệu thử nghiệm.
- Trong Định dạng dữ liệu, chọn Sàn gỗ.
- Tạo một nút hành động mới, Chuyển đổi: Đánh giá-Dữ liệu-Catalog:
- Trong Node cha mẹ, chọn nút bạn đã tạo.
- Thêm định nghĩa quy tắc-5 Dưới Trình chỉnh sửa quy tắc.
- Cuộn đến cuối và xuống dưới Cấu hình hiệu suất, cho phép Dữ liệu bộ đệm.
- Theo Chi tiết công việc, Cho Vai trò IAM, chọn
AWSGlueDataQualityPerformanceRole
. - Trong tạp chí Tag phần, xác định dqjob gắn thẻ là rs5.
Thẻ này sẽ khác nhau đối với từng công việc ETL chất lượng dữ liệu; chúng tôi sử dụng chúng trong AWS Cost Explorer để xem xét chi phí công việc ETL.
- Chọn Lưu.
- Lặp lại các bước này với các bộ quy tắc còn lại để xác định tất cả các công việc ETL.
Chạy các tác vụ AWS Glue ETL
Hoàn thành các bước sau để chạy các công việc ETL:
- Trên bảng điều khiển AWS Glue, hãy chọn ETL trực quan Dưới công việc ETL trong khung điều hướng.
- Chọn công việc ETL và chọn Chạy công việc.
- Lặp lại cho tất cả các công việc ETL.
Khi các công việc ETL hoàn tất, giám sát chạy công việc trang sẽ hiển thị chi tiết công việc. Như được hiển thị trong ảnh chụp màn hình sau đây, một Giờ DPU cột được cung cấp cho mỗi công việc ETL.
Đánh giá hiệu suất
Bảng sau đây tóm tắt thời lượng, số giờ DPU và chi phí ước tính khi chạy 104 bộ quy tắc chất lượng dữ liệu khác nhau trên cùng một tập dữ liệu thử nghiệm. Lưu ý rằng tất cả các bộ quy tắc đã được chạy với toàn bộ tập dữ liệu thử nghiệm được mô tả trước đó (1 cột, XNUMX triệu hàng).
Tên công việc ETL | Số lượng quy tắc | Nhãn | Thời lượng (giây) | Số giờ DPU | Số lượng DPU | Chi phí ($) |
bộ quy tắc-400 | 400 | dqjob:rs400 | 445.7 | 1.24 | 10 | $0.54 |
bộ quy tắc-200 | 200 | dqjob:rs200 | 235.7 | 0.65 | 10 | $0.29 |
bộ quy tắc-100 | 100 | dqjob:rs100 | 186.5 | 0.52 | 10 | $0.23 |
bộ quy tắc-50 | 50 | dqjob:rs50 | 155.2 | 0.43 | 10 | $0.19 |
bộ quy tắc-10 | 10 | dqjob:rs10 | 152.2 | 0.42 | 10 | $0.18 |
bộ quy tắc-5 | 5 | dqjob:rs5 | 150.3 | 0.42 | 10 | $0.18 |
bộ quy tắc-1 | 1 | dqjob:rs1 | 150.1 | 0.42 | 10 | $0.18 |
bộ quy tắc-0 | 0 | dqjob:rs0 | 53.2 | 0.15 | 10 | $0.06 |
Chi phí đánh giá một bộ quy tắc trống gần bằng 3, nhưng nó đã được đưa vào vì nó có thể được sử dụng như một thử nghiệm nhanh để xác thực các vai trò IAM liên quan đến công việc Chất lượng dữ liệu AWS Glue và quyền đọc đối với tập dữ liệu thử nghiệm trong Amazon S100. Chi phí của công việc chất lượng dữ liệu chỉ bắt đầu tăng sau khi đánh giá các bộ quy tắc có hơn XNUMX quy tắc, không đổi dưới con số đó.
Chúng ta có thể nhận thấy rằng chi phí chạy chất lượng dữ liệu cho bộ quy tắc lớn nhất trong điểm chuẩn (400 quy tắc) vẫn cao hơn 0.50 USD một chút.
Phân tích chi phí chất lượng dữ liệu trong AWS Cost Explorer
Để xem thẻ công việc ETL chất lượng dữ liệu trong AWS Cost Explorer, bạn cần phải kích hoạt thẻ phân bổ chi phí do người dùng xác định đầu tiên.
Sau khi bạn tạo và áp dụng thẻ do người dùng xác định cho tài nguyên của mình, có thể mất tối đa 24 giờ để khóa thẻ xuất hiện trên trang thẻ phân bổ chi phí để kích hoạt. Sau đó, có thể mất tới 24 giờ để khóa thẻ kích hoạt.
- Trên AWS Trình khám phá chi phí bảng điều khiển, chọn Báo cáo đã lưu của Cost Explorer trong khung điều hướng.
- Chọn Tạo báo cáo mới.
- Chọn Chi phí và cách sử dụng làm loại báo cáo.
- Chọn Tạo báo cáo.
- Trong Phạm vi Ngày, nhập một phạm vi ngày.
- Trong Độ chi tiếtchọn Hàng ngày.
- Trong kích thước, chọn Nhãn, sau đó chọn
dqjob
tag. - Theo Bộ lọc được áp dụng, chọn
dqjob
thẻ và tám thẻ được sử dụng trong bộ quy tắc chất lượng dữ liệu (rs0, rs1, rs5, rs10, rs50, rs100, rs200 và rs400). - Chọn Đăng Nhập.
Báo cáo Chi phí và Mức sử dụng sẽ được cập nhật. Trục X hiển thị các thẻ bộ quy tắc chất lượng dữ liệu dưới dạng danh mục. Các Chi phí và cách sử dụng biểu đồ trong AWS Cost Explorer sẽ làm mới và hiển thị tổng chi phí hàng tháng của các công việc ETL chất lượng dữ liệu mới nhất được thực hiện, được tổng hợp theo công việc ETL.
Làm sạch
Để dọn dẹp cơ sở hạ tầng và tránh phải trả thêm phí, hãy hoàn thành các bước sau:
- Làm trống vùng lưu trữ S3 được tạo ban đầu để lưu trữ tập dữ liệu thử nghiệm.
- Xóa các công việc ETL bạn đã tạo trong AWS Glue.
- Xóa
AWSGlueDataQualityPerformanceRole
Vai trò IAM. - Xóa báo cáo tùy chỉnh được tạo trong AWS Cost Explorer.
Kết luận
Chất lượng dữ liệu AWS Glue cung cấp một cách hiệu quả để kết hợp xác thực chất lượng dữ liệu như một phần của quy trình ETL và tự động điều chỉnh quy mô để đáp ứng khối lượng dữ liệu ngày càng tăng. Các loại quy tắc chất lượng dữ liệu tích hợp sẵn cung cấp nhiều tùy chọn để tùy chỉnh việc kiểm tra chất lượng dữ liệu và tập trung vào cách dữ liệu của bạn trông như thế nào thay vì triển khai logic không phân biệt.
Trong phân tích điểm chuẩn này, chúng tôi đã chỉ ra các quy tắc Chất lượng dữ liệu AWS Glue có quy mô phổ biến có ít hoặc không có chi phí hoạt động, trong khi đó trong các trường hợp phức tạp, chi phí sẽ tăng tuyến tính. Chúng tôi cũng đã xem xét cách bạn có thể gắn thẻ các công việc Chất lượng dữ liệu AWS Glue để cung cấp thông tin chi phí trong AWS Cost Explorer nhằm báo cáo nhanh.
Chất lượng dữ liệu keo AWS là Có sẵn ở tất cả các Khu vực AWS có sẵn AWS Glue. Tìm hiểu thêm về Chất lượng dữ liệu AWS Glue và Danh mục dữ liệu AWS Glue trong Bắt đầu với Chất lượng dữ liệu AWS Glue từ Danh mục dữ liệu AWS Glue.
Về các tác giả
Reuben Afonso là Kiến trúc sư giải pháp dịch vụ tài chính toàn cầu của AWS. Anh ấy thích làm việc về các thách thức phân tích và AI/ML, với niềm đam mê tự động hóa và tối ưu hóa. Khi không làm việc, anh ấy thích tìm những địa điểm khuất trên con đường vắng người quanh Barcelona.
Kalyan Kumar Neelampudi (KK) là Kiến trúc sư giải pháp đối tác chuyên nghiệp (Phân tích dữ liệu & AI sáng tạo) tại AWS. Anh đóng vai trò cố vấn kỹ thuật và cộng tác với nhiều đối tác AWS khác nhau để thiết kế, triển khai và xây dựng các biện pháp thực hành liên quan đến phân tích dữ liệu và khối lượng công việc AI/ML. Ngoài công việc, anh ấy là một người đam mê cầu lông và thích phiêu lưu ẩm thực, khám phá ẩm thực địa phương và đi du lịch cùng người yêu để khám phá những hương vị và trải nghiệm mới.
Gonzalo Herreros là một Kiến trúc sư Dữ liệu lớn Cấp cao trong nhóm AWS Glue.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- PlatoData.Network Vertical Generative Ai. Trao quyền cho chính mình. Truy cập Tại đây.
- PlatoAiStream. Thông minh Web3. Kiến thức khuếch đại. Truy cập Tại đây.
- Trung tâmESG. Than đá, công nghệ sạch, Năng lượng, Môi trường Hệ mặt trời, Quản lý chất thải. Truy cập Tại đây.
- PlatoSức khỏe. Tình báo thử nghiệm lâm sàng và công nghệ sinh học. Truy cập Tại đây.
- nguồn: https://aws.amazon.com/blogs/big-data/measure-performance-of-aws-glue-data-quality-for-etl-pipelines/