翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon S3 へのメトリクス属性レポートの発行
すべてのバルクデータについて、メトリクス属性の作成時に Amazon S3 バケットを指定すると、インタラクションデータのデータセットインポートジョブを作成するたびに、Amazon S3 バケットにメトリクスレポートを発行することを選択できます。
Amazon S3 にメトリクスを発行するには、メトリクス属性で Amazon S3 バケットへのパスを指定します。次に、データセットのインポートジョブを作成する際に、レポートを Amazon S3 に発行します。ジョブが完了すると、Amazon S3 バケット内のメトリクスを見つけることができます。メトリクスを発行するたびに、Amazon Personalize は Amazon S3 バケットに新しいファイルを作成します。ファイル名には、次のようなインポート方法と日付が含まれます。
AggregatedAttributionMetrics - ImportMethod
-
Timestamp
.csv
以下は、メトリクスレポートCSVファイルの最初の数行がどのように表示されるかの例です。この例のメトリクスは、2 人の異なるレコメンダーによる 15 分間隔での合計クリック数を報告しています。各レコメンダーは、EVENT_ATTRIBUTION_SOURCE 列の Amazon リソースネーム (ARN) によって識別されます。
METRIC_NAME,EVENT_TYPE,VALUE,MATH_FUNCTION,EVENT_ATTRIBUTION_SOURCE,TIMESTAMP
COUNTWATCHES,WATCH,12.0,samplecount,arn:aws:personalize:us-west-2:acctNum:recommender/recommender1Name,1666925124
COUNTWATCHES,WATCH,112.0,samplecount,arn:aws:personalize:us-west-2:acctNum:recommender/recommender2Name,1666924224
COUNTWATCHES,WATCH,10.0,samplecount,arn:aws:personalize:us-west-2:acctNum:recommender/recommender1Name,1666924224
COUNTWATCHES,WATCH,254.0,samplecount,arn:aws:personalize:us-west-2:acctNum:recommender/recommender2Name,1666922424
COUNTWATCHES,WATCH,112.0,samplecount,arn:aws:personalize:us-west-2:acctNum:recommender/recommender1Name,1666922424
COUNTWATCHES,WATCH,100.0,samplecount,arn:aws:personalize:us-west-2:acctNum:recommender/recommender2Name,1666922424
......
.....
バルクデータのメトリクスを Amazon S3 (コンソール) に発行する
Amazon Personalize コンソールで Amazon S3 バケットにメトリクスを発行するには、データセットのインポートジョブを作成し、[イベントメトリクスを S3 に公開する] で [このインポートジョブのメトリクスを公開] を選択します。
step-by-step 手順については、「」を参照してくださいデータセットのインポートジョブの作成 (コンソール)。
バルクデータのメトリクスを Amazon S3 に発行する (AWS CLI)
AWS Command Line Interface (AWS CLI) を使用して Amazon S3 バケットにメトリクスを発行するには、次のコードを使用してデータセットのインポートジョブを作成し、 publishAttributionMetricsToS3
フラグを指定します。特定のジョブのメトリクスを発行しない場合は、フラグを省略します。各パラメータについては、「CreateDatasetImportJob」を参照してください。
aws personalize create-dataset-import-job \
--job-name dataset import job name
\
--dataset-arn dataset arn
\
--data-source dataLocation=s3://amzn-s3-demo-bucket
/filename
\
--role-arn roleArn
\
--import-mode INCREMENTAL
\
--publish-attribution-metrics-to-s3
Amazon S3 へのバルクデータのメトリクスの発行 (AWS SDKs)
を使用して Amazon S3 バケットにメトリクスを発行するには AWS SDKs、データセットのインポートジョブを作成し、true publishAttributionMetricsToS3
に設定します。各パラメータについては、「CreateDatasetImportJob」を参照してください。
- SDK for Python (Boto3)
-
import boto3
personalize = boto3.client('personalize')
response = personalize.create_dataset_import_job(
jobName = 'YourImportJob
',
datasetArn = 'dataset_arn
',
dataSource = {'dataLocation':'s3://amzn-s3-demo-bucket/file.csv
'},
roleArn = 'role_arn
',
importMode = 'INCREMENTAL',
publishAttributionMetricsToS3 = True
)
dsij_arn = response['datasetImportJobArn']
print ('Dataset Import Job arn: ' + dsij_arn)
description = personalize.describe_dataset_import_job(
datasetImportJobArn = dsij_arn)['datasetImportJob']
print('Name: ' + description['jobName'])
print('ARN: ' + description['datasetImportJobArn'])
print('Status: ' + description['status'])
- SDK for Java 2.x
-
public static String createPersonalizeDatasetImportJob(PersonalizeClient personalizeClient,
String jobName,
String datasetArn,
String s3BucketPath,
String roleArn,
ImportMode importMode,
boolean publishToS3) {
long waitInMilliseconds = 60 * 1000;
String status;
String datasetImportJobArn;
try {
DataSource importDataSource = DataSource.builder()
.dataLocation(s3BucketPath)
.build();
CreateDatasetImportJobRequest createDatasetImportJobRequest = CreateDatasetImportJobRequest.builder()
.datasetArn(datasetArn)
.dataSource(importDataSource)
.jobName(jobName)
.roleArn(roleArn)
.importMode(importMode)
.publishAttributionMetricsToS3(publishToS3)
.build();
datasetImportJobArn = personalizeClient.createDatasetImportJob(createDatasetImportJobRequest)
.datasetImportJobArn();
DescribeDatasetImportJobRequest describeDatasetImportJobRequest = DescribeDatasetImportJobRequest.builder()
.datasetImportJobArn(datasetImportJobArn)
.build();
long maxTime = Instant.now().getEpochSecond() + 3 * 60 * 60;
while (Instant.now().getEpochSecond() < maxTime) {
DatasetImportJob datasetImportJob = personalizeClient
.describeDatasetImportJob(describeDatasetImportJobRequest)
.datasetImportJob();
status = datasetImportJob.status();
System.out.println("Dataset import job status: " + status);
if (status.equals("ACTIVE") || status.equals("CREATE FAILED")) {
break;
}
try {
Thread.sleep(waitInMilliseconds);
} catch (InterruptedException e) {
System.out.println(e.getMessage());
}
}
return datasetImportJobArn;
} catch (PersonalizeException e) {
System.out.println(e.awsErrorDetails().errorMessage());
}
return "";
}
- SDK for JavaScript v3
// Get service clients and commands using ES6 syntax.
import { CreateDatasetImportJobCommand, PersonalizeClient } from
"@aws-sdk/client-personalize";
// create personalizeClient
const personalizeClient = new PersonalizeClient({
region: "REGION"
});
// Set the dataset import job parameters.
export const datasetImportJobParam = {
datasetArn: 'DATASET_ARN', /* required */
dataSource: {
dataLocation: 's3://amzn-s3-demo-bucket/<folderName>/<CSVfilename>.csv' /* required */
},
jobName: 'NAME', /* required */
roleArn: 'ROLE_ARN', /* required */
importMode: "FULL", /* optional, default is FULL */
publishAttributionMetricsToS3: true /* set to true to publish metrics to Amazon S3 bucket */
};
export const run = async () => {
try {
const response = await personalizeClient.send(new CreateDatasetImportJobCommand(datasetImportJobParam));
console.log("Success", response);
return response; // For unit tests.
} catch (err) {
console.log("Error", err);
}
};
run();