

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
<a name="bulk-data-import-step"></a>

Dopo aver formattato i dati di input (vedi[Preparazione dei dati di formazione per Amazon Personalize](preparing-training-data.md)) e averlo completato[Creazione di uno schema e di un set di dati](data-prep-creating-datasets.md), 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, i tuoi file CSV devono trovarsi in un bucket Amazon S3 e devi autorizzare Amazon Personalize ad accedere alle tue risorse Amazon S3: 
+ Per informazioni sul caricamento di file su Amazon S3, [consulta Caricamento di file e cartelle tramite Drag and Drop](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/upload-objects.html) nella Guida per l'utente di Amazon Simple Storage Service.
+ Per informazioni su come concedere ad Amazon Personalize l'accesso ai tuoi file in Amazon S3, consulta. [Offrire ad Amazon Personalize l'accesso alle risorse di Amazon S3](granting-personalize-s3-access.md)

   Se utilizzi AWS Key Management Service (AWS KMS) per la crittografia, devi concedere ad Amazon Personalize e al tuo ruolo di servizio Amazon Personalize IAM l'autorizzazione a usare la tua chiave. Per ulteriori informazioni, consulta [Autorizzazione all'uso del codice da parte di Amazon Personalize AWS KMS](granting-personalize-key-access.md).

Puoi creare un processo di importazione di set di dati utilizzando la console Amazon Personalize AWS Command Line Interface ,AWS CLI() o. AWS SDKs Se in precedenza hai creato un processo di importazione di 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](updating-datasets.md). 

Se importi un elemento, un utente o un'azione con lo stesso ID di un record già presente nel tuo set di dati, Amazon Personalize lo sostituisce con il nuovo record. Se registri due eventi di interazione tra elementi o azioni con esattamente lo stesso timestamp e proprietà identiche, Amazon Personalize conserva solo uno degli eventi.

 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](creating-recommenders.md) o [Risorse personalizzate per la formazione e l'implementazione di modelli Amazon Personalize](create-custom-resources.md). 



**Topics**
+ [Modalità di importazione](#bulk-import-modes)
+ [Creazione di un processo di importazione del set di dati (console)](#bulk-data-import-console)
+ [Creazione di un processo di importazione del set di dati ()AWS CLI](#bulk-data-import-cli)
+ [Creazione di un processo di importazione del set di dati ()AWS SDKs](#python-import-ex)

## Modalità di importazione
<a name="bulk-import-modes"></a>

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 `FULL` nell'operazione `CreateDatasetImportJob` API. 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 `FULL` nell'operazione API. [CreateDatasetImportJob](API_CreateDatasetImportJob.md) 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'operazione `CreateDatasetImportJob` API. 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)
<a name="bulk-data-import-console"></a>

**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.](#bulk-import-modes)

 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 del servizio IAM e la posizione dei dati.

Se hai appena creato il set di dati in[Creazione di uno schema e di un set di dati](data-prep-creating-datasets.md), vai al passaggio 5.

**Per importare record in blocco (console)**

1. Apri la console Amazon Personalize a [https://console.aws.amazon.com/personalize/casa](https://console.aws.amazon.com/personalize/home) e accedi al tuo account.

1.  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.**

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

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

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

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

1. 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. dati**. 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](updating-datasets.md).

1. 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 i tuoi file CSV si trovano in una cartella del tuo bucket Amazon S3 e desideri caricare più file CSV in 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>/**

1. Nel **ruolo IAM**, scegli di 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 [Creazione di un ruolo IAM per Amazon Personalize](set-up-required-permissions.md#set-up-create-role-with-permissions) cui hai creato. 

1. **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](measuring-recommendation-impact.md)

1. Per i **tag**, aggiungi facoltativamente qualsiasi tag. Per ulteriori informazioni sull'etichettatura delle risorse Amazon Personalize, consulta. [Etichettare le risorse di Amazon Personalize](tagging-resources.md)

1. 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 è completata quando lo stato mostra il valore ACTIVE. Dopo aver importato i dati in un set di dati Amazon Personalize, puoi [analizzarli](analyzing-data.md), [esportarli in un bucket Amazon S3](export-data.md), [aggiornarli](updating-datasets.md) [o eliminarli eliminando](delete-dataset.md) 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](creating-recommenders.md) o [Risorse personalizzate per la formazione e l'implementazione di modelli Amazon Personalize](create-custom-resources.md). 

## Creazione di un processo di importazione del set di dati ()AWS CLI
<a name="bulk-data-import-cli"></a>

**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.](#bulk-import-modes)

 Per importare record in blocco utilizzando il AWS CLI, crea un processo di importazione del set di dati utilizzando il comando. [CreateDatasetImportJob](API_CreateDatasetImportJob.md) 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](updating-datasets.md)

**Importa 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 i tuoi file CSV si trovano in una cartella del tuo bucket Amazon S3 e desideri caricare più file CSV in 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 ruolo AWS Identity and Access Management (IAM) Amazon Resource Name (ARN) in cui hai creato. [Creazione di un ruolo IAM per Amazon Personalize](set-up-required-permissions.md#set-up-create-role-with-permissions) Il `import-mode` predefinito è `FULL`. Per ulteriori informazioni, consulta [Aggiornamento dei dati nei set di dati dopo l'allenamento](updating-datasets.md). Per ulteriori informazioni sull'operazione, consultare [CreateDatasetImportJob](API_CreateDatasetImportJob.md).

   ```
   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
   ```

   Viene visualizzato l'ARN del 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"
   }
   ```

1. Verificare lo stato utilizzando il comando `describe-dataset-import-job`. Fornire l'ARN del processo di importazione del set di dati restituito nel passaggio precedente. Per ulteriori informazioni sull'operazione, consultare [DescribeDatasetImportJob](API_DescribeDatasetImportJob.md).

   ```
   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, `status` viene visualizzato come CREATE PENDING.

   ```
   {
     "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 è completata quando lo stato mostra il valore ACTIVE. Dopo aver importato i dati in un set di dati Amazon Personalize, puoi [analizzarli](analyzing-data.md), [esportarli in un bucket Amazon S3](export-data.md), [aggiornarli](updating-datasets.md) [o eliminarli eliminando](delete-dataset.md) 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](creating-recommenders.md) o [Risorse personalizzate per la formazione e l'implementazione di modelli Amazon Personalize](create-custom-resources.md). 

## Creazione di un processo di importazione del set di dati ()AWS SDKs
<a name="python-import-ex"></a>

**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.](#bulk-import-modes)

Per importare dati, crea un processo di importazione del set di dati con l'operazione. [CreateDatasetImportJob](API_CreateDatasetImportJob.md) 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 impostalo sul percorso del `dataLocation` 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 i tuoi file CSV si trovano in una cartella del tuo bucket Amazon S3 e desideri caricare più file CSV in 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 la`roleArn`, specifica il ruolo AWS Identity and Access Management (IAM) che concede ad Amazon Personalize le autorizzazioni per accedere al tuo bucket S3. Per informazioni, consulta [Creazione di un ruolo IAM per Amazon Personalize](set-up-required-permissions.md#set-up-create-role-with-permissions). Il `importMode` predefinito è `FULL`. Questo sostituisce tutti i dati in blocco 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](updating-datasets.md) 

------
#### [ 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'[DescribeDatasetImportJob](API_DescribeDatasetImportJob.md)operazione include lo stato dell'operazione.

È necessario attendere che lo stato cambi in ACTIVE prima di poter utilizzare i dati per eseguire il training di un modello.

L'importazione del set di dati è completata quando lo stato mostra il valore ACTIVE. Dopo aver importato i dati in un set di dati Amazon Personalize, puoi [analizzarli](analyzing-data.md), [esportarli in un bucket Amazon S3](export-data.md), [aggiornarli](updating-datasets.md) [o eliminarli eliminando](delete-dataset.md) 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](creating-recommenders.md) o [Risorse personalizzate per la formazione e l'implementazione di modelli Amazon Personalize](create-custom-resources.md). 