Importation de données en masse dans Amazon Personalize à l'aide d'une tâche d'importation de jeux de données - Amazon Personalize

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Importation de données en masse dans Amazon Personalize à l'aide d'une tâche d'importation de jeux de données

Une fois que vous avez formaté vos données d'entrée (voirPréparation des données de formation pour Amazon Personalize) et que vous avez terminéCréation d'un schéma et d'un jeu de données, vous êtes prêt à importer vos données en masse à l'aide d'une tâche d'importation de jeux de données. Une tâche d'importation de jeu de données est un outil d'importation en masse qui remplit un ensemble de données provenant d'Amazon S3.

Pour importer des données depuis Amazon S3, vos CSV fichiers doivent se trouver dans un compartiment Amazon S3 et vous devez autoriser Amazon Personalize à accéder à vos ressources Amazon S3 :

Vous pouvez créer une tâche d'importation de jeux de données à l'aide de la console Amazon Personalize, AWS Command Line Interface (AWS CLI), ou AWS SDKs. Si vous avez déjà créé une tâche d'importation de jeu de données pour un ensemble de données, vous pouvez utiliser une nouvelle tâche d'importation de jeu de données pour ajouter ou remplacer les données en bloc existantes. Pour de plus amples informations, veuillez consulter Mise à jour des données dans les ensembles de données après l'entraînement.

Après avoir importé vos données, vous êtes prêt à créer des recommandations de domaines (pour les groupes de jeux de données de domaine) ou des ressources personnalisées (pour les groupes de données personnalisés) afin d'entraîner un modèle sur vos données. Vous utilisez ces ressources pour générer des recommandations. Pour plus d’informations, consultez Recommandeurs de domaines dans Amazon Personalize ou Ressources personnalisées pour la formation et le déploiement des modèles Amazon Personalize.

Modes d'importation

Si vous avez déjà créé une tâche d'importation pour l'ensemble de données, vous pouvez configurer la manière dont Amazon Personalize ajoute vos nouveaux enregistrements. Pour ce faire, vous devez spécifier un mode d'importation pour votre tâche d'importation de jeux de données. Si vous n'avez pas importé d'enregistrements groupés, le champ Mode d'importation n'est pas disponible dans la console et vous ne pouvez le spécifier que FULL lors de l'CreateDatasetImportJobAPIopération. Par défaut, il s'agit d'un remplacement complet.

  • Pour remplacer toutes les données en masse existantes dans votre ensemble de données, choisissez Remplacer les données existantes dans la console Amazon Personalize ou spécifiez-les FULL dans l'CreateDatasetImportJobAPIopération. Cela ne remplace pas les données que vous avez importées individuellement, y compris les événements enregistrés en temps réel.

  • Pour ajouter les enregistrements aux données existantes de votre ensemble de données, choisissez Ajouter aux données existantes ou spécifiez-les INCREMENTAL dans l'CreateDatasetImportJobAPIopération. Amazon Personalize remplace tout enregistrement portant le même identifiant par le nouveau.

    Note

    Pour ajouter des données à un jeu de données d'interactions d'éléments ou à un jeu de données d'interactions d'action avec une tâche d'importation de jeu de données, vous devez disposer d'au moins 1 000 nouveaux enregistrements d'interactions entre éléments ou d'interactions d'action.

Création d'une tâche d'importation de jeux de données (console)

Important

Par défaut, une tâche d'importation de jeu de données remplace toutes les données existantes du jeu de données que vous avez importé en bloc. Si vous avez déjà importé des données en masse, vous pouvez ajouter des données en modifiant le mode d'importation de la tâche.

Pour importer des enregistrements en masse dans un ensemble de données à l'aide de la console Amazon Personalize, créez une tâche d'importation d'ensemble de données avec un nom, le rôle de IAM service et l'emplacement de vos données.

Si vous venez de créer votre jeu de données dansCréation d'un schéma et d'un jeu de données, passez à l'étape 5.

Pour importer des enregistrements en bloc (console)
  1. Ouvrez la console Amazon Personalize https://console.aws.amazon.com/personalize/chez vous et connectez-vous à votre compte.

  2. Sur la page Groupes de jeux de données, choisissez votre groupe de jeux de données. La vue d'ensemble du groupe de jeux de données s'affiche.

  3. Dans le volet de navigation, choisissez Datasets et choisissez le jeu de données dans lequel vous souhaitez importer des données en masse.

  4. Dans Tâches d'importation de jeux de données, choisissez Créer une tâche d'importation de jeu de données.

  5. S'il s'agit de votre première tâche d'importation de jeux de données, dans Source d'importation de données, sélectionnez Importer des données depuis S3.

  6. Pour le nom de la tâche d'importation du jeu de données, spécifiez un nom pour votre tâche d'importation.

  7. Si vous avez déjà importé des données en masse, dans Mode d'importation, choisissez le mode de mise à jour du jeu de données. Choisissez Remplacer les données existantes ou Ajouter aux données existantes. Cette option n'apparaît pas s'il s'agit de votre première tâche pour l'ensemble de données. Pour de plus amples informations, veuillez consulter Mise à jour des données dans les ensembles de données après l'entraînement.

  8. Dans Source d'importation des données, pour Emplacement des données, spécifiez où votre fichier de données est stocké dans Amazon S3. Utilisez la syntaxe suivante :

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

    Si vos CSV fichiers se trouvent dans un dossier de votre compartiment Amazon S3 et que vous souhaitez charger plusieurs CSV fichiers dans un ensemble de données avec une seule tâche d'importation d'ensemble de données, vous pouvez spécifier le chemin d'accès au dossier. Amazon Personalize utilise uniquement les fichiers du premier niveau de votre dossier, aucune donnée n'est utilisée dans aucun sous-dossier. Utilisez la syntaxe suivante avec un / après le nom du dossier :

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

  9. Dans IAMrôle, choisissez de créer un nouveau rôle ou d'utiliser un rôle existant. Si vous avez rempli les conditions requises, choisissez Utiliser un rôle de service existant et spécifiez le rôle que vous avez créé dansCréation d'un IAM rôle pour Amazon Personalize.

  10. Si vous avez créé une attribution de métrique et que vous souhaitez publier des métriques liées à cette tâche sur Amazon S3, dans Publier les métriques d'événements sur S3, choisissez Publier les métriques pour cette tâche d'importation.

    Si vous n'en avez pas créé une et que vous souhaitez publier des statistiques pour cette tâche, choisissez Create metric attribution pour en créer une nouvelle dans un autre onglet. Après avoir créé l'attribution des métriques, vous pouvez revenir à cet écran et terminer la création de la tâche d'importation.

    Pour plus d'informations sur les attributions métriques, voirMesurer l'impact des recommandations d'Amazon Personalize.

  11. Pour les balises, ajoutez éventuellement des balises. Pour plus d'informations sur le balisage des ressources Amazon Personalize, consultezMarquer les ressources Amazon Personalize.

  12. Choisissez Start import (Démarrer l'importation). La tâche d'importation des données démarre et la page Dashboard Overview (Présentation du tableau de bord) s'affiche. L'importation du jeu de données est terminée lorsque le statut est indiqué commeACTIVE. Après avoir importé des données dans un ensemble de données Amazon Personalize, vous pouvez les analyser, les exporter vers un compartiment Amazon S3, les mettre à jour ou les supprimer en supprimant le jeu de données.

    Après avoir importé vos données, vous êtes prêt à créer des recommandations de domaines (pour les groupes de jeux de données de domaine) ou des ressources personnalisées (pour les groupes de données personnalisés) afin d'entraîner un modèle sur vos données. Vous utilisez ces ressources pour générer des recommandations. Pour plus d’informations, consultez Recommandeurs de domaines dans Amazon Personalize ou Ressources personnalisées pour la formation et le déploiement des modèles Amazon Personalize.

Création d'une tâche d'importation de jeux de données (AWS CLI)

Important

Par défaut, une tâche d'importation de jeu de données remplace toutes les données existantes du jeu de données que vous avez importé en bloc. Si vous avez déjà importé des données en masse, vous pouvez ajouter des données en modifiant le mode d'importation de la tâche.

Pour importer des enregistrements groupés à l'aide du AWS CLI, créez une tâche d'importation de jeux de données à l'aide de la CreateDatasetImportJob commande. Si vous avez déjà créé une tâche d'importation d'ensemble de données pour un ensemble de données, vous pouvez utiliser le paramètre du mode d'importation pour spécifier comment ajouter les nouvelles données. Pour plus d'informations sur la mise à jour des données en bloc existantes, consultezMise à jour des données dans les ensembles de données après l'entraînement.

Importer des enregistrements en bloc (AWS CLI)
  1. Créez une tâche d'importation d'ensembles de données en exécutant la commande suivante. Indiquez le nom de ressource Amazon (ARN) pour votre ensemble de données et spécifiez le chemin d'accès au compartiment Amazon S3 dans lequel vous avez stocké les données d'entraînement. Utilisez la syntaxe suivante pour le chemin :

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

    Si vos CSV fichiers se trouvent dans un dossier de votre compartiment Amazon S3 et que vous souhaitez charger plusieurs CSV fichiers dans un ensemble de données avec une seule tâche d'importation d'ensemble de données, vous pouvez spécifier le chemin d'accès au dossier. Amazon Personalize utilise uniquement les fichiers du premier niveau de votre dossier, aucune donnée n'est utilisée dans aucun sous-dossier. Utilisez la syntaxe suivante avec un / après le nom du dossier :

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

    Fournissez le AWS Identity and Access Management (IAM) rôle Amazon Resource Name (ARN) dans lequel vous avez crééCréation d'un IAM rôle pour Amazon Personalize. L’import-mode par défaut est FULL. Pour plus d'informations, voir Mise à jour des données dans les ensembles de données après l'entraînement. Pour plus d'informations sur ce fonctionnement, consultez 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

    La tâche d'importation de l'ensemble de données ARN s'affiche, comme indiqué dans l'exemple suivant.

    { "datasetImportJobArn": "arn:aws:personalize:us-west-2:acct-id:dataset-import-job/DatasetImportJobName" }
  2. Vérifiez le statut à l'aide de la commande describe-dataset-import-job. Indiquez la tâche d'importation de ARN l'ensemble de données renvoyée à l'étape précédente. Pour plus d'informations sur ce fonctionnement, consultez DescribeDatasetImportJob.

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

    Les propriétés de la tâche d'importation d'ensembles de données et son statut sont affichés. Au départ, les status émissions sont 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'importation du jeu de données est terminée lorsque le statut est indiqué commeACTIVE. Après avoir importé des données dans un ensemble de données Amazon Personalize, vous pouvez les analyser, les exporter vers un compartiment Amazon S3, les mettre à jour ou les supprimer en supprimant le jeu de données.

    Après avoir importé vos données, vous êtes prêt à créer des recommandations de domaines (pour les groupes de jeux de données de domaine) ou des ressources personnalisées (pour les groupes de données personnalisés) afin d'entraîner un modèle sur vos données. Vous utilisez ces ressources pour générer des recommandations. Pour plus d’informations, consultez Recommandeurs de domaines dans Amazon Personalize ou Ressources personnalisées pour la formation et le déploiement des modèles Amazon Personalize.

Création d'une tâche d'importation de jeux de données (AWS SDKs)

Important

Par défaut, une tâche d'importation de jeu de données remplace toutes les données existantes du jeu de données que vous avez importé en bloc. Si vous avez déjà importé des données en masse, vous pouvez ajouter des données en modifiant le mode d'importation de la tâche.

Pour importer des données, créez une tâche d'importation de jeu de données avec l'CreateDatasetImportJobopération. Le code suivant montre comment créer une tâche d'importation de jeu de données.

Donnez le nom de la tâche, définissez datasetArn le nom de ressource Amazon (ARN) de votre ensemble de données et définissez le chemin dataLocation d'accès à votre compartiment Amazon S3 dans lequel vous avez stocké les données d'entraînement. Utilisez la syntaxe suivante pour le chemin :

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

Si vos CSV fichiers se trouvent dans un dossier de votre compartiment Amazon S3 et que vous souhaitez charger plusieurs CSV fichiers dans un ensemble de données avec une seule tâche d'importation d'ensemble de données, vous pouvez spécifier le chemin d'accès au dossier. Amazon Personalize utilise uniquement les fichiers du premier niveau de votre dossier, aucune donnée n'est utilisée dans aucun sous-dossier. Utilisez la syntaxe suivante avec un / après le nom du dossier :

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

Pour leroleArn, spécifiez AWS Identity and Access Management (IAM) rôle qui donne à Amazon Personalize l'autorisation d'accéder à votre compartiment S3. Consultez Création d'un IAM rôle pour Amazon Personalize. L’importMode par défaut est FULL. Cela remplace toutes les données en masse de l'ensemble de données. Pour ajouter des données, définissez-les sur. INCREMENTAL Pour plus d'informations sur la mise à jour des données en bloc existantes, consultezMise à jour des données dans les ensembles de données après l'entraînement.

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 réponse de l'DescribeDatasetImportJobopération inclut le statut de l'opération.

Vous devez attendre que le statut passe à ACTIVE zéro avant de pouvoir utiliser les données pour entraîner un modèle.

L'importation du jeu de données est terminée lorsque le statut est indiqué commeACTIVE. Après avoir importé des données dans un ensemble de données Amazon Personalize, vous pouvez les analyser, les exporter vers un compartiment Amazon S3, les mettre à jour ou les supprimer en supprimant le jeu de données.

Après avoir importé vos données, vous êtes prêt à créer des recommandations de domaines (pour les groupes de jeux de données de domaine) ou des ressources personnalisées (pour les groupes de données personnalisés) afin d'entraîner un modèle sur vos données. Vous utilisez ces ressources pour générer des recommandations. Pour plus d’informations, consultez Recommandeurs de domaines dans Amazon Personalize ou Ressources personnalisées pour la formation et le déploiement des modèles Amazon Personalize.