![[小ネタ]Amazon SageMaker Processingのジョブの一覧をBoto3を使って確認する](https://devio2023-media.developers.io/wp-content/uploads/2019/05/amazon-sagemaker.png)
[小ネタ]Amazon SageMaker Processingのジョブの一覧をBoto3を使って確認する
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
Amazon SageMaker Processingを利用することで、SageMaker上で前処理や評価処理等を実行できます。 しかしながら、2019年1月15日現在、マネジメントコンソールからSageMaker Processingのジョブの一覧を確認することができません。 今回はBoto3を使用してSageMaker Processingのジョブの一覧を確認してみます。
やってみる
SageMaker Processingジョブの一覧を取得する
list_processing_jobsを使って、ジョブの取得が可能です。何も引数を設定しない場合直近のジョブが表示されます。そのままだと読みにくいので、データフレーム形式に変換すると読みやすく&扱いやすくなります。
import boto3
import pandas as pd
sm = boto3.Session().client('sagemaker')
jobs = sm.list_processing_jobs()
pd.DataFrame(jobs['ProcessingJobSummaries'])

加工前のデータは次のようにProcessingJobSummariesとNextToken、ResponseMetadataで構成されるdict形式のデータとなります。(上で取得したデータとは異なります。)

取得するジョブ数を制限する
MaxResultsで取得最大件数を指定することができます。(最大100件)
sm.list_processing_jobs(MaxResults=1)
加工前のデータは次のようにProcessingJobSummariesとNextToken、ResponseMetadataで構成されるdict形式のデータとなります。

ジョブステータスから絞り込む
StatusEqualsで取得するジョブのステータスを絞り込むことができます。
- 指定可能なステータス: InProgress,Completed,Failed,Stopping,Stoppedjobs = sm.list_processing_jobs(StatusEquals='Failed') pd.DataFrame(jobs['ProcessingJobSummaries']) 

ジョブ名で絞り込む
NameContainsで取得するジョブの名前を絞り込むことができます。
jobs = sm.list_processing_jobs(NameContains='demo') pd.DataFrame(jobs['ProcessingJobSummaries'])

ジョブの詳細を取得する
describe_processing_jobを使うことで、指定したジョブの詳細情報を取得することができます。
sm.describe_processing_job(ProcessingJobName='demo-smdebug-xgboost-regre-TreeDepth-0c2462e7')

さいごに
Boto3を使用して、Amazon SageMaker Processingのジョブの一覧を取得する方法について紹介しました。













