Creación de un trabajo de exportación de conjuntos de datos en Amazon Personalize - Amazon Personalize

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación de un trabajo de exportación de conjuntos de datos en Amazon Personalize

Puede crear un trabajo de exportación de conjuntos de datos con la consola de Amazon Personalize, AWS Command Line Interface (AWS CLI) o los SDK de AWS.

Creación de un trabajo de exportación de conjunto de datos (consola)

Tras importar sus datos en un conjunto de datos y crear un bucket de Amazon S3 de salida, puede exportar los datos en el bucket para su análisis. Para exportar un conjunto de datos mediante la consola Amazon Personalize, debe crear un trabajo de exportación de conjuntos de datos. Para obtener información sobre la creación de un bucket de Amazon S3, consulte Creación de un bucket en la Guía del usuario de Amazon Simple Storage Service.

Antes de exportar un conjunto de datos, asegúrese de que su rol de servicio de Amazon Personalize pueda acceder y escribir en su bucket de Amazon S3 de salida. Consulte Requisitos de permisos para trabajos de exportación de conjuntos de datos.

Para crear un trabajo de exportación de conjunto de datos (consola)
  1. Abra la consola Amazon Personalize en https://console.aws.amazon.com/personalize/home.

  2. En el panel de navegación, elija Grupos de conjuntos de datos.

  3. En la página Grupos de conjuntos de datos, elija su grupo de conjuntos de datos.

  4. Elija Conjuntos de datos en el panel de navegación.

  5. Elija el conjunto de datos que desea exportar en un bucket de Amazon S3.

  6. En Trabajos de exportación de conjuntos de datos, elija Crear trabajo de exportación de conjuntos de datos.

  7. En Detalles del trabajo de exportación de conjuntos de datos, para Nombre del trabajo de exportación de conjuntos de datos, especifique un nombre para el trabajo de exportación.

  8. Para el Rol de servicio de IAM, elija el rol de servicio de Amazon Personalize que creó en Creación de un rol de IAM para Amazon Personalize.

  9. Para la Ruta de salida de datos de Amazon S3, especifique el bucket de Amazon S3 de destino. Utilice la siguiente sintaxis:

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

  10. Si utiliza AWS KMS para cifrado, para ARN de clave de KMS, especifique el nombre de recurso de Amazon (ARN) para la clave AWS KMS.

  11. En el Tipo de datos de exportación, elija el tipo de datos que desee exportar en función de cómo los importó originalmente.

    • Seleccione Masivo para exportar solo los datos que haya importado de forma masiva mediante un trabajo de importación de conjuntos de datos.

    • Elija Incremental para exportar solo los datos que haya importado individualmente mediante la consola o las operaciones PutEvents, PutUsers o PutItems.

    • Elija Ambos para exportar todos los datos del conjunto de datos.

  12. Para Etiquetas, si lo desea, añada cualquier etiqueta. Para obtener más información acerca del etiquetado de recursos de Amazon Personalize, consulte Etiquetado de recursos de Amazon Personalize.

  13. Seleccione Crear trabajo de exportación de conjuntos de datos.

    En la página Información general del conjunto de datos, en Trabajos de exportación de conjuntos de datos, el trabajo aparece con un Estado de trabajo de exportación. El trabajo de exportación del conjunto de datos se completa cuando el estado cambia a ACTIVE. A continuación, puede descargar los datos desde el bucket de Amazon S3 de salida. Para obtener información sobre cómo descargar objeto de un bucket de Amazon S3, consulte Descarga de un objeto en la Guía del usuario de Amazon Simple Storage Service.

Creación de un trabajo de exportación de conjunto de datos (AWS CLI)

Tras importar los datos en el conjunto de datos y crear un bucket de Amazon S3 de salida, puede exportar el conjunto de datos al bucket para su análisis. Para exportar un conjunto de datos mediante el AWS CLI, cree un trabajo de exportación de conjuntos de datos mediante el comando create-dataset-export-job AWS CLI. Para obtener información sobre la creación de un bucket de Amazon S3, consulte Creación de un bucket en la Guía del usuario de Amazon Simple Storage Service.

Antes de exportar un conjunto de datos, asegúrese de que el rol de servicio de Amazon Personalize pueda acceder y escribir en su bucket de Amazon S3 de salida. Consulte Requisitos de permisos para trabajos de exportación de conjuntos de datos.

A continuación, se muestra un ejemplo del comando create-dataset-export-job AWS CLI. Asigne un nombre al trabajo, sustituya dataset arn por el Nombre de recurso de Amazon (ARN) del conjunto de datos que desea exportar y sustituya role ARN por el ARN del rol de servicio de Amazon Personalize que creó en Creación de un rol de IAM para Amazon Personalize. En s3DataDestination, para el kmsKeyArn, si lo desea, proporcione el ARN para su clave AWS KMS y, para path proporcione la ruta al bucket de Amazon S3 de salida.

Para ingestion-mode, especifique los datos que se exportarán de las siguientes opciones:

  • Especifique BULK para exportar solo los datos que haya importado de forma masiva mediante un trabajo de importación de conjuntos de datos.

  • Especifique PUT para exportar solo los datos que haya importado de manera individual mediante la consola o las operaciones PutEvents, PutUsers o PutItems.

  • Especifique ALL para exportar todos los datos del conjunto de datos.

Para obtener más información, consulte CreateDatasetExportJob.

aws personalize create-dataset-export-job \ --job-name job name \ --dataset-arn dataset ARN \ --job-output "{\"s3DataDestination\":{\"kmsKeyArn\":\"kms key ARN\",\"path\":\"s3://amzn-s3-demo-bucket/folder-name/\"}}" \ --role-arn role ARN \ --ingestion-mode PUT

Se muestra el ARN del trabajo de exportación del conjunto de datos.

{ "datasetExportJobArn": "arn:aws:personalize:us-west-2:acct-id:dataset-export-job/DatasetExportJobName" }

Utilice la operación DescribeDatasetExportJob para comprobar el estado.

aws personalize describe-dataset-export-job \ --dataset-export-job-arn dataset export job ARN

Creación de un trabajo de exportación de conjuntos de datos (SDK de AWS)

Tras importar los datos en el conjunto de datos y crear un bucket de Amazon S3 de salida, puede exportar el conjunto de datos al bucket para su análisis. Para exportar un conjunto de datos mediante los SDK de AWS, cree un trabajo de exportación de conjuntos de datos mediante la operación CreateDatasetExportJob. Para obtener información sobre la creación de un bucket de Amazon S3, consulte Creación de un bucket en la Guía del usuario de Amazon Simple Storage Service.

En el siguiente código, se muestra cómo crear un trabajo de exportación de conjunto de datos con el SDK para Python (Boto3) o el SDK para Java 2.x.

Antes de exportar un conjunto de datos, asegúrese de que el rol de servicio de Amazon Personalize pueda acceder y escribir en su bucket de Amazon S3 de salida. Consulte Requisitos de permisos para trabajos de exportación de conjuntos de datos.

SDK for Python (Boto3)

Utilice el siguiente create_dataset_export_job para exportar los datos de un conjunto de datos en un bucket de Amazon S3. Asigne un nombre al trabajo, sustituya dataset arn por el nombre de recurso de Amazon (ARN) del conjunto de datos que desea exportar y sustituya role ARN por el ARN del rol de servicio de Amazon Personalize que creó en Creación de un rol de IAM para Amazon Personalize. En s3DataDestination, para el kmsKeyArn, si lo desea, proporcione el ARN para su clave AWS KMS y, para path proporcione la ruta al bucket de Amazon S3 de salida.

Para ingestionMode, especifique los datos que se exportarán de las siguientes opciones:

  • Especifique BULK para exportar solo los datos que haya importado de forma masiva mediante un trabajo de importación de conjuntos de datos.

  • Especifique PUT para exportar solo los datos que haya importado de manera individual mediante la consola o las operaciones PutEvents, PutUsers o PutItems.

  • Especifique ALL para exportar todos los datos del conjunto de datos.

import boto3 personalize = boto3.client('personalize') response = personalize.create_dataset_export_job( jobName = 'job name', datasetArn = 'dataset ARN', jobOutput = { "s3DataDestination": { "kmsKeyArn": "kms key ARN", "path": "s3://amzn-s3-demo-bucket/folder-name/" } }, roleArn = 'role ARN', ingestionMode = 'PUT' ) dsej_arn = response['datasetExportJobArn'] print ('Dataset Export Job arn: ' + dsej_arn) description = personalize.describe_dataset_export_job( datasetExportJobArn = dsej_arn)['datasetExportJob'] print('Name: ' + description['jobName']) print('ARN: ' + description['datasetExportJobArn']) print('Status: ' + description['status'])
SDK for Java 2.x

Utilice el siguiente método createDatasetExportJob para crear un trabajo de exportación de conjunto de datos. Pase lo siguiente como parámetros: un PersonalizeClient, el nombre de su trabajo de exportación, el ARN del conjunto de datos que desea exportar, el modo de ingesta, la ruta del bucket de Amazon S3 de salida y el ARN para su clave AWS KMS.

El ingestionMode puede ser una de las siguientes opciones:

  • Use IngestionMode.BULK para exportar solo los datos que haya importado de forma masiva mediante un trabajo de importación de conjuntos de datos.

  • Use IngestionMode.PUT para exportar solo los datos que haya importado de forma individual mediante la consola o las operaciones PutEvents, PutUsers o PutItems.

  • Utilice IngestionMode.ALL para exportar todos los datos del conjunto de datos.

public static void createDatasetExportJob(PersonalizeClient personalizeClient, String jobName, String datasetArn, IngestionMode ingestionMode, String roleArn, String s3BucketPath, String kmsKeyArn) { long waitInMilliseconds = 30 * 1000; // 30 seconds String status = null; try { S3DataConfig exportS3DataConfig = S3DataConfig.builder() .path(s3BucketPath) .kmsKeyArn(kmsKeyArn) .build(); DatasetExportJobOutput jobOutput = DatasetExportJobOutput.builder() .s3DataDestination(exportS3DataConfig) .build(); CreateDatasetExportJobRequest createRequest = CreateDatasetExportJobRequest.builder() .jobName(jobName) .datasetArn(datasetArn) .ingestionMode(ingestionMode) .jobOutput(jobOutput) .roleArn(roleArn) .build(); String datasetExportJobArn = personalizeClient.createDatasetExportJob(createRequest).datasetExportJobArn(); DescribeDatasetExportJobRequest describeDatasetExportJobRequest = DescribeDatasetExportJobRequest.builder() .datasetExportJobArn(datasetExportJobArn) .build(); long maxTime = Instant.now().getEpochSecond() + 3 * 60 * 60; while (Instant.now().getEpochSecond() < maxTime) { DatasetExportJob datasetExportJob = personalizeClient.describeDatasetExportJob(describeDatasetExportJobRequest) .datasetExportJob(); status = datasetExportJob.status(); System.out.println("Export job status: " + status); if (status.equals("ACTIVE") || status.equals("CREATE FAILED")) { break; } try { Thread.sleep(waitInMilliseconds); } catch (InterruptedException e) { System.out.println(e.getMessage()); } } } catch (PersonalizeException e) { System.out.println(e.awsErrorDetails().errorMessage()); } }