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

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

Import

您可以使用 从以下Amazon SageMaker Data Wrangler数据源导入数据: Amazon Simple Storage Service (Amazon S3)、 Amazon Athena和 Amazon Redshift。

某些数据源允许您添加多个数据连接

  • 您可以连接到多个 Amazon Redshift 集群。每个集群成为一个数据源。

  • 您可以查询您账户中的任何Athena数据库以从该数据库导入数据。

当您从数据源导入数据集时,数据集将显示在数据流中。 自动Data Wrangler推断数据集中每个列的数据类型。要修改这些类型,请选择 Data types (数据类型) 步骤,然后选择 Edit data types (编辑数据类型)。

当您从 Athena 或 导入数据时Amazon Redshift,导入的数据会自动存储在您使用 Studio 的 AWS 区域的默认 SageMaker S3 存储桶中。此外, 会将您在 中预览的数据Athena存储在此存储桶Data Wrangler中。要了解更多信息,请参阅“导入的数据存储”。

从 导入数据 Amazon S3

Amazon Simple Storage Service (Amazon S3) 可用于随时在 Web 上的任何位置存储和检索任意数量的数据。您可以使用 (一个简单直观的 Web 界面AWS 管理控制台)和 Amazon S3 API 完成这些任务。如果您的数据集存储在本地,我们建议您将其添加到 S3 存储桶中,以便导入到 中Data Wrangler。要了解如何操作,请参阅 中的将对象上传到存储桶Amazon Simple Storage Service 开发人员指南。

Data Wrangler 使用 S3 Select 来允许您预览 中的Amazon S3文件Data Wrangler。您需要为每个文件预览支付标准费用。要了解有关 定价的更多信息,请参阅 Amazon S3 定价中的“请求和数据检索”选项卡。

重要

如果您计划导出数据流并启动Data Wrangler作业、将数据提取到SageMaker功能存储或创建SageMaker管道,请注意,这些集成要求Amazon S3输入数据位于用于设置集成的同一 AWS 区域(运行从 导出的 Jupyter Data WranglerNotebook)。

您可以使用 中的导入,浏览 AWS 账户中的所有 存储桶并导入 CSV Amazon S3 和 Parquet 文件Data Wrangler。

当您选择要导入的数据集时,您可以重命名该数据集,指定文件类型,并将第一行标识为标头。

重要

如果您计划导入 CSV 文件,请注意,单个记录不能超过多个行,否则将在导入屏幕上引发错误。

从 将数据集导入到 中Data WranglerAmazon S3:

  1. 如果您当前不在 Import (导入) 选项卡上,请选择 Import (导入)。

  2. Data Preparation (数据准备) 下,选择 Amazon S3 以查看 Import S3 Data Source (导入 S3 数据源) 视图。

  3. 从可用 S3 存储桶表中,选择一个存储桶并导航到要导入的数据集。

  4. 选择要导入的 文件。您可以导入 CSV 和 Parquet 文件。如果您的数据集没有 .csv 或 .parquet 扩展名,请从 File Type (文件类型) 下拉列表中选择数据类型。

  5. 如果您的 CSV 文件具有 标头,请选中 Add header to table (将标头添加到表) 旁边的复选框。

  6. 使用 Preview (预览) 表预览数据集。此表最多显示 100 行。

  7. Details (详细信息) 窗格中,验证或更改数据集的 Name (名称) 和 File Type (文件类型)。如果您添加的 Name (名称) 包含空格,则在导入数据集时,这些空格将替换为下划线。

  8. 默认情况下,Enable sampling (启用采样) 处于选中状态。如果不取消选中该框, Data Wrangler 将对多达 100 MB 的数据采样并导入。要禁用采样,请取消选中此复选框。

  9. 选择 Import dataset (导入数据集)。

从 导入数据 Athena

Amazon Athena 是一项交互式查询服务,可以让您轻松地使用标准 SQL 直接在 Amazon S3 中分析数据。只需在 AWS 管理控制台 中执行几项操作,即可将 Athena 指向 Amazon S3 中存储的数据,并开始使用标准 SQL 运行临时查询,然后在几秒钟内获得结果。要了解更多信息,请参阅 中的什么是 Amazon AthenaAmazon Athena 用户指南。

您可以在 中查询Athena数据库并导入结果Data Wrangler。要使用此导入选项,您必须在 中至少创建一个数据库Athena。要了解如何操作,请参阅 中的入门Amazon Athena 用户指南。

请注意有关 中的 Athena 导入选项的以下内容Data Wrangler:

  • Data Wrangler 支持使用 Athena 主工作组。不支持其他工作组。

  • Data Wrangler 不支持联合查询。

Data Wrangler 使用 Studio 实例所在的同一 AWS 区域中的默认 S3 存储桶来存储Athena查询结果。当您从 导入时Athena, 会在您的账户中Data Wrangler创建一个名为 的新数据库Athena(如果该sagemaker_data_wrangler数据库尚不存在)。将在此数据库中创建临时表以将查询输出移动到此 S3 存储桶。在导入数据后,将删除这些表,但数据库 将sagemaker_data_wrangler保留。要了解更多信息,请参阅“导入的数据存储”。

如果您将 AWS Lake Formation 与 结合使用Athena,请确保您Lake FormationIAM的权限不会覆盖数据库 IAM 的权限sagemaker_data_wrangler

要将数据集Data Wrangler从 导入到 Athena,请执行以下操作:

  1. 在导入屏幕上,选择 Amazon Athena

  2. 对于 Catalog (目录),选择 AWSDataCatalog

  3. 使用 Database (数据库) 下拉列表选择要查询的数据库。选择数据库时,您可以使用 Details (详细信息) 下列出的 Tables (表) 预览数据库中的所有

  4. 在代码框中输入查询。

  5. Advanced configuration (高级配置) 下,默认情况下选中 Enable sampling (启用采样)。如果不取消选中该框,则 将对约 50% 的查询数据Data Wrangler采样并导入。取消选中该复选框可禁用采样。

  6. 在查询编辑器中输入您的查询,并使用 Run (运行) 按钮运行查询。成功查询后,您可以在 编辑器下预览结果。

  7. 要导入查询的结果,请选择 Import dataset (导入数据集)。

  8. 输入 Dataset name (数据集名称)。如果您添加的数据集名称包含空格,则在导入数据集时,这些空格将被替换为下划线。

  9. 选择 Add (添加)。

从 导入数据 Amazon Redshift

Amazon Redshift 是一种完全托管的 PB 级云中数据仓库服务。创建数据仓库的第一步是启动一组节点(称为 Amazon Redshift 集群)。预配置集群后,您可以上传数据集,然后执行数据分析查询。

您可以连接到 并在 中查询一个或多个Amazon Redshift集群Data Wrangler。要使用此导入选项,您必须在 中至少创建一个集群Amazon Redshift。要了解如何操作,请参阅 Amazon Redshift 入门。

Data Wrangler 使用 Studio 实例所在的同一 AWS 区域中的默认 S3 存储桶来存储Amazon Redshift查询结果。要了解更多信息,请参阅“导入的数据存储”。

如果您使用 IAM 托管策略 AmazonSageMakerFullAccess授予角色Data Wrangler在 Studio 中使用的权限,则数据库用户名必须具有前缀 sagemaker_access

要了解如何添加新集群,请按照以下过程操作。

注意

Data Wrangler 使用具有临时凭证Amazon Redshift的数据 API。要了解有关此 API 的更多信息,请参阅 中的使用 Amazon Redshift 数据 Amazon Redshift Cluster Management GuideAPI。

要连接到Amazon Redshift集群,请执行以下操作:

  1. 选择 Import

  2. 选择 Add data connection (添加数据连接+) 下的 。

  3. 选择 Amazon Redshift。

  4. Type 选择临时凭证 (IAM)。

  5. 输入 Connection Name (连接名称)。这是 用来Data Wrangler标识此连接的名称。

  6. 输入 Cluster Identifier (集群标识符) 以指定要连接到的集群。

  7. 输入要连接的数据库的数据库名称

  8. 输入 Database User (数据库用户) 以标识要用于连接到数据库的用户。

  9. 对于 UNLOAD IAM Role (UNLOAD IAM IAM 角色),输入Amazon Redshift集群应该代入的用于将数据移动并写入 的角色的角色 Amazon S3ARN。有关此角色的更多信息,请参阅 中的授权 Amazon Redshift 代表您访问其他 AWS 服务Amazon Redshift Cluster Management Guide。

  10. 选择 Connect

连接成功建立后,它在数据导入下显示为数据源。选择此数据源以查询数据库并导入数据。

从 Redshift 查询和导入数据:

  1. 选择要从数据源查询的连接。

  2. 选择 Schema (架构)。要了解有关 Redshift 架构的更多信息,请参阅 中的架构Amazon Redshift Database Developer Guide。

  3. Advanced configuration (高级配置) 下,默认情况下选中 Enable sampling (启用采样)。如果不取消选中此框,则 将对约 50% 的查询数据Data Wrangler采样并导入。取消选中该复选框可禁用采样。

  4. 在查询编辑器中输入您的查询,并使用 Run (运行) 按钮运行查询。成功查询后,您可以在 编辑器下预览结果。

  5. 选择 Import dataset (导入数据集) 以导入已查询的数据集。

  6. 输入 Dataset name (数据集名称)。如果您添加的数据集名称包含空格,则在导入数据集时,这些空格将被替换为下划线。

  7. 选择 Add (添加)。

导入的数据存储

当您从 Amazon Athena 或 查询数据时Amazon Redshift,查询的数据集会自动存储在 中Amazon S3。数据存储在您使用 Studio 的 AWS 区域的默认 SageMaker S3 存储桶中。

默认 S3 存储桶具有以下命名约定:sagemaker-region-account number。 例如,如果您的账号是 111122223333 ,并且您在 us-east-1 中使用 Studio,则导入的数据集将存储在 sagemaker-us-east-1- 111122223333中。

Data Wrangler 流取决于此 S3 数据集位置,因此在使用从属流Amazon S3时,您不应在 中修改此数据集。如果您修改此 S3 位置,并且要继续使用您的数据流,则必须删除 .flow 文件trained_parameters中的所有对象。为此,请从 Studio 下载 .flow 文件,对于 的每个实例trained_parameters,删除所有条目。完成后, trained_parameters 应为空 JSON 对象:

"trained_parameters": {}

当您导出 并使用数据流处理数据时,您导出的 .flow 文件引用 中的此数据集Amazon S3。要了解更多信息,请参阅以下部分。

Amazon Redshift 导入存储

Data Wrangler 将查询生成的数据集存储在默认 SageMaker S3 存储桶的 Parquet 文件中。

此文件存储在以下前缀 (文件夹):redshift/uuid/data/,其中 uuid 是为每个查询创建的唯一标识符。

例如,如果您的默认存储桶是 sagemaker-us-east-1-111122223333,Amazon Redshift则从 查询的单个数据集位于 s3://sagemaker-us-east-1-111122223333/redshift/uuid/data/。

Amazon Athena 导入存储

当您查询 Athena 数据库并导入数据集时, 会将数据集以及该数据集的子集(即Data Wrangler预览文件存储在 中Amazon S3。

通过选择 Import dataset (导入数据集) 导入的数据集以 Parquet 格式存储在 中Amazon S3。

当您选择 Run on the Athena import screen (在导入屏幕上运行) 时,预览文件将以 CSV 格式写入,并且最多可包含查询的数据集中的 100 行。

您查询的数据集位于前缀 (文件夹):athena/uuid/data/,其中 uuid 是为每个查询创建的唯一标识符。

例如,如果您的默认存储桶是 sagemaker-us-east-1-111122223333,Athena则从 查询的单个数据集位于 s3://sagemaker-us-east-1-111122223333/redshift/uuid/data/example_dataset.parquet.

存储在 中以预览数据帧的数据集子集Data Wrangler存储在前缀 athena/ 下。