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

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

Export

创建 Data Wrangler 数据流时,您可以从四个导出选项中进行选择,以便轻松地将该数据流集成到您的数据处理管道中。数据牧羊人为 SageMaker 提供导出选项数据牧师 Job管道python 代码功能存储Amazon S3.

以下选项创建 Jupyter 笔记本,以运行数据流并与相应的 SageMaker 功能集成。

  • 数据牧师 Job

  • 管道

  • 功能存储

  • Amazon S3

对于这些选项,您可以选择要导出的数据流中的一个或多个步骤。选择某个步骤时,也会导出所有下游步骤。例如,如果您在数据流中定义了七个连续步骤,并且选择导出第 7 步,则代码将导出为运行步骤 1 到步骤 7。当您选择这些导出选项之一时,Jupyter 笔记本会自动打开,并且您可以使用Python 3 (数据科学)内核。

如果您选择python 代码,则会创建一个包含数据流中所有步骤的 Python 文件。

当您选择创建 Jupyter 笔记本的导出选项并运行笔记本时,它会将您的数据流(.flow 文件)导出到默认 SageMaker S3 存储桶,用于Amazon创建数据流的区域,位于前缀数据工作流. 默认 S3 存储桶具有以下命名约定:sageMaker-区域-账号. 例如,如果您的帐户号为 111122223333,并且您在 us-east-1 中使用 Studio,则导入的数据集存储在sagemaker-us-east-1-111122223333. 在此示例中,在 us-east-1 中创建的 .flow 文件存储在 s3: //sagemaker-区域-账号/数据_ 牧人 _ 流量/.

重要

如果您不使用 IAM 托管策略,AmazonSageMakerFullAccess,授予Amazon角色使用 Data Wrangler 的权限,请确保您授予这些角色访问此存储桶的权限。请参阅安全和权限,了解可用于授予这些权限的示例 IAM 策略。

可使用以下过程导出数据流。可以使用此页面上的部分了解有关每种导出选项的更多信息。

要导出数据工作者流,请执行以下操作:

  1. 保存您的数据牧师流程。SelectFile (文件),然后选择保存数据牧场流.

  2. 导航到Export选项卡。

  3. 选择数据牧师流程中的最后一个步骤。

  4. 选择导出步骤.

  5. 选择所需的导出选项。选择导出选项后,数据牧羊人会生成一个 Jupyter 笔记本。

导出到数据 Job 者作业

导出数据工作者作业时,数据工作者会生成 Jupyter 笔记本。您运行笔记本将数据工作者流导出到处理作业。对于笔记本电脑,数据牧羊人会自动选择Python 3(数据科学)作为内核. 按照笔记本中的说明启动 Data Wrangler 作业。

数据 Wrangler 使用处理作业来处理您的数据。您可以使用ml.m5.4xlml.m5.12xl, 和ml.m5.24xl实例并支持一个实例计数。默认情况下,从 Data Wrangler 导出的笔记本设置以下instance_countinstance_type

instance_count = 1 instance_type = "ml.m5.xlarge"

您可以在SageMaker 控制台中的处理选项卡。处理作业名为data-wrangler-flow-processing-flow_id. 这些区域有:flow_id使用笔记本运行的日期和时间在笔记本中定义。

此外,您还可以使用亚马逊 CloudWatch 监控您的数据牧师作业。有关其他信息,请参阅使用 CloudWatch Logs 和指标监控 Amazon SageMaker 处理作业.

导出到 SageMaker 管线

当您想要构建和部署大规模机器学习工作流时,可以使用 SageMaker ML 管道创建端到端工作流,以管理和部署 SageMaker 作业。使用 ML 管道,您可以构建用于管理 SageMaker 数据准备、模型培训和建模部署作业的工作流。因此,您可以利用 SageMaker 提供的第一方算法。要了解有关 SageMaker 管道的更多信息,请参阅SageMaker 管道.

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

使用 Jupyter 笔记本创建管道

数据工匠生成的 Jupyter 笔记本可用于定义管线。管道包括由数据流定义的数据处理步骤。

您可以通过将步骤添加到管道中的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 管线.

导出到 Python 代码

要将数据流中的所有步骤导出到可以手动集成到任何数据处理工作流中的 Python 文件,请选择导出到代码选项。

您可能需要配置 Python 脚本以使其可运行。例如,您可能需要修改 Spark 环境,并确保您正在从有权访问Amazon资源的费用。

导出到 SageMaker 功能商店

SageMaker 功能存储可用于创建、共享和管理用于机器学习 (ML) 开发的精选数据。您可以将联机和离线 feature store 配置为要素和关联元数据的集中存储,以便轻松发现和重用要素。要了解有关 Data Wrangler feature store 的详细信息,请参阅Amazon SageMaker 功能商店.

使用 Jupyter 笔记本将功能添加到要素存储

SageMaker 生成的 Jupyter 笔记本可用于使用 SageMaker 数据牧师作业处理数据集,然后将数据引入到在线和离线 feature store 中。

重要

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

创建要素组时,只需启用一个在线或离线要 feature store。您可以选择同时启用两者。要禁用在线商店创建,请将EnableOnlineStoreFalse

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

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

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

以下是要素组架构的示例。

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功能组中记录的。网络 ACL 和安全组都允许 (因此可到达您的实例) 的发起 ping 的EventTime是发生新事件的时间点,该事件对应于要素中的创建或更新。要素组中的所有记录必须具有一个对应的EventTime.

笔记本使用这些配置创建要素组、大规模处理数据,然后将处理过的数据引入到联机和离线要素存储中。要了解更多信息,请参阅数据源和引入.

导出到 Amazon S3。

Data Wrangler 允许您将数据直接导出到 Amazon S3 存储桶。

将您的数据保存到 Amazon S3

  1. 将数据导入数据 Wrangler 之后,选择导出数据准备选项卡保存您正在查看的当前转换的数据集。

  2. 网络 ACL 和安全组都允许 (因此可到达您的实例) 的发起 ping 的导出数据屏幕将显示如以下屏幕截图所示。您可以将您的数据保存到默认 Amazon S3 存储桶。您还可以使用搜索栏修改和选择 Amazon S3 存储桶路径。您可以选择不同的选项文件类型分隔符, 和压缩. 完成设置存储桶路径和选项后,选择导出数据.

  3. 将出现一个进度条,以显示数据导出的状态。成功导出并保存到 Amazon S3 存储桶后,将显示成功屏幕,如以下屏幕截图所示。