第 1 步:创建自定义数据集组 - Amazon Personalize
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

第 1 步:创建自定义数据集组

一个自定义数据集组是 Amazon Personalize 组件和自定义资源的容器,包括数据集、事件跟踪器、解决方案、筛选器、活动和批量推理任务。数据集组将资源组织到独立的集合中,因此一个数据集组中的资源不会影响任何其他数据集组中的资源。

例如,您可能有一个提供流式传输视频的推荐的应用程序,还有一个提供有声读物推荐的应用程序。在 Amazon Personalize 中,每个应用程序都有自己的数据集组。您可以使用 Amazon Personalize 控制台创建数据集组,Amazon Command Line Interface(Amazon CLI) 或Amazon开发工具包。

创建数据集组(控制台)

通过在 Amazon Personalize 控制台中指定数据集组名称来创建数据集组。

创建数据集组

  1. 从打开 Amazon Personalize 控制台https://console.aws.amazon.com/personalize/home并登录您的账户。

  2. 选择 Create dataset group (创建数据集组)

  3. 如果这是您第一次使用 Amazon Personalize,请在创建数据集组页面,新数据集组,选择试用.

  4. Dataset group details (数据集组详细信息) 中,对于 Dataset group name (数据集组名称),为您的数据集组指定一个名称。

  5. 适用于选择Custom (自定义).

  6. 选择 Next(下一步)。这些区域有:创建用户项目交互数据页面随即显示。现在,您已准备好将具有关联架构的数据集添加到数据集组中。请参阅 创建数据集和架构(控制台)

创建数据集组 (Amazon CLI)

使用以下命令创建数据集组。有关 CreateDatasetGroup API 操作的更多信息,请参阅CreateDatasetGroupAPI 参考部分。

aws personalize create-dataset-group --name dataset group name

此时将显示数据集组 Amazon 资源名称 (ARN),如以下示例所示。

{ "datasetGroupArn": "arn:aws:personalize:us-west-2:acct-id:dataset-group/DatasetGroupName" }

记录此值供将来使用。要显示您创建的数据集组,请使用describe-dataset-group命令并指定返回的数据集组 ARN。

aws personalize describe-dataset-group \ --dataset-group-arn dataset group arn

此时将显示数据集组及其属性,如以下示例所示。

{ "datasetGroup": { "name": "DatasetGroupName", "datasetGroupArn": "arn:aws:personalize:us-west-2:acct-id:dataset-group/DatasetGroupName", "status": "ACTIVE", "creationDateTime": 1542392161.262, "lastUpdatedDateTime": 1542396513.377 } }

当数据集组的status处于活动状态,请继续创建数据集和架构 (Amazon CLI).

创建数据集组 (Amazon开发工具包)

以下代码演示如何使用Amazon SDK for Python (Boto3)或 SDK for Java 2.x。有关 API 操作的更多信息,请参阅CreateDatasetGroupAPI 参考部分。

SDK for Python (Boto3)
import boto3 personalize = boto3.client('personalize') response = personalize.create_dataset_group(name = 'dataset group name') dsg_arn = response['datasetGroupArn'] description = personalize.describe_dataset_group(datasetGroupArn = dsg_arn)['datasetGroup'] print('Name: ' + description['name']) print('ARN: ' + description['datasetGroupArn']) print('Status: ' + description['status'])
SDK for Java 2.x
public static void createDatasetGroup(PersonalizeClient personalizeClient, String datasetGroupName) { long waitInMilliseconds = 60 * 1000; try { CreateDatasetGroupRequest createDatasetGroupRequest = CreateDatasetGroupRequest.builder() .name(datasetGroupName) .build(); String datasetGroupArn = personalizeClient.createDatasetGroup(createDatasetGroupRequest) .datasetGroupArn(); long maxTime = Instant.now().getEpochSecond() + (15 * 60); // 15 minutes DescribeDatasetGroupRequest describeRequest = DescribeDatasetGroupRequest.builder() .datasetGroupArn(datasetGroupArn) .build(); String status = null; while (Instant.now().getEpochSecond() < maxTime) { status = personalizeClient.describeDatasetGroup(describeRequest) .datasetGroup() .status(); System.out.println("DatasetGroup status:" + status); if (status.equals("ACTIVE") || status.equals("CREATE FAILED")) { break; } try { Thread.sleep(waitInMilliseconds); } catch (InterruptedException e) { System.out.println(e.getMessage()); } } } catch(PersonalizeException e) { System.out.println(e.awsErrorDetails().errorMessage()); } }

这些区域有:DescribeDatasetGroup操作将返回datasetGroupArn以及操作的状态。当数据集组的status处于活动状态,请继续创建数据集和架构 (Amazon开发工具包).