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
- AWS ブログのサンプルデータ
- 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 をチュートリアルレベルで試してみました。
どなたかの参考になれば幸いです。
参考資料
- Data transformation workloads with SageMaker Processing - Amazon SageMaker AI
- Docker Registry Paths and Example Code for US East (N. Virginia) (us-east-1) - ECR Paths
- Schedule your notebooks from any JupyterLab environment using the Amazon SageMaker JupyterLab extension | Artificial Intelligence
- Clean up Amazon SageMaker notebook instance resources - Amazon SageMaker AI
- how to delete old sagemaker training/processing jobs ? | AWS re:Post
Discussion