Logo Zephyrnet

Sử dụng Amazon SageMaker Data Wrangler trong Amazon SageMaker Studio với cấu hình vòng đời mặc định

Ngày:

Nếu bạn sử dụng cấu hình vòng đời mặc định cho tên miền hoặc hồ sơ người dùng của mình trong Xưởng sản xuất Amazon SageMaker Và sử dụng Trình sắp xếp dữ liệu Amazon SageMaker để chuẩn bị dữ liệu, thì bài viết này là dành cho bạn. Trong bài đăng này, chúng tôi chỉ ra cách bạn có thể tạo luồng Data Wrangler và sử dụng nó để chuẩn bị dữ liệu trong môi trường Studio với cấu hình vòng đời mặc định.

Data Wrangler là một khả năng của Amazon SageMaker điều đó giúp các nhà khoa học dữ liệu và kỹ sư chuẩn bị dữ liệu cho các ứng dụng máy học (ML) nhanh hơn thông qua giao diện trực quan. Chuẩn bị dữ liệu là một bước quan trọng của vòng đời ML và Data Wrangler cung cấp giải pháp end-to-end để nhập, khám phá, chuyển đổi, tạo lông và xử lý dữ liệu cho ML trong trải nghiệm trực quan, ít mã. Nó cho phép bạn kết nối dễ dàng và nhanh chóng với các thành phần AWS như Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3), amazon Athena, Amazon RedShiftSự hình thành hồ AWSvà các nguồn bên ngoài như Snowflake và DataBricks DeltaLake. Data Wrangler hỗ trợ các kiểu dữ liệu tiêu chuẩn như CSV, JSON, ORC và Parquet.

Ứng dụng Studio là các ứng dụng tương tác cho phép giao diện trực quan, tạo mã và trải nghiệm chạy của Studio. Các loại ứng dụng có thể là Máy chủ Jupyter hoặc Cổng hạt nhân:

  • Máy chủ Jupyter - Cho phép truy cập vào giao diện trực quan cho Studio. Mỗi người dùng trong Studio đều có ứng dụng Máy chủ Jupyter của riêng họ.
  • Cổng hạt nhân - Cho phép truy cập vào môi trường chạy mã và hạt nhân cho sổ ghi chép và thiết bị đầu cuối Studio của bạn. Để biết thêm thông tin, hãy xem Cổng vào hạt nhân Jupyter.

Cấu hình vòng đời (LCC) là các tập lệnh shell để tự động hóa tùy chỉnh cho môi trường Studio của bạn, chẳng hạn như cài đặt phần mở rộng JupyterLab, tải trước bộ dữ liệu và thiết lập kho mã nguồn. Các tập lệnh LCC được kích hoạt bởi các sự kiện trong vòng đời của Studio, chẳng hạn như khởi động một sổ ghi chép Studio mới. Để đặt cấu hình vòng đời làm cấu hình mặc định cho miền hoặc hồ sơ người dùng của bạn theo chương trình, bạn có thể tạo tài nguyên mới hoặc cập nhật tài nguyên hiện có. Để liên kết cấu hình vòng đời làm mặc định, trước tiên bạn cần tạo cấu hình vòng đời theo các bước trong Tạo và liên kết cấu hình vòng đời

Lưu ý: Cấu hình vòng đời mặc định được thiết lập ở cấp miền được kế thừa bởi tất cả người dùng, trong khi những cấu hình được thiết lập ở cấp người dùng được áp dụng cho một người dùng cụ thể. Nếu bạn áp dụng đồng thời cả cấu hình vòng đời cấp độ miền và cấp độ hồ sơ người dùng, thì cấu hình vòng đời cấp độ hồ sơ người dùng sẽ được ưu tiên và được áp dụng cho ứng dụng bất kể cấu hình vòng đời nào được áp dụng ở cấp độ miền. Để biết thêm thông tin, hãy xem Đặt cấu hình vòng đời mặc định.

Data Wrangler chấp nhận cấu hình vòng đời Kernel Gateway mặc định, nhưng một số lệnh được xác định trong cấu hình vòng đời Kernel Gateway mặc định không áp dụng cho Data Wrangler, điều này có thể khiến Data Wrangler không khởi động được. Ảnh chụp màn hình sau đây cho thấy một ví dụ về thông báo lỗi mà bạn có thể nhận được khi khởi chạy luồng Data Wrangler. Điều này có thể chỉ xảy ra với cấu hình vòng đời mặc định chứ không phải với cấu hình vòng đời.

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

Khách hàng sử dụng cấu hình vòng đời mặc định trong Studio có thể theo dõi bài đăng này và sử dụng khối mã được cung cấp trong tập lệnh cấu hình vòng đời để khởi chạy ứng dụng Data Wrangler mà không gặp bất kỳ lỗi nào.

Thiết lập cấu hình vòng đời mặc định

Để thiết lập cấu hình vòng đời mặc định, bạn phải thêm cấu hình đó vào DefaultResourceSpec loại ứng dụng thích hợp. Hành vi của cấu hình vòng đời của bạn phụ thuộc vào việc nó được thêm vào DefaultResourceSpec của máy chủ Jupyter hoặc ứng dụng Kernel Gateway:

  • Ứng dụng Máy chủ Jupyter - Khi được thêm vào DefaultResourceSpec của ứng dụng Máy chủ Jupyter, tập lệnh cấu hình vòng đời mặc định sẽ tự động chạy khi người dùng đăng nhập vào Studio lần đầu tiên hoặc khởi động lại Studio. Bạn có thể sử dụng điều này để tự động hóa các hành động thiết lập một lần cho môi trường nhà phát triển Studio, chẳng hạn như cài đặt tiện ích mở rộng sổ ghi chép hoặc thiết lập repo GitHub. Để biết ví dụ về điều này, hãy xem Tùy chỉnh Amazon SageMaker Studio bằng cách sử dụng Cấu hình vòng đời.
  • Ứng dụng Kernel Gateway - Khi được thêm vào DefaultResourceSpec của ứng dụng Kernel Gateway, Studio mặc định chọn tập lệnh cấu hình vòng đời từ trình khởi chạy Studio. Bạn có thể khởi chạy một sổ ghi chép hoặc thiết bị đầu cuối với tập lệnh mặc định hoặc chọn một tập lệnh khác từ danh sách cấu hình vòng đời.

Cấu hình vòng đời Kernel Gateway mặc định được chỉ định trong DefaultResourceSpec áp dụng cho tất cả các hình ảnh Kernel Gateway trong miền Studio trừ khi bạn chọn một tập lệnh khác từ danh sách được trình bày trong trình khởi chạy Studio.

Khi bạn làm việc với cấu hình vòng đời cho Studio, bạn tạo cấu hình vòng đời và đính kèm nó vào miền Studio hoặc hồ sơ người dùng của bạn. Sau đó, bạn có thể khởi chạy ứng dụng Jupyter Server hoặc Kernel Gateway để sử dụng cấu hình vòng đời.

Bảng sau đây tóm tắt những lỗi bạn có thể gặp phải khi khởi chạy ứng dụng Data Wrangler với cấu hình vòng đời mặc định.

Cấp độ mà cấu hình vòng đời Được áp dụng

Tạo luồng dữ liệu Wrangler Hoạt động (hoặc) Lỗi

Cách giải quyết
miền Lỗi yêu cầu không hợp lệ Áp dụng tập lệnh (xem bên dưới)
Thông tin người dùng Lỗi yêu cầu không hợp lệ Áp dụng tập lệnh (xem bên dưới)
Các Ứng Dụng Hoạt động — Không có vấn đề Không yêu cầu

Khi bạn sử dụng cấu hình vòng đời mặc định được liên kết với Studio và Data Wrangler (ứng dụng Kernel Gateway), bạn có thể gặp phải lỗi ứng dụng Kernel Gateway. Trong bài đăng này, chúng tôi trình bày cách đặt cấu hình vòng đời mặc định đúng cách để loại trừ các lệnh đang chạy trong ứng dụng Data Wrangler để bạn không gặp phải lỗi ứng dụng Kernel Gateway.

Giả sử bạn muốn cài đặt git-clone-repo script làm cấu hình vòng đời mặc định tự động kiểm tra kho lưu trữ Git trong thư mục chính của người dùng khi máy chủ Jupyter khởi động. Hãy xem xét từng tình huống áp dụng cấu hình vòng đời (miền Studio, hồ sơ người dùng hoặc cấp ứng dụng).

Áp dụng cấu hình vòng đời ở miền Studio hoặc cấp độ hồ sơ người dùng

Để áp dụng cấu hình vòng đời Kernel Gateway mặc định ở miền Studio hoặc cấp độ hồ sơ người dùng, hãy hoàn thành các bước trong phần này. Chúng tôi bắt đầu với hướng dẫn cho cấp độ hồ sơ người dùng.

Trong tập lệnh cấu hình vòng đời của mình, bạn phải bao gồm khối mã sau đây để kiểm tra và bỏ qua ứng dụng Data Wrangler Kernel Gateway:

#!/bin/bash
set -eux
STATUS=$(
python3 -c "import sagemaker_dataprep"
echo $?
)
if [ "$STATUS" -eq 0 ]; then
echo 'Instance is of Type Data Wrangler'
else
echo 'Instance is not of Type Data Wrangler'
<remainder of LCC here within in else block – this contains some pip install, etc>
fi

Ví dụ, hãy sử dụng kịch bản sau như bản gốc của chúng tôi (lưu ý rằng thư mục để sao chép repo được thay đổi thành /root from /home/sagemaker-user):

# Clones a git repository into the user's home folder
#!/bin/bash

set -eux

# Replace this with the URL of your git repository
export REPOSITORY_URL="https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples.git"

git -C /root clone $REPOSITORY_URL

Tập lệnh mới được sửa đổi trông giống như sau:

#!/bin/bash
set -eux
STATUS=$(
python3 -c "import sagemaker_dataprep"
echo $?
)
if [ "$STATUS" -eq 0 ]; then
echo 'Instance is of Type Data Wrangler'
else
echo 'Instance is not of Type Data Wrangler'

# Replace this with the URL of your git repository
export REPOSITORY_URL="https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples.git"

git -C /root clone $REPOSITORY_URL

fi

Bạn có thể lưu tập lệnh này dưới dạng git_command_test.sh.

Bây giờ bạn chạy một loạt lệnh trong thiết bị đầu cuối hoặc dấu nhắc lệnh của mình. Bạn nên cấu hình Giao diện dòng lệnh AWS (AWS CLI) để tương tác với AWS. Nếu bạn chưa thiết lập AWS CLI, hãy tham khảo Định cấu hình AWS CLI.

  1. Chuyển đổi của bạn git_command_test.sh tệp ở định dạng Base64. Yêu cầu này ngăn ngừa lỗi do mã hóa khoảng cách và ngắt dòng.
    LCC_GIT=openssl base64 -A -in /Users/abcde/Downloads/git_command_test.sh

  2. Tạo cấu hình vòng đời Studio. Lệnh sau tạo cấu hình vòng đời chạy khi khởi chạy ứng dụng Kernel Gateway được liên kết:
    aws sagemaker create-studio-lifecycle-config —region us-east-2 —studio-lifecycle-config-name lcc-git —studio-lifecycle-config-content $LCC_GIT —studio-lifecycle-config-app-type KernelGateway

  3. Sử dụng lệnh gọi API sau để tạo hồ sơ người dùng mới với cấu hình vòng đời được liên kết:
    aws sagemaker create-user-profile --domain-id d-vqc14vvvvvvv 
    --user-profile-name test 
    --region us-east-2 
    --user-settings '{
    "KernelGatewayAppSettings": {
    "LifecycleConfigArns" : ["arn:aws:sagemaker:us-east-2:000000000000:studio-lifecycle-config/lcc-git"],
    "DefaultResourceSpec": {
    "InstanceType": "ml.m5.xlarge",
    "LifecycleConfigArn": "arn:aws:sagemaker:us-east-2:00000000000:studio-lifecycle-config/lcc-git"
    }
    }
    }'

    Ngoài ra, nếu bạn muốn tạo miền Studio để liên kết cấu hình vòng đời của mình ở cấp miền hoặc cập nhật hồ sơ người dùng hoặc miền, bạn có thể làm theo các bước trong Đặt cấu hình vòng đời mặc định.

  4. Giờ đây, bạn có thể khởi chạy ứng dụng Studio của mình từ Bảng điều khiển SageMaker.bảng điều khiển
  5. Trong môi trường Studio của bạn, trên Tập tin menu, chọn MớiLuồng trình xử lý dữ liệuLuồng Data Wrangler mới sẽ mở ra mà không gặp bất kỳ sự cố nào.
    Luồng trình xử lý dữ liệu mới
  6. Để xác thực bản sao Git, bạn có thể mở Trình khởi chạy mới trong Studio.
  7. Theo Sổ tay và tài nguyên máy tính, chọn sổ ghi chép Python 3 và Khoa học dữ liệu Hình ảnh SageMaker để bắt đầu tập lệnh của bạn làm tập lệnh cấu hình vòng đời mặc định của bạn.
    Notebook và Compute

Bạn có thể thấy Git được sao chép sang /root trong ảnh chụp màn hình sau.

Git được nhân bản vào / root

Chúng tôi đã áp dụng thành công cấu hình vòng đời Kernel mặc định ở cấp độ hồ sơ người dùng và tạo luồng Data Wrangler. Để định cấu hình ở cấp miền Studio, thay đổi duy nhất là thay vì tạo hồ sơ người dùng, bạn chuyển ARN của cấu hình vòng đời trong tạo miền gọi.

Áp dụng cấu hình vòng đời ở cấp ứng dụng

Nếu bạn áp dụng cấu hình vòng đời Kernel Gateway mặc định ở cấp ứng dụng, bạn sẽ không gặp bất kỳ sự cố nào vì Data Wrangler bỏ qua cấu hình vòng đời được áp dụng ở cấp ứng dụng.

Kết luận

Trong bài đăng này, chúng tôi đã chỉ ra cách đặt cấu hình vòng đời mặc định của bạn đúng cách cho Studio khi bạn sử dụng Data Wrangler cho các yêu cầu chuẩn bị và hiển thị dữ liệu.

Tóm lại, nếu bạn cần sử dụng mặc định cấu hình vòng đời cho Studio để tự động hóa tùy chỉnh cho môi trường Studio của bạn và sử dụng Data Wrangler để chuẩn bị dữ liệu, bạn có thể áp dụng cấu hình vòng đời Kernel Gateway mặc định ở cấp độ người dùng hoặc miền Studio với khối mã thích hợp được bao gồm trong cấu hình vòng đời của bạn để cấu hình vòng đời mặc định kiểm tra nó và bỏ qua ứng dụng Data Wrangler Kernel Gateway.

Để biết thêm thông tin, hãy xem các tài nguyên sau:


Về các tác giả

Rajakumar Sampathkumar là Giám đốc tài khoản kỹ thuật chính tại AWS, cung cấp cho khách hàng hướng dẫn về sự liên kết giữa kinh doanh và công nghệ và hỗ trợ việc sáng tạo lại các mô hình và quy trình hoạt động đám mây của họ. Anh ấy rất đam mê về đám mây và máy học. Raj cũng là một chuyên gia học máy và làm việc với khách hàng AWS để thiết kế, triển khai và quản lý khối lượng công việc và kiến ​​trúc AWS của họ.

Trương Vicky là Kỹ sư phát triển phần mềm tại Amazon SageMaker. Cô ấy đam mê giải quyết vấn đề. Khi rảnh rỗi, cô thích xem phim trinh thám và chơi cầu lông.

Rahul Nabera là Nhà tư vấn phân tích dữ liệu trong Dịch vụ chuyên nghiệp của AWS. Công việc hiện tại của anh ấy tập trung vào việc cho phép khách hàng xây dựng khối lượng công việc học máy và dữ liệu của họ trên AWS. Trong thời gian rảnh rỗi, anh ấy thích chơi cricket và bóng chuyền.

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?