Lưu trữ giao diện người dùng Spark trên Amazon SageMaker Studio | Dịch vụ web của Amazon

Lưu trữ giao diện người dùng Spark trên Amazon SageMaker Studio | Dịch vụ web của Amazon

Amazon SageMaker cung cấp một số cách để chạy các công việc xử lý dữ liệu phân tán với Apache Spark, một khung điện toán phân tán phổ biến để xử lý dữ liệu lớn.

Bạn có thể chạy các ứng dụng Spark một cách tương tác từ Xưởng sản xuất Amazon SageMaker bằng cách kết nối Sổ ghi chép SageMaker Studio và Phiên tương tác AWS Glue để chạy các công việc Spark với cụm không có máy chủ. Với các phiên tương tác, bạn có thể chọn Apache Spark hoặc Ray để dễ dàng xử lý các tập dữ liệu lớn mà không phải lo lắng về việc quản lý cụm.

Ngoài ra, nếu bạn cần kiểm soát nhiều hơn đối với môi trường, bạn có thể sử dụng bộ chứa SageMaker Spark dựng sẵn để chạy các ứng dụng Spark dưới dạng công việc hàng loạt trên một cụm phân tán được quản lý hoàn toàn với Chế biến Amazon SageMaker. Tùy chọn này cho phép bạn chọn một số loại phiên bản (tối ưu hóa điện toán, tối ưu hóa bộ nhớ, v.v.), số lượng nút trong cụm và cấu hình cụm, từ đó cho phép xử lý dữ liệu và đào tạo mô hình linh hoạt hơn.

Cuối cùng, bạn có thể chạy các ứng dụng Spark bằng cách kết nối sổ ghi chép Studio với Amazon EMR cụmhoặc bằng cách chạy cụm Spark của bạn trên Đám mây điện toán đàn hồi Amazon (Amazon EC2).

Tất cả các tùy chọn này cho phép bạn tạo và lưu trữ nhật ký sự kiện Spark để phân tích chúng thông qua giao diện người dùng dựa trên web thường được đặt tên là Giao diện người dùng tia lửa, chạy Máy chủ lịch sử Spark để theo dõi tiến trình của các ứng dụng Spark, theo dõi việc sử dụng tài nguyên và gỡ lỗi.

Trong bài đăng này, chúng tôi chia sẻ một giải pháp để cài đặt và chạy Máy chủ lịch sử Spark trên SageMaker Studio và truy cập giao diện người dùng Spark trực tiếp từ SageMaker Studio IDE, để phân tích nhật ký Spark do các dịch vụ AWS khác nhau tạo ra (Phiên tương tác AWS Glue, Công việc xử lý SageMaker và Amazon EMR) và được lưu trữ trong một Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) xô.

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

Giải pháp tích hợp Spark History Server vào ứng dụng Jupyter Server trong SageMaker Studio. Điều này cho phép người dùng truy cập nhật ký Spark trực tiếp từ SageMaker Studio IDE. Máy chủ Lịch sử Spark tích hợp hỗ trợ như sau:

  • Truy cập nhật ký được tạo bởi SageMaker Đang xử lý công việc Spark
  • Truy cập nhật ký do ứng dụng AWS Glue Spark tạo ra
  • Truy cập nhật ký do các cụm Spark tự quản lý và Amazon EMR tạo ra

Giao diện dòng lệnh tiện ích (CLI) được gọi là sm-spark-cli cũng được cung cấp để tương tác với Spark UI từ thiết bị đầu cuối hệ thống SageMaker Studio. Các sm-spark-cli cho phép quản lý Máy chủ lịch sử Spark mà không cần rời khỏi SageMaker Studio.

Lưu trữ giao diện người dùng Spark trên Amazon SageMaker Studio | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Giải pháp bao gồm các tập lệnh shell thực hiện các hành động sau:

  • Cài đặt Spark trên Máy chủ Jupyter cho hồ sơ người dùng SageMaker Studio hoặc cho không gian dùng chung của SageMaker Studio
  • cài đặt sm-spark-cli cho một hồ sơ người dùng hoặc không gian chia sẻ

Cài đặt giao diện người dùng Spark theo cách thủ công trong miền SageMaker Studio

Để lưu trữ Spark UI trên SageMaker Studio, hãy hoàn thành các bước sau:

  1. Chọn Thiết bị đầu cuối hệ thống từ trình khởi chạy SageMaker Studio.

Lưu trữ giao diện người dùng Spark trên Amazon SageMaker Studio | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

  1. Chạy các lệnh sau trong thiết bị đầu cuối hệ thống:
curl -LO https://github.com/aws-samples/amazon-sagemaker-spark-ui/releases/download/v0.1.0/amazon-sagemaker-spark-ui-0.1.0.tar.gz
tar -xvzf amazon-sagemaker-spark-ui-0.1.0.tar.gz cd amazon-sagemaker-spark-ui-0.1.0/install-scripts
chmod +x install-history-server.sh
./install-history-server.sh

Các lệnh sẽ mất vài giây để hoàn thành.

  1. Khi quá trình cài đặt hoàn tất, bạn có thể khởi động Spark UI bằng cách sử dụng được cung cấp sm-spark-cli và truy cập nó từ trình duyệt web bằng cách chạy đoạn mã sau:

sm-spark-cli start s3://DOC-EXAMPLE-BUCKET/<SPARK_EVENT_LOGS_LOCATION>

Vị trí S3 nơi lưu trữ nhật ký sự kiện do SageMaker Xử lý, AWS Glue hoặc Amazon EMR tạo ra có thể được định cấu hình khi chạy các ứng dụng Spark.

Đối với sổ ghi chép SageMaker Studio và Phiên tương tác AWS Glue, bạn có thể thiết lập vị trí nhật ký sự kiện Spark trực tiếp từ sổ ghi chép bằng cách sử dụng sparkmagic nhân.

Sản phẩm sparkmagic kernel chứa một bộ công cụ để tương tác với các cụm Spark từ xa thông qua sổ ghi chép. Nó cung cấp phép thuật (%spark, %sql) để chạy mã Spark, thực hiện truy vấn SQL và định cấu hình cài đặt Spark như bộ nhớ thực thi và lõi.

Lưu trữ giao diện người dùng Spark trên Amazon SageMaker Studio | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Đối với công việc Xử lý SageMaker, bạn có thể định cấu hình vị trí nhật ký sự kiện Spark trực tiếp từ SDK Python của SageMaker.

Lưu trữ giao diện người dùng Spark trên Amazon SageMaker Studio | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Tham khảo tài liệu AWS để biết thêm thông tin:

Lưu trữ giao diện người dùng Spark trên Amazon SageMaker Studio | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Bạn có thể chọn URL được tạo để truy cập Spark UI.

Lưu trữ giao diện người dùng Spark trên Amazon SageMaker Studio | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Ảnh chụp màn hình sau đây cho thấy một ví dụ về giao diện người dùng Spark.

Lưu trữ giao diện người dùng Spark trên Amazon SageMaker Studio | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Bạn có thể kiểm tra trạng thái của Máy chủ lịch sử Spark bằng cách sử dụng sm-spark-cli status lệnh trong thiết bị đầu cuối Hệ thống Studio.

Lưu trữ giao diện người dùng Spark trên Amazon SageMaker Studio | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Bạn cũng có thể dừng Máy chủ lịch sử Spark khi cần.

Lưu trữ giao diện người dùng Spark trên Amazon SageMaker Studio | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Tự động cài đặt Spark UI cho người dùng trong miền SageMaker Studio

Là quản trị viên CNTT, bạn có thể tự động cài đặt cho người dùng SageMaker Studio bằng cách sử dụng cấu hình vòng đời. Điều này có thể được thực hiện cho tất cả hồ sơ người dùng trong miền SageMaker Studio hoặc cho những hồ sơ cụ thể. Nhìn thấy Tùy chỉnh Amazon SageMaker Studio bằng cách sử dụng Cấu hình vòng đời để biết thêm chi tiết.

Bạn có thể tạo cấu hình vòng đời từ cài đặt-history-server.sh tập lệnh và đính kèm nó vào miền SageMaker Studio hiện có. Quá trình cài đặt được chạy cho tất cả các hồ sơ người dùng trong miền.

Từ một thiết bị đầu cuối được cấu hình với Giao diện dòng lệnh AWS (AWS CLI) và các quyền thích hợp, hãy chạy các lệnh sau:

curl -LO https://github.com/aws-samples/amazon-sagemaker-spark-ui/releases/download/v0.1.0/amazon-sagemaker-spark-ui-0.1.0.tar.gz
tar -xvzf amazon-sagemaker-spark-ui-0.1.0.tar.gz cd amazon-sagemaker-spark-ui-0.1.0/install-scripts LCC_CONTENT=`openssl base64 -A -in install-history-server.sh` aws sagemaker create-studio-lifecycle-config --studio-lifecycle-config-name install-spark-ui-on-jupyterserver --studio-lifecycle-config-content $LCC_CONTENT --studio-lifecycle-config-app-type JupyterServer --query 'StudioLifecycleConfigArn' aws sagemaker update-domain --region {YOUR_AWS_REGION} --domain-id {YOUR_STUDIO_DOMAIN_ID} --default-user-settings '{ "JupyterServerAppSettings": { "DefaultResourceSpec": { "LifecycleConfigArn": "arn:aws:sagemaker:{YOUR_AWS_REGION}:{YOUR_STUDIO_DOMAIN_ID}:studio-lifecycle-config/install-spark-ui-on-jupyterserver", "InstanceType": "system" }, "LifecycleConfigArns": [ "arn:aws:sagemaker:{YOUR_AWS_REGION}:{YOUR_STUDIO_DOMAIN_ID}:studio-lifecycle-config/install-spark-ui-on-jupyterserver" ] }}'

Sau khi Máy chủ Jupyter khởi động lại, Giao diện người dùng Spark và sm-spark-cli sẽ có sẵn trong môi trường SageMaker Studio của bạn.

Làm sạch

Trong phần này, chúng tôi chỉ cho bạn cách dọn sạch Giao diện người dùng Spark trong miền SageMaker Studio, theo cách thủ công hoặc tự động.

Gỡ cài đặt Spark UI theo cách thủ công

Để gỡ cài đặt Spark UI theo cách thủ công trong SageMaker Studio, hãy hoàn tất các bước sau:

  1. Chọn Thiết bị đầu cuối hệ thống trong trình khởi chạy SageMaker Studio.

Lưu trữ giao diện người dùng Spark trên Amazon SageMaker Studio | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

  1. Chạy các lệnh sau trong thiết bị đầu cuối hệ thống:
cd amazon-sagemaker-spark-ui-0.1.0/install-scripts chmod +x uninstall-history-server.sh
./uninstall-history-server.sh

Tự động gỡ cài đặt Spark UI cho tất cả hồ sơ người dùng SageMaker Studio

Để tự động gỡ cài đặt Spark UI trong SageMaker Studio cho tất cả hồ sơ người dùng, hãy hoàn tất các bước sau:

  1. Trên bảng điều khiển SageMaker, chọn Tên miền trong ngăn điều hướng, sau đó chọn miền SageMaker Studio.

Lưu trữ giao diện người dùng Spark trên Amazon SageMaker Studio | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

  1. Trên trang chi tiết tên miền, điều hướng đến Môi trường tab.
  2. Chọn cấu hình vòng đời cho Spark UI trên SageMaker Studio.
  3. Chọn Để riêng ra.

Lưu trữ giao diện người dùng Spark trên Amazon SageMaker Studio | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

  1. Xóa và khởi động lại các ứng dụng Máy chủ Jupyter cho hồ sơ người dùng SageMaker Studio.

Lưu trữ giao diện người dùng Spark trên Amazon SageMaker Studio | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Kết luận

Trong bài đăng này, chúng tôi đã chia sẻ một giải pháp mà bạn có thể sử dụng để cài đặt nhanh giao diện người dùng Spark trên SageMaker Studio. Với giao diện người dùng Spark được lưu trữ trên SageMaker, các nhóm kỹ thuật dữ liệu và máy học (ML) có thể sử dụng điện toán đám mây có thể mở rộng để truy cập và phân tích nhật ký Spark từ mọi nơi và tăng tốc độ phân phối dự án của họ. Quản trị viên CNTT có thể chuẩn hóa và xúc tiến việc cung cấp giải pháp trên đám mây, đồng thời tránh phổ biến môi trường phát triển tùy chỉnh cho các dự án ML.

Tất cả mã được hiển thị như một phần của bài đăng này đều có sẵn trong Kho GitHub.


Về các tác giả

Lưu trữ giao diện người dùng Spark trên Amazon SageMaker Studio | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.Giuseppe Angelo Porcelli là Kiến trúc sư giải pháp chuyên gia học máy chính cho Amazon Web Services. Với nhiều năm kỹ thuật phần mềm và nền tảng ML, anh ấy làm việc với các khách hàng thuộc mọi quy mô để hiểu nhu cầu kinh doanh và kỹ thuật của họ, đồng thời thiết kế các giải pháp AI và ML để tận dụng tốt nhất Đám mây AWS và ngăn xếp Amazon Machine Learning. Anh ấy đã làm việc trên các dự án thuộc nhiều lĩnh vực khác nhau, bao gồm MLOps, thị giác máy tính và NLP, liên quan đến nhiều loại dịch vụ AWS. Khi rảnh rỗi, Giuseppe thích chơi bóng đá.

Lưu trữ giao diện người dùng Spark trên Amazon SageMaker Studio | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.Bruno Pistone là Chuyên gia kiến ​​trúc giải pháp AI/ML cho AWS có trụ sở tại Milan. Anh ấy làm việc với khách hàng ở mọi quy mô, giúp họ hiểu nhu cầu kỹ thuật của mình và thiết kế các giải pháp AI và ML để tận dụng tốt nhất Đám mây AWS và ngăn xếp Amazon Machine Learning. Lĩnh vực chuyên môn của ông bao gồm máy học từ đầu đến cuối, công nghiệp hóa máy học và trí tuệ nhân tạo. Anh ấy thích dành thời gian với bạn bè và khám phá những địa điểm mới, cũng như đi du lịch đến những điểm đến mới.

Dấu thời gian:

Thêm từ Học máy AWS