本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon Personalize 中创建数据集导出作业
您可以使用 Amazon Personalize 控制台创建数据集导出任务, AWS Command Line Interface (AWS CLI) 或 AWS SDKs。
创建数据集导出作业(控制台)
将数据导入数据集并创建输出 Amazon S3 存储桶后,您可以将数据导出到存储桶进行分析。要使用 Amazon Personalize 控制台导出数据集,您需要创建数据集导出作业。有关创建 Amazon S3 存储桶的信息,请参阅《Amazon Simple Storage Service 用户指南》中的创建存储桶。
在导出数据集之前,确保您的 Amazon Personalize 服务角色可以访问和写入您的输出 Amazon S3 存储桶。请参阅 数据集导出作业权限要求。
创建数据集导出作业(控制台)
-
在https://console.aws.amazon.com/personalize/家
中打开 Amazon Personalize 控制台。 -
在导航窗格中,选择数据集组。
-
在数据集组页面,选择您的数据集组。
-
在导航窗格中,选择数据集。
-
选择要导出到 Amazon S3 存储桶的数据集。
-
在数据集导出作业中,选择创建数据集导出作业。
-
在数据集导出作业详细信息中,对于数据集导出作业名称,输入导出作业的名称。
-
对于 IAM 服务角色,选择您在为 Amazon Personalize 创建 IAM 角色中创建的 Amazon Personalize 服务角色。
-
对于 Amazon S3 数据输出路径,输入目标 Amazon S3 存储桶。使用以下语法:
s3://amzn-s3-demo-bucket/<folder path>
-
如果您使用 AWS KMS 加密,请在 KMS 密钥 ARN 中输入密钥的亚马逊资源名称 (ARN)。 AWS KMS
-
对于导出数据类型,根据您最初导入数据的方式,选择要导出的数据类型。
-
选择批量,仅导出使用数据集导入作业批量导入的数据。
-
选择增量,仅导出您使用控制台或者
PutEvents
、PutUsers
或PutItems
操作单独导入的数据。 -
选择两者,导出数据集中的所有数据。
-
-
对于标签,可以选择添加任何标签。有关标记 Amazon Personalize 资源的更多信息,请参阅为 Amazon Personalize 资源添加标签。
-
选择创建数据集导出作业。
在数据集概述页面的数据集导出作业中,作业以导出作业状态列出。当状态为活动时,表示数据集导出作业完成。然后,您可以从输出 Amazon S3 存储桶中下载数据。有关从 Amazon S3 存储桶下载对象的信息,请参阅《Amazon Simple Storage Service 用户指南》中的下载对象。
创建数据集导出作业 (AWS CLI)
将数据导入数据集并创建输出 Amazon S3 存储桶后,您可以将数据集导出到存储桶进行分析。要使用导出数据集 AWS CLI,请使用create-dataset-export-job
AWS CLI 命令创建数据集导出任务。有关创建 Amazon S3 存储桶的信息,请参阅《Amazon Simple Storage Service 用户指南》中的创建存储桶。
在导出数据集之前,确保 Amazon Personalize 服务角色可以访问和写入您的输出 Amazon S3 存储桶。请参阅 数据集导出作业权限要求。
以下是 create-dataset-export-job
AWS CLI 命令的示例。为作业命名,将 dataset arn
替换为要导出的数据集的 Amazon 资源名称 (ARN),然后将 role ARN
替换为您在为 Amazon Personalize 创建 IAM 角色中创建的 Amazon Personalize 服务角色的 ARN。在中 s3DataDestination
kmsKeyArn
,可以选择为您的 AWS KMS 密钥提供 ARN,为path
提供输出 Amazon S3 存储桶的路径。
对于 ingestion-mode
,通过以下选项指定要导出的数据:
-
指定
BULK
,仅导出使用数据集导入作业批量导入的数据。 -
指定仅导
PUT
出您使用控制台或PutEvents
PutUsers、或PutItems
操作单独导入的数据。 -
指定
ALL
,导出数据集中的所有数据。
有关更多信息,请参阅 CreateDatasetExportJob。
aws personalize create-dataset-export-job \
--job-name job name
\
--dataset-arn dataset ARN
\
--job-output "{\"s3DataDestination\":{\"kmsKeyArn\":\"kms key ARN
\",\"path\":\"s3://amzn-s3-demo-bucket
/folder-name
/\"}}" \
--role-arn role ARN
\
--ingestion-mode PUT
这时,将显示数据集导出作业 ARN。
{
"datasetExportJobArn": "arn:aws:personalize:us-west-2:acct-id:dataset-export-job/DatasetExportJobName"
}
使用 DescribeDatasetExportJob
操作检查状态。
aws personalize describe-dataset-export-job \ --dataset-export-job-arn
dataset export job ARN
创建数据集导出作业 (AWS SDKs)
将数据导入数据集并创建输出 Amazon S3 存储桶后,您可以将数据集导出到存储桶进行分析。要使用导出数据集 AWS SDKs,请使用CreateDatasetExportJob操作创建数据集导出任务。有关创建 Amazon S3 存储桶的信息,请参阅《Amazon Simple Storage Service 用户指南》中的创建存储桶。
以下代码演示了如何使用 SDK for Python (Boto3) 或 SDK for Java 2.x SDK 创建数据集导出作业。
在导出数据集之前,确保 Amazon Personalize 服务角色可以访问和写入您的输出 Amazon S3 存储桶。请参阅 数据集导出作业权限要求。
使用以下 create_dataset_export_job
,将数据集中的数据导出到 Amazon S3 存储桶。为作业命名,将 dataset arn
替换为要导出的数据集的 Amazon 资源名称 (ARN),然后将 role ARN
替换为您在为 Amazon Personalize 创建 IAM 角色中创建的 Amazon Personalize 服务角色的 ARN。在中 s3DataDestination
kmsKeyArn
,可以选择为您的 AWS KMS 密钥提供 ARN,为path
提供输出 Amazon S3 存储桶的路径。
对于 ingestionMode
,通过以下选项指定要导出的数据:
-
指定
BULK
,仅导出使用数据集导入作业批量导入的数据。 -
指定仅导
PUT
出您使用控制台或PutEvents
PutUsers、或PutItems
操作单独导入的数据。 -
指定
ALL
,导出数据集中的所有数据。
import boto3
personalize = boto3.client('personalize')
response = personalize.create_dataset_export_job(
jobName = 'job name
',
datasetArn = 'dataset ARN
',
jobOutput = {
"s3DataDestination": {
"kmsKeyArn": "kms key ARN
",
"path": "s3://amzn-s3-demo-bucket/folder-name/
"
}
},
roleArn = 'role ARN
',
ingestionMode = 'PUT
'
)
dsej_arn = response['datasetExportJobArn']
print ('Dataset Export Job arn: ' + dsej_arn)
description = personalize.describe_dataset_export_job(
datasetExportJobArn = dsej_arn)['datasetExportJob']
print('Name: ' + description['jobName'])
print('ARN: ' + description['datasetExportJobArn'])
print('Status: ' + description['status'])