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

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

Export

在创建Data Wrangler数据流时,您可以从四个导出选项中进行选择,以轻松将该数据流集成到数据处理管道中。 Data Wrangler 提供到 SageMaker Data Wrangler Job (作业)、Pipeline (管道)、Python code (Python 代码) 和 Feature Store 的导出选项。

以下选项创建 Jupyter Notebook 以执行您的数据流并与相应的SageMaker功能集成。

  • Data Wrangler 作业

  • 管道

  • 功能存储

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

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

当您选择创建 Jupyter 笔记本并执行笔记本的导出选项时,它会将数据流(.flow 文件)导出到在其中创建数据流的 AWS 区域的默认 SageMaker S3 存储桶(位于前缀 data_wrangler_flows 下)。默认 S3 存储桶具有以下命名约定:sagemaker-region-account number。 例如,如果您的账号是 111122223333 ,并且您在 us-east-1 中使用 Studio,则导入的数据集将存储在 sagemaker-us-east-1- 111122223333中。在此示例中,您在 us-east-1 中创建的 .flow 文件存储在 s3-region-account number/data_wrangler_flows/。

重要

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

要导出 数据流,请按照以下过程操作。使用此页面上的部分可了解有关每个导出选项的更多信息。

导出Data Wrangler流:

  1. 保存您的Data Wrangler流。选择 File,然后选择 Save Data Wrangler Flow。

  2. 导航到 Export (导出) 选项卡。

  3. 选择Data Wrangler流中的最后一个步骤。

  4. 选择 Export step (导出步骤)。

  5. 选择所需的导出选项。

导出到Data Wrangler作业

如果您导出Data Wrangler作业 Jupyter Notebook,我们建议您为内核选择 Python 3 (Data Science) 并直接在 Studio 中运行它来执行数据流和处理数据。按照笔记本中的说明启动您的Data Wrangler作业。

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

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

您可以在 Data Wrangler 控制台SageMaker的 Processing (处理) 选项卡中监控作业状态。处理作业名为 data-wrangler-flow-processing-flow_id。在笔记本中使用执行笔记本的日期和时间flow_id定义 。

此外,您还可以使用 监控您的Data Wrangler作业Amazon CloudWatch。有关其他信息,请参阅使用 CloudWatch Logs 和指标https://docs.aws.amazon.com/sagemaker/latest/dg/processing-job.html#processing-job-cloudwatch监控 Amazon SageMaker 处理作业。

导出到SageMaker管道

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

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

使用 Jupyter 笔记本创建管道

Data Wrangler 生成的 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 文件,请选择 Export to Code (导出到代码) 选项。

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

导出到 SageMaker 功能存储

SageMaker Feature Store 可用于创建、共享和管理用于机器学习 (ML) 开发的辅助数据。您可以将在线和离线功能存储配置为用于 功能和相关元数据的集中存储,以便轻松发现和重复使用功能。要了解有关Data Wrangler功能存储的更多信息,请参阅 Amazon SageMaker 功能存储

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

SageMaker 生成的 Jupyter 笔记本可用于使用SageMakerData Wrangler作业处理数据集,然后将数据提取到在线和离线功能存储中。

重要

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

您只需要在创建功能组时启用一个在线或离线功能存储。(可选)您可以同时启用两者。要禁用在线存储创建,请将 EnableOnlineStore 设置为 False

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

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

功能组中的每个功能可能具有以下类型之一:String (字符串)、Sercental (分数) 或 Integral (整数)。如果导出的数据帧中的列不是这些类型之一,则默认为 String (字符串)。

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

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

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

  • 记录标识符名称是其值唯一标识在功能存储中定义的记录的功能的名称。只有每个标识符值的最新记录存储在在线存储中。记录标识符功能名称必须是功能定义的名称之一。

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

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