Bài đăng này được đồng viết với Preshen Goobiah và Johan Olivier từ Capitec.
Apache Spark là một hệ thống xử lý phân tán nguồn mở được sử dụng rộng rãi nổi tiếng để xử lý khối lượng công việc dữ liệu quy mô lớn. Nó tìm thấy ứng dụng thường xuyên trong số các nhà phát triển Spark làm việc với Amazon EMR, Amazon SageMaker, Keo AWS và các ứng dụng Spark tùy chỉnh.
Amazon RedShift cung cấp khả năng tích hợp liền mạch với Apache Spark, cho phép bạn dễ dàng truy cập dữ liệu Redshift của mình trên cả cụm được cung cấp Amazon Redshift và Amazon Redshift không có máy chủ. Sự tích hợp này mở rộng khả năng cho các giải pháp phân tích và học máy (ML) của AWS, giúp kho dữ liệu có thể truy cập được với nhiều ứng dụng hơn.
Với Tích hợp Amazon Redshift cho Apache Spark, bạn có thể nhanh chóng bắt đầu và dễ dàng phát triển các ứng dụng Spark bằng các ngôn ngữ phổ biến như Java, Scala, Python, SQL và R. Các ứng dụng của bạn có thể đọc và ghi liền mạch vào kho dữ liệu Amazon Redshift trong khi vẫn duy trì hiệu suất tối ưu và tính nhất quán trong giao dịch. Ngoài ra, bạn sẽ được hưởng lợi từ các cải tiến hiệu suất thông qua tối ưu hóa đẩy xuống, nâng cao hơn nữa hiệu quả hoạt động của bạn.
Capitec, ngân hàng bán lẻ lớn nhất Nam Phi với hơn 21 triệu khách hàng ngân hàng bán lẻ, nhằm mục đích cung cấp các dịch vụ tài chính đơn giản, giá cả phải chăng và dễ tiếp cận nhằm giúp người dân Nam Phi sử dụng ngân hàng tốt hơn để họ có thể sống tốt hơn. Trong bài đăng này, chúng tôi thảo luận về việc tích hợp thành công trình kết nối Amazon Redshift nguồn mở bởi nhóm Nền tảng tính năng dịch vụ chia sẻ của Capitec. Nhờ sử dụng tính năng tích hợp Amazon Redshift cho Apache Spark, năng suất của nhà phát triển đã tăng lên gấp 10 lần, quy trình tạo tính năng được sắp xếp hợp lý và tình trạng trùng lặp dữ liệu giảm xuống mức XNUMX.
Cơ hội kinh doanh
Có 19 mô hình dự đoán trong phạm vi sử dụng 93 tính năng được xây dựng bằng AWS Glue trên các bộ phận Tín dụng Bán lẻ của Capitec. Bản ghi tính năng được bổ sung thêm dữ kiện và kích thước được lưu trữ trong Amazon Redshift. Apache PySpark được chọn để tạo ra các tính năng vì nó cung cấp cơ chế nhanh chóng, phi tập trung và có thể mở rộng để sắp xếp dữ liệu từ nhiều nguồn khác nhau.
Các tính năng sản xuất này đóng một vai trò quan trọng trong việc hỗ trợ các ứng dụng cho vay có thời hạn cố định theo thời gian thực, ứng dụng thẻ tín dụng, giám sát hành vi tín dụng hàng tháng và xác định mức lương hàng ngày trong doanh nghiệp.
Vấn đề tìm nguồn dữ liệu
Để đảm bảo độ tin cậy của đường dẫn dữ liệu PySpark, điều cần thiết là phải có dữ liệu cấp bản ghi nhất quán từ cả bảng thứ nguyên và bảng thực tế được lưu trữ trong Kho dữ liệu doanh nghiệp (EDW). Sau đó, các bảng này được nối với các bảng từ Hồ dữ liệu doanh nghiệp (EDL) trong thời gian chạy.
Trong quá trình phát triển tính năng, các kỹ sư dữ liệu yêu cầu giao diện liền mạch với EDW. Giao diện này cho phép họ truy cập và tích hợp dữ liệu cần thiết từ EDW vào đường dẫn dữ liệu, cho phép phát triển và thử nghiệm các tính năng một cách hiệu quả.
Quy trình giải quyết trước đó
Trong giải pháp trước đó, các kỹ sư dữ liệu của nhóm sản phẩm đã dành 30 phút mỗi lần chạy để hiển thị dữ liệu Redshift cho Spark theo cách thủ công. Các bước bao gồm:
- Xây dựng một truy vấn xác định bằng Python.
- Gửi một BỎ TẢI truy vấn thông qua API dữ liệu Redshift của Amazon.
- Dữ liệu danh mục trong Danh mục dữ liệu AWS Glue thông qua AWS SDK dành cho Pandas bằng cách sử dụng phương pháp lấy mẫu.
Cách tiếp cận này đặt ra các vấn đề đối với các tập dữ liệu lớn, yêu cầu nhóm nền tảng phải bảo trì định kỳ và rất phức tạp để tự động hóa.
Tổng quan về giải pháp hiện tại
Capitec đã có thể giải quyết những vấn đề này nhờ tích hợp Amazon Redshift cho Apache Spark trong quy trình tạo tính năng. Kiến trúc được xác định trong sơ đồ sau.
Quy trình làm việc bao gồm các bước sau:
- Các thư viện nội bộ được cài đặt vào công việc AWS Glue PySpark thông qua Mã AWSArtifact.
- Tác vụ AWS Glue truy xuất thông tin xác thực cụm Redshift từ Quản lý bí mật AWS và thiết lập kết nối Amazon Redshift (chèn thông tin xác thực cụm, vị trí dỡ tải, định dạng tệp) thông qua thư viện nội bộ được chia sẻ. Tích hợp Amazon Redshift cho Apache Spark cũng hỗ trợ sử dụng Quản lý truy cập và nhận dạng AWS (IAM) đến truy xuất thông tin xác thực và kết nối với Amazon Redshift.
- Truy vấn Spark được dịch sang truy vấn được tối ưu hóa Amazon Redshift và gửi tới EDW. Điều này được thực hiện nhờ tích hợp Amazon Redshift cho Apache Spark.
- Tập dữ liệu EDW được tải xuống tiền tố tạm thời trong Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) xô.
- Tập dữ liệu EDW từ nhóm S3 được tải vào trình thực thi Spark thông qua tích hợp Amazon Redshift cho Apache Spark.
- Tập dữ liệu EDL được tải vào trình thực thi Spark thông qua Danh mục dữ liệu AWS Glue.
Các thành phần này phối hợp với nhau để đảm bảo rằng các kỹ sư dữ liệu và quy trình dữ liệu sản xuất có các công cụ cần thiết để triển khai tích hợp Amazon Redshift cho Apache Spark, chạy truy vấn và tạo điều kiện thuận lợi cho việc dỡ dữ liệu từ Amazon Redshift sang EDL.
Sử dụng tích hợp Amazon Redshift cho Apache Spark trong AWS Glue 4.0
Trong phần này, chúng tôi trình diễn tiện ích của việc tích hợp Amazon Redshift cho Apache Spark bằng cách làm phong phú thêm bảng ứng dụng cho vay nằm trong hồ dữ liệu S3 với thông tin khách hàng từ kho dữ liệu Redshift trong PySpark.
Sản phẩm dimclient
bảng trong Amazon Redshift chứa các cột sau:
- Khóa khách hàng – INT8
- Khách hàngAltKey – VARCHAR50
- Số định danh bên – VARCHAR20
- Khách hàngTạoNgày - NGÀY
- Bị hủy – INT2
- HàngLàHiện Tại – INT2
Sản phẩm loanapplication
bảng trong Danh mục dữ liệu AWS Glue chứa các cột sau:
- ID bản ghi – LỚN
- Ngày đăng nhập – DẤU THỜI GIAN
- Số định danh bên - SỢI DÂY
Bảng Redshift được đọc thông qua tích hợp Amazon Redshift cho Apache Spark và được lưu vào bộ nhớ đệm. Xem đoạn mã sau:
Hồ sơ đăng ký khoản vay được đọc từ hồ dữ liệu S3 và được bổ sung thêm dimclient
bảng trên thông tin Amazon Redshift:
Do đó, bản ghi đơn xin vay (từ hồ dữ liệu S3) được làm giàu bằng ClientCreateDate
cột (từ Amazon Redshift).
Cách tích hợp Amazon Redshift cho Apache Spark giải quyết vấn đề tìm nguồn cung ứng dữ liệu
Việc tích hợp Amazon Redshift cho Apache Spark giải quyết hiệu quả vấn đề tìm nguồn cung ứng dữ liệu thông qua các cơ chế sau:
- Đọc đúng lúc – Tích hợp Amazon Redshift cho trình kết nối Apache Spark đọc các bảng Redshift một cách kịp thời, đảm bảo tính nhất quán của dữ liệu và lược đồ. Điều này đặc biệt có giá trị đối với Loại 2 kích thước thay đổi chậm (SCD) và khoảng thời gian tích lũy dữ kiện chụp nhanh. Bằng cách kết hợp các bảng Redshift này với các bảng Danh mục dữ liệu AWS Glue của hệ thống nguồn từ EDL trong quy trình PySpark sản xuất, trình kết nối cho phép tích hợp liền mạch dữ liệu từ nhiều nguồn trong khi vẫn duy trì tính toàn vẹn của dữ liệu.
- Truy vấn Redshift được tối ưu hóa – Việc tích hợp Amazon Redshift cho Apache Spark đóng một vai trò quan trọng trong việc chuyển đổi kế hoạch truy vấn Spark thành truy vấn Redshift được tối ưu hóa. Quá trình chuyển đổi này đơn giản hóa trải nghiệm phát triển cho nhóm sản phẩm bằng cách tuân thủ nguyên tắc địa phương dữ liệu. Các truy vấn được tối ưu hóa sử dụng các khả năng và tối ưu hóa hiệu suất của Amazon Redshift, đảm bảo truy xuất và xử lý dữ liệu hiệu quả từ Amazon Redshift cho quy trình PySpark. Điều này giúp hợp lý hóa quá trình phát triển đồng thời nâng cao hiệu suất tổng thể của các hoạt động tìm nguồn cung ứng dữ liệu.
Đạt được hiệu suất tốt nhất
Tích hợp Amazon Redshift cho Apache Spark tự động áp dụng tính năng đẩy xuống vị từ và truy vấn để tối ưu hóa hiệu suất. Bạn có thể đạt được những cải tiến về hiệu suất bằng cách sử dụng định dạng Parquet mặc định được dùng để dỡ tải với sự tích hợp này.
Để biết thêm chi tiết và mẫu mã, hãy tham khảo Mới – Tích hợp Amazon Redshift với Apache Spark.
Giải pháp Lợi ích
Việc áp dụng tích hợp đã mang lại một số lợi ích đáng kể cho nhóm:
- Nâng cao năng suất của nhà phát triển – Giao diện PySpark được cung cấp bởi sự tích hợp đã tăng năng suất của nhà phát triển lên gấp 10 lần, cho phép tương tác mượt mà hơn với Amazon Redshift.
- Loại bỏ sự trùng lặp dữ liệu – Loại bỏ các bảng Redshift được lập danh mục trùng lặp và AWS Glue trong hồ dữ liệu, mang lại một môi trường dữ liệu hợp lý hơn.
- Giảm tải EDW – Việc tích hợp tạo điều kiện thuận lợi cho việc dỡ bỏ dữ liệu có chọn lọc, giảm thiểu tải cho EDW bằng cách chỉ trích xuất những dữ liệu cần thiết.
Bằng cách sử dụng tích hợp Amazon Redshift cho Apache Spark, Capitec đã mở đường cho việc cải thiện khả năng xử lý dữ liệu, tăng năng suất và hệ sinh thái kỹ thuật tính năng hiệu quả hơn.
Kết luận
Trong bài đăng này, chúng tôi đã thảo luận về cách nhóm Capitec triển khai thành công tích hợp Apache Spark Amazon Redshift cho Apache Spark để đơn giản hóa quy trình tính toán tính năng của họ. Họ nhấn mạnh tầm quan trọng của việc sử dụng các đường ống dữ liệu PySpark mô-đun và phi tập trung để tạo ra các tính năng mô hình dự đoán.
Hiện tại, việc tích hợp Amazon Redshift cho Apache Spark được 7 đường dẫn dữ liệu sản xuất và 20 đường dẫn phát triển sử dụng, cho thấy tính hiệu quả của nó trong môi trường của Capitec.
Trong tương lai, nhóm Nền tảng tính năng dịch vụ chia sẻ tại Capitec có kế hoạch mở rộng việc áp dụng tích hợp Amazon Redshift cho Apache Spark trong các lĩnh vực kinh doanh khác nhau, nhằm nâng cao hơn nữa khả năng xử lý dữ liệu và thúc đẩy các phương pháp kỹ thuật tính năng hiệu quả.
Để biết thêm thông tin về cách sử dụng tích hợp Amazon Redshift cho Apache Spark, hãy tham khảo các tài nguyên sau:
Về các tác giả
Preshen Goobiah là Kỹ sư trưởng về Machine Learning cho Nền tảng tính năng tại Capitec. Anh tập trung vào việc thiết kế và xây dựng các thành phần của Feature Store để doanh nghiệp sử dụng. Trong thời gian rảnh rỗi, anh thích đọc sách và đi du lịch.
Johan Olivier là Kỹ sư máy học cấp cao cho Nền tảng mô hình của Capitec. Ông là một doanh nhân và người đam mê giải quyết vấn đề. Anh ấy thích âm nhạc và giao lưu trong thời gian rảnh rỗi.
Sudipta Bagchi là Kiến trúc sư giải pháp chuyên môn cao cấp tại Amazon Web Services. Ông có hơn 12 năm kinh nghiệm về dữ liệu và phân tích, đồng thời giúp khách hàng thiết kế và xây dựng các giải pháp phân tích có hiệu suất cao và có thể mở rộng. Ngoài công việc, anh ấy thích chạy bộ, du lịch và chơi cricket. Kết nối với anh ấy trên LinkedIn.
Syed Humair là Kiến trúc sư giải pháp chuyên gia phân tích cấp cao tại Amazon Web Services (AWS). Ông có hơn 17 năm kinh nghiệm trong lĩnh vực kiến trúc doanh nghiệp, tập trung vào Dữ liệu và AI/ML, giúp khách hàng AWS trên toàn cầu giải quyết các yêu cầu kinh doanh và kỹ thuật của họ. Bạn có thể kết nối với anh ấy trên LinkedIn.
Vuyisa Maswana là Kiến trúc sư giải pháp cấp cao tại AWS, có trụ sở tại Cape Town. Vuyisa tập trung mạnh vào việc giúp khách hàng xây dựng các giải pháp kỹ thuật để giải quyết các vấn đề kinh doanh. Anh ấy đã hỗ trợ Capitec trong hành trình AWS của họ kể từ năm 2019.
- 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/simplifying-data-processing-at-capitec-with-amazon-redshift-integration-for-apache-spark/
- : có
- :là
- $ LÊN
- 06
- 1
- 10
- 100
- 12
- 16
- 17
- 19
- 20
- 2019
- 30
- 7
- a
- Có khả năng
- truy cập
- có thể truy cập
- thực hiện
- ngang qua
- thêm vào
- thông tin bổ sung
- Ngoài ra
- địa chỉ
- địa chỉ
- tôn trọng
- Nhận con nuôi
- giá cả phải chăng
- AI / ML
- Định hướng
- Mục tiêu
- Cho phép
- cho phép
- Ngoài ra
- đàn bà gan dạ
- Amazon Web Services
- Amazon Web Services (AWS)
- trong số
- an
- phân tích
- và
- Apache
- Apache Spark
- Các Ứng Dụng
- các ứng dụng
- áp dụng
- phương pháp tiếp cận
- kiến trúc
- LÀ
- khu vực
- AS
- At
- tự động hóa
- tự động
- AWS
- Keo AWS
- Ngân hàng
- Ngân hàng
- dựa
- bởi vì
- hành vi
- hưởng lợi
- Lợi ích
- BEST
- Hơn
- giữa
- lớn nhất
- Thúc đẩy mạnh mẽ
- cả hai
- rộng hơn
- xây dựng
- Xây dựng
- xây dựng
- kinh doanh
- by
- CAN
- khả năng
- choàng
- thẻ
- Danh mục hàng
- thay đổi
- khách hàng
- khách hàng
- cụm
- CO
- mã
- Cột
- Cột
- kết hợp
- phức tạp
- các thành phần
- tính toán
- Kết nối
- liên quan
- thích hợp
- chứa
- bối cảnh
- Chuyển đổi
- chuyển đổi
- tạo
- Tạo
- Credentials
- tín dụng
- thẻ tín dụng
- dế
- quan trọng
- khách hàng
- khách hàng
- tiền thưởng
- dữ liệu
- Hồ dữ liệu
- xử lý dữ liệu
- kho dữ liệu
- bộ dữ liệu
- Phân quyền
- Mặc định
- xác định
- chứng minh
- Thiết kế
- thiết kế
- chi tiết
- phát triển
- Nhà phát triển
- phát triển
- Phát triển
- khác nhau
- kích thước
- kích thước
- thảo luận
- thảo luận
- phân phối
- khác nhau
- dễ dàng
- hệ sinh thái
- hiệu quả
- hiệu quả
- hiệu quả
- hiệu quả
- dễ dàng
- loại bỏ
- nhấn mạnh
- cho phép
- cho phép
- ky sư
- Kỹ Sư
- Kỹ sư
- nâng cao
- tăng cường
- Làm giàu
- làm giàu
- đảm bảo
- đảm bảo
- Doanh nghiệp
- người đam mê
- Doanh nhân
- Môi trường
- thiết yếu
- Ether (ETH)
- hiện tại
- Mở rộng
- mở rộng
- kinh nghiệm
- tạo điều kiện
- tạo điều kiện
- thực tế
- yếu tố
- sự kiện
- NHANH
- Đặc tính
- Tính năng
- Tập tin
- tài chính
- dịch vụ tài chính
- tìm thấy
- Tập trung
- tập trung
- tập trung
- tiếp theo
- Trong
- định dạng
- Forward
- thường xuyên
- từ
- chức năng
- xa hơn
- Thu được
- thế hệ
- được
- GitHub
- Toàn cầu
- Xử lý
- Có
- he
- giúp đỡ
- giúp đỡ
- giúp
- anh ta
- của mình
- Độ đáng tin của
- HTML
- http
- HTTPS
- IAM
- Xác định
- Bản sắc
- thực hiện
- thực hiện
- nhập khẩu
- tầm quan trọng
- cải thiện
- cải tiến
- in
- bao gồm
- bao gồm
- tăng
- thông tin
- tích hợp
- hội nhập
- tính toàn vẹn
- tương tác
- Giao thức
- nội bộ
- trong
- các vấn đề
- IT
- ITS
- Java
- Việc làm
- tham gia
- gia nhập
- cuộc hành trình
- hồ
- Ngôn ngữ
- lớn
- quy mô lớn
- dẫn
- học tập
- trái
- thư viện
- Thư viện
- Lượt thích
- sống
- tải
- cho vay
- . Các địa điểm
- yêu
- máy
- học máy
- duy trì
- bảo trì
- Làm
- cách thức
- thủ công
- cơ chế
- cơ chế
- triệu
- giảm thiểu
- phút
- ML
- kiểu mẫu
- mô hình
- mô-đun
- giám sát
- hàng tháng
- chi tiết
- hiệu quả hơn
- nhiều
- Âm nhạc
- cần thiết
- of
- Cung cấp
- Ôliu
- on
- có thể
- mở
- mã nguồn mở
- Hoạt động
- tối ưu
- Tối ưu hóa
- tối ưu hóa
- gọi món
- bên ngoài
- kết thúc
- tổng thể
- gấu trúc
- đặc biệt
- Mật khẩu
- mỗi
- hiệu suất
- kế hoạch
- kế hoạch
- nền tảng
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- Play
- chơi
- đóng
- Phổ biến
- đặt ra
- khả năng
- Bài đăng
- thực hành
- dự đoán
- trước
- nguyên tắc
- Vấn đề
- giải quyết vấn đề
- vấn đề
- quá trình
- xử lý
- Sản phẩm
- Sản lượng
- năng suất
- thúc đẩy
- cho
- cung cấp
- Python
- truy vấn
- Mau
- R
- phạm vi
- Đọc
- Reading
- thời gian thực
- ghi
- hồ sơ
- định kỳ
- Giảm
- xem
- độ tin cậy
- Trứ danh
- yêu cầu
- cần phải
- Yêu cầu
- giải quyết
- Thông tin
- kết quả
- kết quả
- bán lẻ
- Ngân hàng bán lẻ
- Vai trò
- chạy
- chạy
- tiền lương
- SC
- Scala
- khả năng mở rộng
- phạm vi
- sdk
- liền mạch
- liền mạch
- bí mật
- Phần
- xem
- chọn
- lựa chọn
- chọn lọc
- cao cấp
- DỊCH VỤ
- bộ
- một số
- chia sẻ
- giới th
- có ý nghĩa
- Đơn giản
- đơn giản hóa
- đơn giản hóa
- kể từ khi
- chậm rãi
- mượt mà hơn
- Ảnh chụp
- So
- giao lưu
- giải pháp
- Giải pháp
- động SOLVE
- Giải quyết
- nguồn
- nguồn
- Tìm nguồn cung ứng
- miền Nam
- Spark
- chuyên gia
- tiêu
- SQL
- bắt đầu
- Các bước
- là gắn
- lưu trữ
- hợp lý hóa
- sắp xếp hợp lý
- Chuỗi
- mạnh mẽ
- trình
- thành công
- Thành công
- Hỗ trợ
- Hỗ trợ
- hệ thống
- bàn
- nhóm
- Kỹ thuật
- tạm thời
- Kiểm tra
- việc này
- Sản phẩm
- Nguồn
- cung cấp their dịch
- Them
- sau đó
- Kia là
- họ
- điều này
- Thông qua
- thời gian
- đến
- bên nhau
- công cụ
- thị trấn
- giao dịch
- Đi du lịch
- URL
- sử dụng
- đã sử dụng
- sử dụng
- tiện ích
- tận dụng
- Bằng cách sử dụng
- Quý báu
- thông qua
- Kho
- là
- Đường..
- we
- web
- các dịch vụ web
- là
- trong khi
- với
- ở trong
- Công việc
- làm việc cùng nhau
- quy trình làm việc
- Luồng công việc
- đang làm việc
- viết
- năm
- mang lại
- bạn
- trên màn hình
- zephyrnet
- không