Aktualisierung vorhandener Massendaten - Amazon Personalize

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Aktualisierung vorhandener Massendaten

Wenn Sie zuvor einen Datensatz-Importauftrag für einen Datensatz erstellt haben, können Sie einen anderen Importjob verwenden, um die vorhandenen Massendaten zu ergänzen oder zu ersetzen. Standardmäßig ersetzt ein Datensatz-Importjob alle vorhandenen Daten in dem Datensatz, den Sie in großen Mengen importiert haben. Sie können die neuen Datensätze stattdessen an bestehende Daten anhängen, indem Sie den Importmodus des Jobs ändern.

Um mit einem Datensatz-Importjob Daten an einen Datensatz mit Artikelinteraktionen oder einen Datensatz mit Aktionsinteraktionen anzuhängen, müssen Sie über mindestens 1000 neue Datensätze für Artikelinteraktionen oder Aktionsinteraktionen verfügen.

Wenn Sie bereits einen Empfehlungsgeber erstellt oder eine benutzerdefinierte Lösungsversion mit einer Kampagne bereitgestellt haben, hängt die Art und Weise, wie sich neue Masseneinträge auf Empfehlungen auswirken, vom verwendeten Domain-Anwendungsfall oder Rezept ab. Weitere Informationen finden Sie unter Wie neue Daten Empfehlungen in Echtzeit beeinflussen.

Filtern Sie Updates nach Bulk-Datensätzen

Innerhalb von 20 Minuten nach Abschluss eines Massenimports aktualisiert Amazon Personalize alle Filter, die Sie in der Datensatzgruppe erstellt haben, mit Ihren neuen Massendaten. Mit diesem Update kann Amazon Personalize die neuesten Daten verwenden, um Empfehlungen für Ihre Benutzer zu filtern.

Modi importieren

Um zu konfigurieren, wie Amazon Personalize Ihre neuen Datensätze zu Ihrem Datensatz hinzufügt, geben Sie einen Importmodus für Ihren Datensatz-Importjob an:

  • Um alle vorhandenen Massendaten in Ihrem Datensatz zu überschreiben, wählen Sie in der Amazon Personalize Personalize-Konsole die Option Bestehende Daten ersetzen oder FULL im CreateDatasetImportJob API-Vorgang angeben. Dadurch werden keine Daten ersetzt, die Sie einzeln importiert haben, einschließlich Ereignisse, die in Echtzeit aufgezeichnet wurden.

  • Um die Datensätze an die vorhandenen Daten in Ihrem Datensatz anzuhängen, wählen Sie Zu vorhandenen Daten hinzufügen oder INCREMENTAL im CreateDatasetImportJob API-Vorgang angeben aus. Amazon Personalize ersetzt jeden Datensatz mit derselben ID durch den neuen.

    Um mit einem Datensatz-Importjob Daten an einen Datensatz mit Artikelinteraktionen oder Aktionsinteraktionen anzuhängen, benötigen Sie mindestens 1000 neue Datensätze für Artikelinteraktionen oder Aktionsinteraktionen.

Wenn Sie keine Massendatensätze importiert haben, ist die Option Zu vorhandenen Daten hinzufügen in der Konsole nicht verfügbar, und Sie können sie nur FULL im CreateDatasetImportJob API-Vorgang angeben. Die Standardeinstellung ist ein vollständiger Ersatz.

Aktualisierung von Massendatensätzen (Konsole)

Wichtig

Standardmäßig ersetzt ein Datensatz-Importjob alle vorhandenen Daten in dem Datensatz, den Sie in großen Mengen importiert haben. Sie können dies ändern, indem Sie den Importmodus des Jobs angeben.

Um Massendaten mit der Amazon Personalize-Konsole zu aktualisieren, erstellen Sie einen Datensatz-Importjob für den Datensatz und geben Sie einen Importmodus an.

Um Massendatensätze zu aktualisieren (Konsole)
  1. Öffnen Sie die Amazon Personalize Personalize-Konsole unter https://console.aws.amazon.com/personalize/home und melden Sie sich bei Ihrem Konto an.

  2. Wählen Sie auf der Seite Datensatzgruppen Ihre Datensatzgruppe aus.

  3. Wählen Sie im Navigationsbereich Datensätze aus.

  4. Wählen Sie auf der Seite Datensätze den Datensatz aus, den Sie aktualisieren möchten.

  5. Wählen Sie unter Jobs zum Importieren von Datensätzen die Option Datensatz-Importjob erstellen aus.

  6. Geben Sie unter Jobdetails importieren unter Name des Datensatz-Import-Jobs einen Namen für Ihren Importjob an.

  7. Wählen Sie für den Importmodus aus, wie der Datensatz aktualisiert werden soll. Wählen Sie entweder Bestehende Daten ersetzen oder Zu vorhandenen Daten hinzufügen. Weitere Informationen finden Sie unter Modi importieren.

  8. Geben Sie unter Eingabequelle für S3 Location an, wo Ihre Datendatei in Amazon S3 gespeichert ist. Verwenden Sie die folgende Syntax:

    s3://<name of your S3 bucket>/<folder path>/<CSV file name>

    Wenn sich Ihre CSV-Dateien in einem Ordner in Ihrem S3-Bucket befinden und Sie mit einem Datensatz-Importauftrag mehrere CSV-Dateien in einen Datensatz hochladen möchten, verwenden Sie diese Syntax ohne den CSV-Dateinamen.

  9. Wählen Sie in der IAM-Rolle aus, ob Sie entweder eine neue Rolle erstellen oder eine vorhandene verwenden möchten. Wenn Sie die Voraussetzungen erfüllt haben, wählen Sie Bestehende Servicerolle verwenden aus und geben Sie die Rolle an, in Erstellen einer IAM-Rolle für Amazon Personalize der Sie sie erstellt haben.

  10. Fügen Sie für Tags optional beliebige Tags hinzu. Weitere Informationen zum Taggen von Amazon Personalize Personalize-Ressourcen finden Sie unter. Markieren von Amazon-Personalize-Ressourcen

  11. Wählen Sie Finish (Abschließen). Der Datenimport-Job wird gestartet und die Datensatz-Übersichtsseite wird angezeigt. Der Datensatz-Import ist abgeschlossen, wenn der Status AKTIV ist.

Massendatensätze werden aktualisiert (AWS CLI)

Wichtig

Standardmäßig ersetzt ein Datensatz-Importjob alle vorhandenen Daten in dem Datensatz, den Sie in großen Mengen importiert haben. Sie können dies ändern, indem Sie den Importmodus des Jobs angeben.

Verwenden Sie den create-dataset-import-job Befehl, um Massendaten zu aktualisieren. Geben Sie für die FULL animport-mode, ob vorhandene Daten ersetzt oder INCREMENTAL erweitert werden sollen. Weitere Informationen finden Sie unter Modi importieren.

Der folgende Code zeigt, wie Sie einen Datensatz-Importjob erstellen, der inkrementell Daten in einen Datensatz importiert.

aws personalize create-dataset-import-job \ --job-name dataset import job name \ --dataset-arn dataset arn \ --data-source dataLocation=s3://bucketname/filename \ --role-arn roleArn \ --import-mode INCREMENTAL

Aktualisierung von Massendatensätzen (AWSSDKs)

Wichtig

Standardmäßig ersetzt ein Datensatz-Importjob alle vorhandenen Daten in dem Datensatz, den Sie in großen Mengen importiert haben. Sie können dies ändern, indem Sie den Importmodus des Jobs angeben.

Um Massendaten zu aktualisieren, erstellen Sie einen Datensatz-Importjob und geben Sie einen Importmodus an. Der folgende Code zeigt, wie Sie Massendaten in Amazon Personalize mit dem SDK for Python (Boto3) oder dem SDK for Java 2.x aktualisieren.

SDK for Python (Boto3)

Verwenden Sie die Methode, um Massendaten zu aktualisieren. create_dataset_import_job Geben Sie für die FULL animport-mode, ob vorhandene Daten ersetzt oder INCREMENTAL erweitert werden sollen. Weitere Informationen finden Sie unter Modi importieren.

import boto3 personalize = boto3.client('personalize') response = personalize.create_dataset_import_job( jobName = 'YourImportJob', datasetArn = 'dataset_arn', dataSource = {'dataLocation':'s3://bucket/file.csv'}, roleArn = 'role_arn', importMode = 'INCREMENTAL' )
SDK for Java 2.x

Verwenden Sie die folgende createPersonalizeDatasetImportJob Methode, um Massendaten zu aktualisieren. Geben Sie für die ImportMode.FULL animportImport, ob vorhandene Daten ersetzt oder ImportMode.INCREMENTAL erweitert werden sollen. Weitere Informationen finden Sie unter Modi importieren.

public static String createPersonalizeDatasetImportJob(PersonalizeClient personalizeClient, String jobName, String datasetArn, String s3BucketPath, String roleArn, ImportMode importMode) { 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) .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://<name of your S3 bucket>/<folderName>/<CSVfilename>.csv' /* required */ }, jobName: 'NAME', /* required */ roleArn: 'ROLE_ARN', /* required */ importMode: "INCREMENTAL" /* optional, default is FULL */ }; 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();