处理作业运算符 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

处理作业运算符

处理作业操作员用于启动 Amazon SageMaker 处理任务。有关 SageMaker 处理任务的更多信息,请参阅CreateProcessingJob.

使用 YAML 文件创建处理作业

请按照以下步骤使用 YAML 文件创建 Amazon SageMaker 处理任务:

  1. 下载kmeans_preprocessing.py预处理脚本。

    wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/kmeans_preprocessing.py
  2. 在 Amazon Simple Storage Service (Amazon S3) 存储桶中,创建一个mnist_kmeans_example/processing_code文件夹,然后将脚本上载到文件夹。

  3. 下载 kmeans-mnist-processingjob.yaml 文件。

    wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/kmeans-mnist-processingjob.yaml
  4. 编辑 YAML 文件以指定sagemaker-execution-role并将出现的所有替换为my-bucket与您的 S3 存储桶一起使用。

    ... metadata: name: kmeans-mnist-processing ... roleArn: arn:aws:iam::<acct-id>:role/service-role/<sagemaker-execution-role> ... processingOutputConfig: outputs: ... s3Output: s3Uri: s3://<my-bucket>/mnist_kmeans_example/output/ ... processingInputs: ... s3Input: s3Uri: s3://<my-bucket>/mnist_kmeans_example/processing_code/kmeans_preprocessing.py

    这些区域有:sagemaker-execution-role必须具有权限,以便 SageMaker 能够代表您访问您的 S3 存储桶、Amazon CloudWatch 和其他服务。有关创建执行角色的更多信息,请参阅SageMaker 角色.

  5. 使用以下命令之一应用 YAML 文件。

    对于群集范围的安装:

    kubectl apply -f kmeans-mnist-processingjob.yaml

    对于命名空间范围的安装:

    kubectl apply -f kmeans-mnist-processingjob.yaml -n <NAMESPACE>

列表处理作业

使用以下命令之一列出使用 ProfecingJob 运算符创建的所有作业。SAGEMAKER-JOB-NAME 来自metadata部分。

对于群集范围的安装:

kubectl get ProcessingJob kmeans-mnist-processing

对于命名空间范围的安装:

kubectl get ProcessingJob -n <NAMESPACE> kmeans-mnist-processing

您的输出应类似于以下内容:

NAME STATUS CREATION-TIME SAGEMAKER-JOB-NAME kmeans-mnist-processing InProgress 2020-09-22T21:13:25Z kmeans-mnist-processing-7410ed52fd1811eab19a165ae9f9e385

输出将列出所有作业,无论其状态如何。要从列表中删除作业,请参阅。删除处理 Job.

处理任务状态

  • SynchronizingK8sJobWithSageMaker— 作业首先提交到群集。操作员已收到请求并准备创建处理任务。

  • Reconciling— 运算符正在初始化或从瞬态错误中恢复,以及其他操作符。如果处理作业仍处于此状态,请使用kubectl describe命令以查看Additional字段中返回的子位置类型。

  • InProgress | Completed | Failed | Stopping | Stopped— SageMaker 处理作业的状态。有关更多信息,请参阅 。描述处理作业.

  • Error— 操作员无法通过协调恢复。

已完成、停止或失败的作业不会对 SageMaker 资源产生进一步费用。

描述处理作业

使用以下命令之一获取有关处理作业的更多详细信息。这些命令通常用于调试问题或检查处理作业的参数。

对于群集范围的安装:

kubectl describe processingjob kmeans-mnist-processing

对于命名空间范围的安装:

kubectl describe processingjob kmeans-mnist-processing -n <NAMESPACE>

处理作业的输出值应该类似于以下内容。

$ kubectl describe ProcessingJob kmeans-mnist-processing Name: kmeans-mnist-processing Namespace: default Labels: <none> Annotations: kubectl.kubernetes.io/last-applied-configuration: {"apiVersion":"sagemaker.aws.amazon.com/v1","kind":"ProcessingJob","metadata":{"annotations":{},"name":"kmeans-mnist-processing",... API Version: sagemaker.aws.amazon.com/v1 Kind: ProcessingJob Metadata: Creation Timestamp: 2020-09-22T21:13:25Z Finalizers: sagemaker-operator-finalizer Generation: 2 Resource Version: 21746658 Self Link: /apis/sagemaker.aws.amazon.com/v1/namespaces/default/processingjobs/kmeans-mnist-processing UID: 7410ed52-fd18-11ea-b19a-165ae9f9e385 Spec: App Specification: Container Entrypoint: python /opt/ml/processing/code/kmeans_preprocessing.py Image Uri: 763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.5.0-cpu-py36-ubuntu16.04 Environment: Name: MYVAR Value: my_value Name: MYVAR2 Value: my_value2 Network Config: Processing Inputs: Input Name: mnist_tar s3Input: Local Path: /opt/ml/processing/input s3DataType: S3Prefix s3InputMode: File s3Uri: s3://<s3bucket>-us-west-2/algorithms/kmeans/mnist/mnist.pkl.gz Input Name: source_code s3Input: Local Path: /opt/ml/processing/code s3DataType: S3Prefix s3InputMode: File s3Uri: s3://<s3bucket>/mnist_kmeans_example/processing_code/kmeans_preprocessing.py Processing Output Config: Outputs: Output Name: train_data s3Output: Local Path: /opt/ml/processing/output_train/ s3UploadMode: EndOfJob s3Uri: s3://<s3bucket>/mnist_kmeans_example/output/ Output Name: test_data s3Output: Local Path: /opt/ml/processing/output_test/ s3UploadMode: EndOfJob s3Uri: s3://<s3bucket>/mnist_kmeans_example/output/ Output Name: valid_data s3Output: Local Path: /opt/ml/processing/output_valid/ s3UploadMode: EndOfJob s3Uri: s3://<s3bucket>/mnist_kmeans_example/output/ Processing Resources: Cluster Config: Instance Count: 1 Instance Type: ml.m5.xlarge Volume Size In GB: 20 Region: us-west-2 Role Arn: arn:aws:iam::<acct-id>:role/m-sagemaker-role Stopping Condition: Max Runtime In Seconds: 1800 Tags: Key: tagKey Value: tagValue Status: Cloud Watch Log URL: https://us-west-2.console.aws.amazon.com/cloudwatch/home?region=us-west-2#logStream:group=/aws/sagemaker/ProcessingJobs;prefix=kmeans-mnist-processing-7410ed52fd1811eab19a165ae9f9e385;streamFilter=typeLogStreamPrefix Last Check Time: 2020-09-22T21:14:29Z Processing Job Status: InProgress Sage Maker Processing Job Name: kmeans-mnist-processing-7410ed52fd1811eab19a165ae9f9e385 Events: <none>

删除处理作业

删除处理作业时,SageMaker 处理作业将从 Kubernetes 中删除,但不会从 SageMaker 中删除该作业。如果 SageMaker 中的作业状态为InProgress作业已停止。处理停止的作业不会对 SageMaker 资源产生任何费用。使用下列命令之一删除处理作业。

对于群集范围的安装:

kubectl delete processingjob kmeans-mnist-processing

对于命名空间范围的安装:

kubectl delete processingjob kmeans-mnist-processing -n <NAMESPACE>

处理作业的输出值应该类似于以下内容。

processingjob.sagemaker.aws.amazon.com "kmeans-mnist-processing" deleted

注意

SageMaker 不会删除处理作业。已停止的作业将继续显示在 SageMaker 控制台中。这些区域有:delete命令需要几分钟才能清除 SageMaker 中的资源。