Importazione di dati di massa in Amazon Personalize con un processo di importazione di set di dati - Amazon Personalize

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Importazione di dati di massa in Amazon Personalize con un processo di importazione di set di dati

Dopo aver formattato i dati di input (vediPreparazione dei dati di formazione per Amazon Personalize) e averlo completatoCreazione di uno schema e di un set di dati, sei pronto per importare i dati in blocco con un processo di importazione del set di dati. Un processo di importazione di set di dati è uno strumento di importazione in blocco che popola un set di dati con dati provenienti da Amazon S3.

Per importare dati da Amazon S3, CSV i tuoi file devono essere in un bucket Amazon S3 e devi autorizzare Amazon Personalize ad accedere alle tue risorse Amazon S3:

Puoi creare un processo di importazione di set di dati utilizzando la console Amazon Personalize, AWS Command Line Interface (AWS CLI), oppure AWS SDKs. Se in precedenza hai creato un processo di importazione del set di dati per un set di dati, puoi utilizzare un nuovo processo di importazione del set di dati per aggiungere o sostituire i dati di massa esistenti. Per ulteriori informazioni, consulta Aggiornamento dei dati nei set di dati dopo l'allenamento.

Dopo aver importato i dati, sei pronto per creare consigliatori di dominio (per gruppi di set di dati di dominio) o risorse personalizzate (per gruppi di set di dati personalizzati) per addestrare un modello sui tuoi dati. Queste risorse vengono utilizzate per generare consigli. Per ulteriori informazioni, consulta Consigliatori di domini in Amazon Personalize o Risorse personalizzate per la formazione e l'implementazione di modelli Amazon Personalize.

Modalità di importazione

Se hai già creato un processo di importazione per il set di dati, puoi configurare il modo in cui Amazon Personalize aggiunge i tuoi nuovi record. A tale scopo, è necessario specificare una modalità di importazione per il processo di importazione del set di dati. Se non hai importato record in blocco, il campo Modalità di importazione non è disponibile nella console e puoi specificarlo solo durante l'FULLCreateDatasetImportJobAPIoperazione. L'impostazione predefinita è una sostituzione completa.

  • Per sovrascrivere tutti i dati in blocco esistenti nel tuo set di dati, scegli Sostituisci i dati esistenti nella console Amazon Personalize o specifica nell'operazione. FULL CreateDatasetImportJob API Ciò non sostituisce i dati importati singolarmente, inclusi gli eventi registrati in tempo reale.

  • Per aggiungere i record ai dati esistenti nel set di dati, scegli Aggiungi ai dati esistenti o specifica INCREMENTAL nell'CreateDatasetImportJobAPIoperazione. Amazon Personalize sostituisce qualsiasi record con lo stesso ID con uno nuovo.

    Nota

    Per aggiungere dati a un set di dati sulle interazioni tra elementi o sul set di dati sulle interazioni Action con un processo di importazione del set di dati, devi disporre di almeno 1000 nuovi record di interazioni tra elementi o azioni.

Creazione di un processo di importazione del set di dati (console)

Importante

Per impostazione predefinita, un processo di importazione del set di dati sostituisce tutti i dati esistenti nel set di dati importato in blocco. Se hai già importato dati in blocco, puoi aggiungere dati modificando la modalità di importazione del lavoro.

Per importare record di massa in un set di dati con la console Amazon Personalize, crea un processo di importazione del set di dati con un nome, il ruolo IAM del servizio e la posizione dei dati.

Se hai appena creato il set di dati inCreazione di uno schema e di un set di dati, vai al passaggio 5.

Per importare record in blocco (console)
  1. Apri la console Amazon Personalize a https://console.aws.amazon.com/personalize/casa e accedi al tuo account.

  2. Nella pagina dei gruppi di set di dati, scegli il tuo gruppo di set di dati. Viene visualizzata la panoramica del gruppo di set di dati.

  3. Nel riquadro di navigazione, scegli Set di dati e scegli il set di dati in cui desideri importare dati in blocco.

  4. In Processi di importazione di set di dati, scegli Crea processo di importazione del set di dati.

  5. Se questo è il tuo primo processo di importazione del set di dati, per Origine di importazione dati scegli Importa dati da S3.

  6. Per il nome del processo di importazione del set di dati, specifica un nome per il processo di importazione.

  7. Se hai già importato dati in blocco, per la modalità Importazione, scegli come aggiornare il set di dati. Scegli Sostituisci dati esistenti o Aggiungi a dati esistenti. Questa opzione non viene visualizzata se è il tuo primo lavoro per il set di dati. Per ulteriori informazioni, consulta Aggiornamento dei dati nei set di dati dopo l'allenamento.

  8. In Origine di importazione dati, per Data Location, specifica dove è archiviato il file di dati in Amazon S3. Utilizzare la seguente sintassi:

    s3:/amzn-s3-demo-bucket/<folder path>/<CSV filename>

    Se CSV i tuoi file si trovano in una cartella del tuo bucket Amazon S3 e desideri caricare più CSV file su un set di dati con un solo processo di importazione del set di dati, puoi specificare il percorso della cartella. Amazon Personalize utilizza solo i file nel primo livello della cartella, non utilizza dati in nessuna sottocartella. Usa la seguente sintassi con una / dopo il nome della cartella:

    s3:/amzn-s3-demo-bucket/<folder path>/

  9. Nel IAMruolo, scegli se creare un nuovo ruolo o utilizzarne uno esistente. Se hai completato i prerequisiti, scegli Usa un ruolo di servizio esistente e specifica il ruolo in Creare un IAM ruolo per Amazon Personalize cui hai creato.

  10. Se hai creato un'attribuzione di metriche e desideri pubblicare le metriche relative a questo lavoro su Amazon S3, in Pubblica metriche di eventi su S3 scegli Pubblica metriche per questo processo di importazione.

    Se non ne hai creata una e desideri pubblicare le metriche per questo lavoro, scegli Crea attribuzione delle metriche per crearne una nuova in una scheda diversa. Dopo aver creato l'attribuzione della metrica, puoi tornare a questa schermata e completare la creazione del processo di importazione.

    Per ulteriori informazioni sulle attribuzioni delle metriche, consulta. Misurazione dell'impatto dei consigli di Amazon Personalize

  11. Per i tag, aggiungi facoltativamente qualsiasi tag. Per ulteriori informazioni sull'etichettatura delle risorse Amazon Personalize, consulta. Etichettare le risorse di Amazon Personalize

  12. Scegli Start import (Avvia importazione). Il processo di importazione dei dati viene avviato e viene visualizzata la pagina con la Dashboard Overview (Panoramica del pannello di controllo). L'importazione del set di dati è completa quando lo stato viene visualizzato come. ACTIVE Dopo aver importato i dati in un set di dati Amazon Personalize, puoi analizzarli, esportarli in un bucket Amazon S3, aggiornarli o eliminarli eliminando il set di dati.

    Dopo aver importato i dati, sei pronto per creare consigliatori di dominio (per gruppi di set di dati Domain) o risorse personalizzate (per gruppi di set di dati personalizzati) per addestrare un modello sui tuoi dati. Queste risorse vengono utilizzate per generare consigli. Per ulteriori informazioni, consulta Consigliatori di domini in Amazon Personalize o Risorse personalizzate per la formazione e l'implementazione di modelli Amazon Personalize.

Creazione di un processo di importazione del set di dati (AWS CLI)

Importante

Per impostazione predefinita, un processo di importazione del set di dati sostituisce tutti i dati esistenti nel set di dati importato in blocco. Se hai già importato dati in blocco, puoi aggiungere dati modificando la modalità di importazione del lavoro.

Per importare record in blocco utilizzando il AWS CLI, crea un processo di importazione del set di dati utilizzando il CreateDatasetImportJob comando. Se in precedenza hai creato un processo di importazione del set di dati per un set di dati, puoi utilizzare il parametro della modalità di importazione per specificare come aggiungere i nuovi dati. Per ulteriori informazioni sull'aggiornamento di dati in blocco esistenti, consulta. Aggiornamento dei dati nei set di dati dopo l'allenamento

Importazione di record in blocco (AWS CLI)
  1. Creare un processo di importazione del set di dati eseguendo il seguente comando. Fornisci l'Amazon Resource Name (ARN) per il tuo set di dati e specifica il percorso del bucket Amazon S3 in cui hai archiviato i dati di addestramento. Usa la seguente sintassi per il percorso:

    s3:/amzn-s3-demo-bucket/<folder path>/<CSV filename>

    Se CSV i tuoi file si trovano in una cartella del tuo bucket Amazon S3 e desideri caricare più CSV file su un set di dati con un solo processo di importazione del set di dati, puoi specificare il percorso della cartella. Amazon Personalize utilizza solo i file nel primo livello della cartella, non utilizza dati in nessuna sottocartella. Usa la seguente sintassi con una / dopo il nome della cartella:

    s3:/amzn-s3-demo-bucket/<folder path>/

    Fornisci il AWS Identity and Access Management (IAM) ruolo Amazon Resource Name (ARN) in cui hai creatoCreare un IAM ruolo per Amazon Personalize. Il import-mode predefinito è FULL. Per ulteriori informazioni, consulta Aggiornamento dei dati nei set di dati dopo l'allenamento. Per ulteriori informazioni sull'operazione, consultare 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 FULL

    ARNViene visualizzato il processo di importazione del set di dati, come illustrato nell'esempio seguente.

    { "datasetImportJobArn": "arn:aws:personalize:us-west-2:acct-id:dataset-import-job/DatasetImportJobName" }
  2. Verificare lo stato utilizzando il comando describe-dataset-import-job. Fornisci il processo di importazione del set ARN di dati restituito nel passaggio precedente. Per ulteriori informazioni sull'operazione, consultare DescribeDatasetImportJob.

    aws personalize describe-dataset-import-job \ --dataset-import-job-arn dataset import job arn

    Vengono visualizzate le proprietà del processo di importazione del set di dati, incluso lo stato. Inizialmente, viene status visualizzato come CREATEPENDING.

    { "datasetImportJob": { "jobName": "Dataset Import job name", "datasetImportJobArn": "arn:aws:personalize:us-west-2:acct-id:dataset-import-job/DatasetImportJobArn", "datasetArn": "arn:aws:personalize:us-west-2:acct-id:dataset/DatasetGroupName/INTERACTIONS", "dataSource": { "dataLocation": "s3://amzn-s3-demo-bucket/ratings.csv" }, "importMode": "FULL", "roleArn": "role-arn", "status": "CREATE PENDING", "creationDateTime": 1542392161.837, "lastUpdatedDateTime": 1542393013.377 } }

    L'importazione del set di dati è completa quando lo stato viene visualizzato comeACTIVE. Dopo aver importato i dati in un set di dati Amazon Personalize, puoi analizzarli, esportarli in un bucket Amazon S3, aggiornarli o eliminarli eliminando il set di dati.

    Dopo aver importato i dati, sei pronto per creare consigliatori di dominio (per gruppi di set di dati Domain) o risorse personalizzate (per gruppi di set di dati personalizzati) per addestrare un modello sui tuoi dati. Queste risorse vengono utilizzate per generare consigli. Per ulteriori informazioni, consulta Consigliatori di domini in Amazon Personalize o Risorse personalizzate per la formazione e l'implementazione di modelli Amazon Personalize.

Creazione di un processo di importazione del set di dati (AWS SDKs)

Importante

Per impostazione predefinita, un processo di importazione del set di dati sostituisce tutti i dati esistenti nel set di dati importato in blocco. Se hai già importato dati in blocco, puoi aggiungere dati modificando la modalità di importazione del lavoro.

Per importare dati, crea un processo di importazione del set di dati con l'operazione. CreateDatasetImportJob Il codice seguente mostra come creare un processo di importazione del set di dati.

Fornisci il nome del lavoro, imposta datasetArn l'Amazon Resource Name (ARN) del tuo set di dati e imposta il dataLocation percorso del bucket Amazon S3 in cui hai archiviato i dati di addestramento. Usa la seguente sintassi per il percorso:

s3:/amzn-s3-demo-bucket/<folder path>/<CSV filename>.csv

Se CSV i tuoi file si trovano in una cartella del tuo bucket Amazon S3 e desideri caricare più CSV file su un set di dati con un solo processo di importazione del set di dati, puoi specificare il percorso della cartella. Amazon Personalize utilizza solo i file nel primo livello della cartella, non utilizza dati in nessuna sottocartella. Usa la seguente sintassi con una / dopo il nome della cartella:

s3:/amzn-s3-demo-bucket/<folder path>/

Per ilroleArn, specificare AWS Identity and Access Management (IAM) ruolo che fornisce ad Amazon Personalize le autorizzazioni per accedere al tuo bucket S3. Per informazioni, consulta Creare un IAM ruolo per Amazon Personalize. Il importMode predefinito è FULL. Questo sostituisce tutti i dati di massa nel set di dati. Per aggiungere dati, impostalo su. INCREMENTAL Per ulteriori informazioni sull'aggiornamento dei dati di massa esistenti, consulta. Aggiornamento dei dati nei set di dati dopo l'allenamento

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/filename.csv'}, roleArn = 'role_arn', importMode = 'FULL' ) 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) { 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://amzn-s3-demo-bucket/<folderName>/<CSVfilename>.csv' /* required */ }, jobName: 'NAME', /* required */ roleArn: 'ROLE_ARN', /* required */ importMode: "FULL" /* 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();

La risposta dell'DescribeDatasetImportJoboperazione include lo stato dell'operazione.

È necessario attendere che lo stato cambi ACTIVE prima di poter utilizzare i dati per addestrare un modello.

L'importazione del set di dati è completa quando lo stato viene visualizzato comeACTIVE. Dopo aver importato i dati in un set di dati Amazon Personalize, puoi analizzarli, esportarli in un bucket Amazon S3, aggiornarli o eliminarli eliminando il set di dati.

Dopo aver importato i dati, sei pronto per creare consigliatori di dominio (per gruppi di set di dati Domain) o risorse personalizzate (per gruppi di set di dati personalizzati) per addestrare un modello sui tuoi dati. Queste risorse vengono utilizzate per generare consigli. Per ulteriori informazioni, consulta Consigliatori di domini in Amazon Personalize o Risorse personalizzate per la formazione e l'implementazione di modelli Amazon Personalize.