Export - 亚马逊 SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Export

在 Data Wrangler 流程中,您可以导出对数据处理管道所做的部分或全部转换。

Data Wrangler 流程是您对数据执行的一系列数据准备步骤。在数据准备过程中,您对数据执行一次或多次转换。每次转换都是使用转换步骤完成的。该流程包含一系列节点,这些节点表示数据的导入和您所执行的转换。有关节点的示例,请参见下图。

上图显示了具有两个节点的 Data Wrangler 流。来源-采样节点显示您从中导入数据的数据源。数据类型节点表示 Data Wrangler 已执行转换以将数据集转换为可用格式。

您添加到 Data Wrangler 流的每个转换都将显示为一个附加节点。有关您可以添加的转换的信息,请参阅转换数据。下图显示了一个 Data Wrangler 流程,该流程具有重命名列节点,用于更改数据集中列的名称。

您可以将数据转换导出为以下内容:

  • Amazon S3

  • SageMaker 管道

  • 亚马逊 SageMaker 功能商店

  • Python

重要

我们建议您使用 IAMAmazonSageMakerFullAccess 托管策略授予使用 Data Wrangler 的Amazon权限。如果您不使用托管策略,则可以使用 IAM 策略向 Data Wrangler 访问 Amazon S3 存储桶。有关策略的更多信息,请参阅安全和权限

当您导出数据流时,您需要为所使用的Amazon资源付费。您可以使用成本分配标签来组织和管理这些资源的成本。您可以为用户配置文件创建这些标签,Data Wrangler 会自动将它们应用于用于导出数据流的资源。有关更多信息,请参阅使用成本分配标签

导出到 Amazon S3

Data Wrangler 使您能够将数据导出到 Amazon S3 存储桶中的某个位置。您可以使用以下方法之一指定位置:

  • 目标节点 — Data Wrangler 在处理数据后存储数据的位置。

  • 导出到-将转换后生成的数据导出到 Amazon S3。

  • 导出数据-对于小型数据集,可以快速导出已转换的数据。

使用以下各节了解有关每个方法的更多信息。

Destination Node

如果您想将已执行的一系列数据处理步骤输出到 Amazon S3,则可以创建目标节点。处理完数据后,目标节点会告诉 Data Wrangler 在哪里存储数据。创建目标节点后,创建处理任务以输出数据。处理任务是亚马逊的 SageMaker 处理任务。当您使用目标节点时,它会运行输出您转换到 Amazon S3 的数据所需的计算资源。

您可以使用目标节点导出在 Data Wrangler 流程中进行的部分转换或所有转换。

您可以使用多个目标节点导出不同的转换或转换集。以下示例显示了单个 Data Wrangler 流中的两个目标节点。

您可以使用以下过程创建目标节点并将其导出到 Amazon S3 存储桶。

要导出数据流,您需要创建目标节点和一个 Data Wrangler 作业来导出数据。创建 Data Wrangler 任务会启动导出流程的 SageMaker 处理作业。创建目标节点后,您可以选择要导出的目标节点。

注意

您可以在 Data Wrangler 流程中选择创建任务来查看使用处理作业的说明。

使用以下过程创建目标节点。

  1. 选择代表要导出的变换的节点旁边的 +

  2. 选择 Add destination

  3. 选择 Amazon S3

  4. 指定以下字段。

    • 数据集名称-您为要导出的数据集指定的名称。

    • 文件类型-您要导出的文件的格式。

    • 分隔符(仅限 CSV)-用于分隔其他值的值。

    • 压缩-用于减小文件大小的压缩方法。您可以使用以下压缩方法:

      • bzip2

      • 放气

      • gzip

    • (可选)Amazon S3 位置 — 您用于输出文件的 S3 位置。

    • (可选)分区数-您写入的作为处理作业输出的数据集的数量。

    • (可选)按列分区-写入列中具有相同唯一值的所有数据。

  5. 选择 Add destination

使用以下过程创建处理作业。

从 “数据流” 页面创建任务,然后选择要导出的目标节点。

注意

您可以在 Data Wrangler 流程中选择创建任务来查看创建处理作业的说明。

  1. 请选择 Create job (创建任务)。下图显示了选择 “创建作业” 后出现的窗格。

  2. Job 名称中,指定导出任务的名称。

  3. 选择要导出的目标节点。

  4. (可选)指定密Amazon KMS钥 ARN。密Amazon KMS钥是可用于保护数据的加密密钥。有关Amazon KMS密钥的更多信息,请参阅Amazon Key Management Service

  5. (可选)在 “训练有素” 参数下。如果您已完成以下操作,请选择 Refit

    • 对数据集进行了采样

    • 应用了使用您的数据在数据集中创建新列的转换

    有关重新调整对整个数据集所做的转换的更多信息,请参阅重新调整变换到整个数据集并将其导出

  6. 选择配置作业。下图显示配置任务页面。

  7. (可选)配置 Data Wrangler 作业。您可以进行以下配置:

    • Job 配置

    • Spark 内存配置

    • 网络配置

    • 标签

    • 参数

    • 伙伴日程安排

  8. 选择 Run(运行)

Export to

除了使用目标节点外,您还可以使用 “导出到” 选项,使用 Jupyter 笔记本将您的 Data Wrangler 流导出到 Amazon S3。您可以在 Data Wrangler 流程中选择任何数据节点并将其导出。导出数据节点会导出该节点所代表的转换及其之前的转换。

使用以下过程生成 Jupyter 笔记本并运行它以将您的 Data Wrangler 流程导出到 Amazon S3。

  1. 选择要导出的节点旁边的 +

  2. 选择 “导出到”。

  3. 选择 Amazon S3(通过 Jupyter 笔记本)

  4. 运行 Jupyter 笔记本。

当你运行笔记本时,它会导出你的数据流(.flow 文件),与 Data Wrangler 流Amazon Web Services 区域相同。

笔记本提供了一些选项,您可以使用这些选项来配置处理作业及其输出的数据。

重要

我们为您提供任务配置,以配置数据的输出。对于分区和驱动程序内存选项,我们强烈建议您不要指定配置,除非您已经了解这些配置。

在 “Job 配置” 下,您可以配置以下内容:

  • output_content_type— 输出文件的内容类型。用CSV作默认格式,但您可以指定Parquet

  • delimiter— 写入 CSV 文件时用于分隔数据集中的值的字符。

  • compression— 如果已设置,则压缩输出文件。使用 gzip 作为默认压缩格式。

  • num_partitions— Data Wrangler 写入的作为输出的分区或文件的数量。

  • partition_by— 用于对输出进行分区的列的名称。

要将输出文件格式从 CSV 更改为 Parquet,请将值从更改"CSV""Parquet"。对于前面的其余字段,取消对包含要指定字段的行的注释。

(可选)配置 Spark Cluster 驱动程序内存下,您可以在config字典中为作业配置 Spark 属性,例如 Spark 驱动程序内存。

以下显示了config字典。

config = json.dumps({ "Classification": "spark-defaults", "Properties": { "spark.driver.memory": f"{driver_memory_in_mb}m", } })

要将配置应用于处理作业,请取消以下几行的注释:

# data_sources.append(ProcessingInput( # source=config_s3_uri, # destination="/opt/ml/processing/input/conf", # input_name="spark-config", # s3_data_type="S3Prefix", # s3_input_mode="File", # s3_data_distribution_type="FullyReplicated" # ))
Export data

如果您对要快速导出的小型数据集进行了转换,则可以使用 Export d at a 方法。当您开始选择 “导出数据” 时,Data Wrangler 会同步将您转换的数据导出到 Amazon S3。在 Data Wrangler 完成数据导出或您取消操作之前,您无法使用 Data Wrangler。

有关在 Data Wrangler 流程中使用 “导出数据” 方法的信息,请参阅以下步骤。

要使用导出数据方法,请执行以下操作:

  1. 打开(双击)Data Wrangler 流程中的一个节点,选择该节点。

  2. 配置要如何导出数据。

  3. 选择 “导出数据”。

当您将数据流导出到 Amazon S3 存储桶时,Data Wrangler 会将流量文件的副本存储在 S3 存储桶中。它将流文件存储在 data_wrangler_ flows 前缀下。如果您使用默认 Amazon S3 存储桶来存储您的流程文件,它将使用以下命名约定:sagemaker-region-account number。例如,如果您的账户号位于 111122223333,则导入的数据集存储在 us-east-1,则导入的数据集存储在sagemaker-us-east-1-111122223333。在此示例中,您在 us-east-1 中创建的.flow 文件存储在s3://sagemaker-region-account number/data_wrangler_flows/

导出到 SageMaker 管道

当您想要构建和部署大规模机器学习 (ML) 工作流程时,可以使用 Pi SageMaker pelines 创建管理和部署 SageMaker 任务的工作流程。使用 SageMaker Pipelines,您可以构建工作流程来管理 SageMaker 数据准备、模型训练和模型部署任务。您可以使用Pipelines SageMaker 提供的第一方算 SageMaker 法。有关 SageMaker 管道的更多信息,请参阅SageMaker 管道

当您将数据流中的一个或多个步骤导出到 SageMaker 管道时,Data Wrangler 会创建一个 Jupyter 笔记本,您可以使用它来定义、实例化、运行和管理管道。

使用 Jupyter 笔记本创建流水线

使用以下过程创建 Jupyter 笔记本以将您的 Data Wrangler 流导出到 Pipel SageMaker ines。

使用以下步骤生成 Jupyter 笔记本并运行它以将 Data Wrangler 流导出到 SageMaker 管道。

  1. 选择要导出的节点旁边的 +

  2. 选择 “导出到”。

  3. 选择SageMaker 管道(通过 Jupyter 笔记本)

  4. 运行 Jupyter 笔记本。

你可以使用 Data Wrangler 制作的 Jupyter 笔记本来定义管道。该管道包括由您的 Data Wrangler 流程定义的数据处理步骤。

您可以通过在笔记本的以下代码中将步骤添加到steps列表中,将其他步骤添加到您的工作流中:

pipeline = Pipeline( name=pipeline_name, parameters=[instance_type, instance_count], steps=[step_process], #Add more steps to this list to run in your Pipeline )

有关定义管道的信息,请参阅 “定义 SageMaker管道”

导出到推理端点

在推断时使用 Data Wrangler 流程处理数据。您可以通过 Data Wrangler 流程和机器学习模型创建 SageMaker 串行推理流水线。你可以使用自己的模型,也可以使用我们提供的笔记本电脑,使用你在 Data Wrangler 流程中转换的数据,通过 Amazon A SageMaker utopilot 或 XGBoost 训练模型。

该流水线提供了执行批量或实时推断的能力。您也可以将 Data Wrangler 流程添加到 SageMaker 模型注册表中。有关托管式模型的更多信息,请参阅在一个容器中托管多个模型,位于一个端点后面

当您将数据流中的一个或多个步骤导出到推理端点时,Data Wrangler 会创建一个 Jupyter 笔记本,您可以使用它来定义、实例化、运行和管理推理管道。

使用 Jupyter 笔记本创建推理端点

使用以下过程导出您的 Data Wrangler 流程以创建推理流水线。

要使用 Jupyter 笔记本创建推理,请执行以下操作。

  1. 选择要导出的节点旁边的 +

  2. 选择 “导出到”。

  3. 选择SageMaker 推理流水线(通过 Jupyter 笔记本)

  4. 运行 Jupyter 笔记本。

导出到 Python 代码

要将数据流中的所有步骤导出到可以手动集成到任何数据处理工作流程中的 Python 文件,请使用以下步骤。

使用以下过程生成 Jupyter 笔记本并运行它以将您的 Data Wrangler 流程导出到 Python Code。

  1. 选择要导出的节点旁边的 +

  2. 选择 “导出到”。

  3. 选择 Python 代码

  4. 运行 Jupyter 笔记本。

您可能需要配置 Pyth 脚本以使其在管道中运行。例如,如果你正在运行 Spark 环境,请确保你在有权访问Amazon资源的环境中运行脚本。

导出到亚马逊 SageMaker 功能商店

您可以使用 Data Wrangler 将您创建的功能导出到亚马逊 SageMaker 功能商店。要素是数据集中的一列。Feature Store 是功能及其相关元数据的集中存储。您可以使用 Feature Store 创建、共享和管理机器学习 (ML) 开发的精选数据。集中存储使您的数据更易于发现和重复使用。有关功能商店的更多信息,请参阅亚马逊 SageMaker 功能商店

功能存储中的核心概念是功能组。要素组是要素及其记录(观测值)和相关元数据的集合。它类似于数据库中的表。

您可以使用 Data Wranger 执行下列操作之一:

  • 使用新记录更新现有要素组。记录是数据集中的观测值。

  • 从 Data Wrangler 流程中的节点创建新功能组。Data Wrangler 将数据集中的观测结果作为记录添加到要素组中。

如果您要更新现有要素组,则数据集的架构必须与要素组的架构相匹配。要素组中的所有记录都将替换为数据集中的观测值。

您可以使用 Jupyter 笔记本或目标节点使用数据集中的观测值更新要素组。

如果您采用 Iceberg 表格式的功能组具有自定义的离线商店加密密钥,请务必向用于 Amazon SageMaker Processing 任务的 IAM 授予使用该密钥的权限。您至少必须授予它对您写入到 Amazon S3 的数据的权限。要授予权限,请授予 IAM 角色使用GenerateDataKey。有关授予 IAM 角色使用Amazon KMS密钥的权限的更多信息,请参阅https://docs.amazonaws.cn/kms/latest/developerguide/key-policies.html

Destination Node

如果要将已执行的一系列数据处理步骤输出到要素组,则可以创建目标节点。创建和运行目标节点时,Data Wrangler 会使用您的数据更新功能组。您还可以从目标节点用户界面创建新功能组。创建目标节点后,创建处理任务以输出数据。处理任务是亚马逊的 SageMaker 处理任务。当您使用目标节点时,它会运行将您转换的数据输出到要素组所需的计算资源。

您可以使用目标节点导出在 Data Wrangler 流程中进行的部分转换或所有转换。

使用以下步骤创建目标节点,使用数据集中的观测值更新要素组。

要使用目标节点更新功能组,请执行以下操作。

注意

您可以在 Data Wrangler 流程中选择创建任务来查看使用处理作业更新功能组的说明。

  1. 选择包含要导出的数据集的节点旁边的 + 符号。

  2. 在 “添加目的地” 下,选择 “SageMaker 功能存储”。

  3. 选择(双击)该功能组。Data Wrangler 会检查要素组的架构是否与您用于更新要素组的数据架构相匹配。

  4. (可选)对于同时具有在线商店和离线商店的功能组,选择 “仅导出到离线商店”。此选项仅使用数据集中的观测值更新离线商店。

  5. 在 Data Wrangler 验证数据集架构后,选择添加

使用以下过程使用数据集中的数据创建新要素组。

您可以通过以下方式之一存储功能组:

  • 在线 — 用于提供实时记录查询的功能组的低延迟、高可用性缓存。在线商店允许快速访问功能组中记录的最新值。

  • 离线-将功能组的数据存储在 Amazon S3 存储桶中。当您不需要低延迟(亚秒)读取时,可以离线存储数据。您可以使用离线商店获取用于数据探索、模型训练和批量推理的功能。

  • 在线和离线-将您的数据存储在在线商店和离线商店中。

要使用目标节点创建功能组,请执行以下操作。

  1. 选择包含要导出的数据集的节点旁边的 + 符号。

  2. 在 “添加目的地” 下,选择 “SageMaker 功能存储”。

  3. 选择创建功能组

  4. 在以下对话框中,如果您的数据集没有事件时间列,请选择创建 “EventTime” 列

  5. 选择 Next(下一步)

  6. 选择复制 JSON 架构。创建要素组时,将架构粘贴到要素定义中。

  7. 选择 Create(创建)

  8. 功能组名称中,指定功能组的名称。

  9. 描述(可选)中,指定描述以使您的功能组更容易被发现。

  10. 要为在线商店创建功能组,请执行以下操作。

    1. 选择 “在线启用存储”。

    2. 对于在线商店加密密钥,请指定Amazon托管加密密钥或您自己的加密密钥。

  11. 要为离线商店创建功能组,请执行以下操作。

    1. 选择 “启用脱机存储”。为以下字段指定值:

      • S3 存储桶名称 — 存储功能组的 Amazon S3 存储桶的名称。

      • (可选)数据集目录名称 — 用于存储功能组的 Amazon S3 前缀。

      • IAM 角色 ARN — 有权访问功能存储的 IAM 角色。

      • 表格格式 — 线下商店的表格格式。你可以指定 GlueIcebergGlu e 是默认格式。

      • 离线商店加密密钥-默认情况下,Feature Store 使用Amazon Key Management Service托管密钥,但您可以使用该字段指定自己的密钥。

    2. 为以下字段指定值:

      • S3 存储桶名称 — 存储功能组的存储桶的名称。

      • (可选)数据集目录名称 — 用于存储功能组的 Amazon S3 前缀。

      • IAM 角色 ARN — 有权访问feature store 的 IAM 角色。

      • 离线商店加密密钥-默认情况下,Feature Store 使用Amazon托管密钥,但您可以使用该字段指定自己的密钥。

  12. 选择 Continue(继续)。

  13. 选择 JSON

  14. 移除窗口中的占位符括号。

  15. 粘贴步骤 6 中的 JSON 文本。

  16. 选择 Continue(继续)。

  17. 对于记录标识符要素名称,请选择数据集中具有数据集中每条记录的唯一标识符的列。

  18. 对于事件时间功能名称,选择包含时间戳值的列。

  19. 选择 Continue(继续)。

  20. (可选)添加标签以使您的功能组更容易被发现。

  21. 选择 Continue(继续)。

  22. 选择创建功能组

  23. 导航回您的 Data Wrangler 流程,然后选择功能组搜索栏旁边的刷新图标。

注意

如果您已经为流程中的要素组创建了目标节点,则无法为同一要素组创建其他目标节点。如果要为同一要素组创建另一个目标节点,则必须创建另一个流文件。

使用以下过程创建 Data Wranger 作业。

从 “数据流” 页面创建任务,然后选择要导出的目标节点。

  1. 请选择 Create job (创建任务)。下图显示了选择 “创建作业” 后出现的窗格。

  2. Job 名称中,指定导出任务的名称。

  3. 选择要导出的目标节点。

  4. (可选)对于输出 KMS 密钥,指定密Amazon KMS钥的 ARN、ID 或别名。KMS 密钥是一种加密密钥。您可以使用密钥对作业的输出数据进行加密。有关Amazon KMS密钥的更多信息,请参阅Amazon Key Management Service

  5. 下图显示了 “配置Jo b” 页面,其中作业配置选项卡处于打开状态。

    
                                        作业配置部分位于 “配置J o b” 页面顶部附近。

    (可选)在 “训练有素” 参数下。如果您已完成以下操作,请选择 Refit

    • 对数据集进行了采样

    • 应用了使用您的数据在数据集中创建新列的转换

    有关重新调整对整个数据集所做的转换的更多信息,请参阅重新调整变换到整个数据集并将其导出

  6. 选择配置作业

  7. (可选)配置 Data Wrangler 作业。您可以进行以下配置:

    • Job 配置

    • Spark 内存配置

    • 网络配置

    • 标签

    • 参数

    • 伙伴日程安排

  8. 选择 Run(运行)

Jupyter notebook

使用以下步骤将 Jupyter 笔记本导出到亚马逊 SageMaker 功能商店。

使用以下步骤生成 Jupyter 笔记本并运行它以将 Data Wrangler 流程导出到功能存储。

  1. 选择要导出的节点旁边的 +

  2. 选择 “导出到”。

  3. 选择亚马逊 SageMaker 功能商店(通过 Jupyter 笔记本)

  4. 运行 Jupyter 笔记本。

运行 Jupyter 笔记本会运行 Data Wrangler 作业。运行 Data Wrangler 作业会启动 SageMaker处理作业。处理任务将流程提取到在线和离线feature store 中。

重要

您用于运行此笔记本的 IAM 角色必须附加以下Amazon托管策略:AmazonSageMakerFullAccessAmazonSageMakerFeatureStoreAccess

创建功能组时,您只需要启用一个在线或离线feature store。您也可以启用这两种功能。要禁用在线商店创建,EnableOnlineStore请设置为False

# Online Store Configuration online_store_config = { "EnableOnlineStore": False }

笔记本使用您导出的数据框的列名和类型来创建要素组架构,该架构用于创建要素组。要素组是在要素存储中定义的一组功能,用于描述记录。该功能组定义功能组中包含的架构和功能。功能组定义由功能列表、记录标识符功能名称、事件时间功能名称及其在线商店和离线商店的配置组成。

要素组中的每个要素可以具有以下类型之一:字符串分数数。如果导出的数据框中的列不是这些类型之一,则默认为String

以下是功能组架构的示例。

column_schema = [ { "name": "Height", "type": "long" }, { "name": "Input", "type": "string" }, { "name": "Output", "type": "string" }, { "name": "Sum", "type": "string" }, { "name": "Time", "type": "string" } ]

此外,还必须指定记录标识符名称和事件时间功能名称:

  • 记录标识符名称是要素的名称,其值唯一标识了在feature store 中定义的记录。在线商店中仅存储每个标识符值的最新记录。记录标识符特征名称必须是特征定义的名称之一。

  • 事件时间要素名称是将记录存储在EventTime功能组中的功能的名称。EventTime是发生新事件的时间点,该事件对应于要素中的记录的创建或更新。要素组中的所有记录都必须具有相应的记录EventTime

笔记本使用这些配置来创建功能组,大规模处理您的数据,然后将处理后的数据提取到您的在线和离线功能存储中。要了解更多信息,请参阅数据源和提取

笔记本使用这些配置来创建功能组,大规模处理您的数据,然后将处理后的数据提取到您的在线和离线功能存储中。要了解更多信息,请参阅数据源和提取

重新调整变换到整个数据集并将其导出

导入数据时,Data Wrangler 使用数据样本来应用编码。默认情况下,Data Wrangler 使用前 50,000 行作为样本,但您可以导入整个数据集或使用不同的采样方法。有关更多信息,请参阅导入

以下转换使用您的数据在数据集中创建列:

如果您使用采样来导入数据,则前面的转换仅使用样本中的数据来创建列。转换可能没有使用所有相关数据。例如,如果您使用 Encode Cat egoric 变换,则整个数据集中可能存在示例中不存在的类别。

您可以使用目标节点或 Jupyter 笔记本将转换重新调整到整个数据集。当 Data Wrangler 导出流程中的转换时,它会创建 SageMaker 处理作业。处理任务完成后,Data Wrangler 将以下文件保存在默认 Amazon S3 位置或您指定的 S3 位置:

  • Data Wrangler 流程文件,用于指定根据数据集重新调整的转换

  • 应用了重新调整变换的数据集

您可以在 Data Wrangler 中打开 Data Wrangler 流文件并将转换应用于不同的数据集。例如,如果您已将转换应用于训练数据集,则可以打开并使用 Data Wrangler 流文件将转换应用于用于推断的数据集。

有关使用目标节点重新调整转换和导出的信息,请参阅以下页面:

使用以下过程运行 Jupyter 笔记本来重新调整转换并导出数据。

要运行 Jupyter 笔记本并重新调整转换并导出 Data Wrangler 流程,请执行以下操作。

  1. 选择要导出的节点旁边的 +

  2. 选择 “导出到”。

  3. 选择要将数据导出到的位置。

  4. 对于refit_trained_params对象,设置refitTrue

  5. 对于字output_flow段,指定带有重新调整转换的输出流文件的名称。

  6. 运行 Jupyter 笔记本。

创建自动处理新数据的时间表

如果您定期处理数据,则可以创建计划以自动运行处理作业。例如,您可以创建一个在获得新数据时自动运行处理任务的计划。有关处理任务的更多信息,请参阅导出到 Amazon S3导出到亚马逊 SageMaker 功能商店

创建任务时,必须指定有权创建任务的 IAM 角色。默认情况下,您访问 Data Wrangler 所用的 IAM 角色位于SageMakerExecutionRole

以下权限允许 Data Wrangler 访问 EventBridge 和 EventBridge 允许运行处理作业:

  • 将以下Amazon托管策略添加到为 Data Wrangler 提供使用权限的 Amazon SageMaker Studio 执行角色 EventBridge:

    arn:aws:iam::aws:policy/AmazonEventBridgeFullAccess

    有关策略的信息,请参阅的Amazon托管策略 EventBridge

  • 将以下策略添加到您在 Data Wrangler 中创建任务时指定的 IAM 角色中:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker:StartPipelineExecution", "Resource": "arn:aws:sagemaker:Region:Amazon-account-id:pipeline/data-wrangler-*" } ] }

    如果您使用默认 IAM 角色,则将前面的策略添加到 Amazon SageMaker Studio 执行角色。

    向角色添加以下信任策略 EventBridge 以允许代入该角色。

    { "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" }
重要

当你创建时间表时,Data Wrangler 会创建一个 ieventRule n EventBridge。您创建的事件规则和用于运行处理任务的实例都需要付费。

有关 EventBridge 定价的信息,请参阅亚马逊 EventBridge 定价。有关处理任务定价的信息,请参阅亚马逊 SageMaker 定价

您可以使用以下方法之一设置计划

  • CRON 表达式

    注意

    Data Wranger 不支持以下表达式:

    • LW#

    • 天数的缩写

    • 月份的缩写

  • 速率表达式

  • 重复-设置每小时或每天的间隔来运行作业。

  • 特定时间-设置运行作业的特定日期和时间。

以下各节提供了创建任务的过程。

CRON

使用以下步骤使用 CRON 表达式创建时间表。

要使用 CRON 表达式指定时间表,请执行以下操作。

  1. 打开你的 Data Wrangler 流程。

  2. 请选择 Create job (创建任务)

  3. (可选)对于 O utp ut KMSAmazon KMS 密钥,指定用于配置任务输出的密钥。

  4. 选择 “下一步”,2。 配置作业

  5. 选择 “关联计划”。

  6. 选择创建新计划

  7. 在 “时间表名称” 中,指定时间表的名称。

  8. 对于运行频率,选择 CRON

  9. 指定有效的 CRON 表达式。

  10. 选择 Create(创建)

  11. (可选)选择 “添加其他计划” 以按其他时间表运行作业。

    注意

    您最多可关联两个计划 这些时间表是独立的,除非时间重叠,否则不会相互影响。

  12. 选择以下选项之一:

    • 立即安排并运行 — Data Wrangler 作业立即运行,随后按计划运行。

    • 仅限计划 — Data Wrangler 作业仅按您指定的时间表运行。

  13. 选择 “运行

RATE

使用以下过程创建带有 RATE 表达式的时间表。

要使用 RATE 表达式指定时间表,请执行以下操作。

  1. 打开你的 Data Wrangler 流程。

  2. 请选择 Create job (创建任务)

  3. (可选)对于 O utp ut KMSAmazon KMS 密钥,指定用于配置任务输出的密钥。

  4. 选择 “下一步”,2。 配置作业

  5. 选择 “关联计划”。

  6. 选择创建新计划

  7. 在 “时间表名称” 中,指定时间表的名称。

  8. 对于 “运行频率”,选择 “速率”。

  9. 对于 “”,指定一个整数。

  10. 对于单位,选择以下选项之一:

    • 分钟

    • 小时

    • 天数

  11. 选择 Create(创建)

  12. (可选)选择 “添加其他计划” 以按其他时间表运行作业。

    注意

    您最多可关联两个计划 这些时间表是独立的,除非时间重叠,否则不会相互影响。

  13. 选择以下选项之一:

    • 立即安排并运行 — Data Wrangler 作业立即运行,随后按计划运行。

    • 仅限计划 — Data Wrangler 作业仅按您指定的时间表运行。

  14. 选择 “运行

Recurring

使用以下步骤创建定期运行作业的计划。

要使用 CRON 表达式指定时间表,请执行以下操作。

  1. 打开你的 Data Wrangler 流程。

  2. 请选择 Create job (创建任务)

  3. (可选)对于 O utp ut KMSAmazon KMS 密钥,指定用于配置任务输出的密钥。

  4. 选择 “下一步”,2。 配置作业

  5. 选择 “关联计划”。

  6. 选择创建新计划

  7. 在 “时间表名称” 中,指定时间表的名称。

  8. 对于 “运行频率”,确保默认情况下选择 “循环”。

  9. 对于每 x 小时,指定作业在一天中运行的每小时频率。有效值是介于1和范围内的整数23

  10. 对于日期,请选择以下选项之一:

    • 每天

    • 周末

    • 平日

    • 选择天数

    1. (可选)如果您选择了选择天数,请选择一周中的几天来运行作业。

    注意

    日程安排每天都会重置。如果您将作业安排为每五小时运行一次,则该作业将在一天中的以下时间运行:

    • 00:00

    • 05:00

    • 10:00

    • 15:00

    • 20:00

  11. 选择 Create(创建)

  12. (可选)选择 “添加其他计划” 以按其他时间表运行作业。

    注意

    您最多可关联两个计划 这些时间表是独立的,除非时间重叠,否则不会相互影响。

  13. 选择以下选项之一:

    • 立即安排并运行 — Data Wrangler 作业立即运行,随后按计划运行。

    • 仅限计划 — Data Wrangler 作业仅按您指定的时间表运行。

  14. 选择 “运行

Specific time

使用以下过程创建在特定时间运行任务的计划。

要使用 CRON 表达式指定时间表,请执行以下操作。

  1. 打开你的 Data Wrangler 流程。

  2. 请选择 Create job (创建任务)

  3. (可选)对于 O utp ut KMSAmazon KMS 密钥,指定用于配置任务输出的密钥。

  4. 选择 “下一步”,2。 配置作业

  5. 选择 “关联计划”。

  6. 选择创建新计划

  7. 在 “时间表名称” 中,指定时间表的名称。

  8. 选择 Create(创建)

  9. (可选)选择 “添加其他计划” 以按其他时间表运行作业。

    注意

    您最多可关联两个计划 这些时间表是独立的,除非时间重叠,否则不会相互影响。

  10. 选择以下选项之一:

    • 立即安排并运行 — Data Wrangler 作业立即运行,随后按计划运行。

    • 仅限计划 — Data Wrangler 作业仅按您指定的时间表运行。

  11. 选择 “运行

您可以使用 Amazon SageMaker Studio 查看计划运行的任务。您的处理任务在 SageMaker 管道中运行。每个处理作业都有自己的流水线。它在管道内作为处理步骤运行。您可以查看在管道中创建的计划。有关查看管道的信息,请参阅查看管道

使用以下过程查看您调度的作业。

要查看您调度的作业,请执行以下操作。

  1. 打开亚马逊 SageMaker 工作室。

  2. 开放 SageMaker 管道

  3. 查看您创建的任务的管道。

    运行作业的管道使用作业名称作为前缀。例如,如果您创建了名为的任务housing-data-feature-enginnering,则管道的名称为data-wrangler-housing-data-feature-engineering

  4. 选择包含您的任务的管道。

  5. 查看管道的状态。状态为 “成功” 的管道已成功运行处理作业。

要停止处理作业的运行,请执行以下操作:

要停止处理作业的运行,请删除指定时间表的事件规则。删除事件规则会使与该计划关联的所有作业停止运行。有关删除规则的信息,请参阅禁用或删除亚马逊 EventBridge 规则

您也可以停止和删除与时间表关联的管道。有关停止管道的信息,请参阅StopPipelineExecution。有关将管道删除的信息,请参阅DeletePipeline