📝

SageMaker Processing をチュートリアルレベルで試してみた

に公開

Data transformation workloads with SageMaker Processing - Amazon SageMaker AI
コンソール上で簡単に試してみました。

前提

  • リージョン: バージニア北部

1. S3 バケットの作成

デフォルト設定で S3 バケットを作成します。
今回は「my-first-processing-job-output-20250821」というバケット名にしました。

2. ジョブの作成

SageMaker AI のコンソールから処理ジョブ > 処理ジョブを作成をクリックします。
設定値は以下の通りです。

  • ジョブ名: 任意の名称
  • コンテナ: 683313688378.dkr.ecr.us-east-1.amazonaws.com/sagemaker-scikit-learn:1.2-1
  • IAM ロール: 新しいロールの作成
    • S3 バケットは 1 のバケット名を指定
  • コンテナエントリポイント 1: python3
  • コンテナ引数 1: -c
  • コンテナ引数 2: 以下のスクリプト
import pandas as pd; df = pd.read_csv('/opt/ml/processing/input/abalone.csv'); print(f'Data shape: {df.shape}'); df.head().to_csv('/opt/ml/processing/output/sample_output.csv', index=False); print('Processing completed!')
  • input 1 のローカルパス: /opt/ml/processing/input
  • input 1 の S3 の場所: s3://sagemaker-sample-files/datasets/tabular/uci_abalone/abalone.csv
  • output 1 のローカルパス: /opt/ml/processing/output
  • output 1 の S3 の場所: 1 で作成した S3 バケットの URI
    • s3://my-first-processing-job-output-20250821

上記設定後に送信ボタンをクリックします。
ジョブ作成直後はステータスが InProgress なのでしばらく待機します。

3. 結果の確認

ジョブのステータスが Completed になれば OK です。
CloudWatch Logs には「/aws/sagemaker/ProcessingJobs」というロググループが作成されており、ジョブのログが出力されていました。

2025-08-21T14:45:18.648+09:00 Data shape: (4176, 9)
2025-08-21T14:45:18.649+09:00 Processing completed!

上記ログはコンテナ引数に指定したスクリプトで出力した内容です。

また、出力先に指定した S3 バケットには CSV ファイルが出力されていました。

CloudWatch ではインスタンスメトリクスも確認できるため、CPU やメモリへの負荷も確認できそうです。
Amazon SageMaker AI metrics in Amazon CloudWatch - Amazon SageMaker AI

おまけ

ジョブは削除できない仕様でした。

Clean up Amazon SageMaker notebook instance resources - Amazon SageMaker AI

Training jobs and logs cannot be deleted and are retained indefinitely.

how to delete old sagemaker training/processing jobs ? | AWS re:Post

まとめ

今回は SageMaker Processing をチュートリアルレベルで試してみました。
どなたかの参考になれば幸いです。

参考資料

Discussion