Crear un esquema y un conjunto de datos - 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.

Crear un esquema y un conjunto de datos

Tras crear un grupo de conjuntos de datos, estará listo para crear un esquema de Amazon Personalize y un conjunto de datos para cada tipo de datos que vaya a importar. Un esquema informa a Amazon Personalize de la estructura de sus datos y permite que Amazon Personalize analice los datos. Cuando crea un esquema en Amazon Personalize, utiliza el JSON archivo en el que lo creóCreación de JSON archivos de esquema para los esquemas de Amazon Personalize.

Un conjunto de datos es un contenedor de datos de entrenamiento en Amazon Personalize. Los distintos tipos de conjuntos de datos tienen requisitos diferentes. Usted crea un conjunto de datos para cada tipo de datos que va a importar. Para obtener información sobre los distintos tipos de conjuntos de datos y cómo preparar los datos, consultePreparación de los datos de entrenamiento para Amazon Personalize.

Puede crear esquemas y conjuntos de datos con la consola Amazon Personalize, AWS Command Line Interface (AWS CLI), o AWS SDKs. No puedes crear los siguientes recursos de mejor acción, incluidos los conjuntos de datos de acciones e interacciones entre acciones, en un grupo de conjuntos de datos de dominio.

importante

Una vez que se haya creado un esquema, no se podrán realizar cambios en él. Sin embargo, si agregas columnas nuevas, puedes reemplazar el esquema de un conjunto de datos por uno nuevo. Para obtener más información, consulte Sustituir el esquema de un conjunto de datos para añadir nuevas columnas.

Creación de un conjunto de datos y un esquema (consola)

Si este es el primer conjunto de datos de su grupo de conjuntos de datos, su primer tipo de conjunto de datos será un conjunto de datos de interacciones de elementos. Para crear su conjunto de datos de interacciones entre elementos en la consola, especifique el nombre del conjunto de datos y, a continuación, especifique un JSON esquema en formato Avro. Si no es el primer conjunto de datos de este grupo de conjuntos de datos, elija el tipo de conjunto de datos y, a continuación, especifique un nombre y un esquema.

Para obtener información sobre los requisitos de los conjuntos de datos de Amazon Personalize, consultePreparación de los datos de entrenamiento para Amazon Personalize. Si acaba de completar Creación de un grupo de conjuntos de datos de Amazon Personalize y ya está creando el conjunto de datos, vaya al paso 4 de este procedimiento.

Para crear un conjunto de datos y un esquema
  1. Si aún no lo ha hecho, siga las instrucciones Creación de JSON archivos de esquema para los esquemas de Amazon Personalize para crear un JSON archivo de esquema que describa sus datos.

  2. Abre la consola Amazon Personalize en https://console.aws.amazon.com/personalize/casa e inicia sesión en tu cuenta.

  3. En la página Grupos de conjuntos de datos, elija el grupo de conjuntos de datos que creó en Creación de un grupo de conjuntos de datos de Amazon Personalize.

  4. En el paso 1. Crear conjuntos de datos e importar datos, elija Crear conjunto de datos y elija el tipo de conjunto de datos que desee crear.

  5. Elija Importar datos directamente a los conjuntos de datos de Amazon Personalize y elija Siguiente.

  6. En Detalles del conjunto de datos, en Nombre del conjunto de datos, especifique un nombre para el conjunto de datos.

  7. En Esquema de conjunto de datos, elige Crear un esquema nuevo o Usar un esquema existente.

  8. Si está utilizando un esquema existente, elija el esquema existente que desee usar. Si va a crear un esquema nuevo, asígnele un nombre y péguelo en el esquema JSON que coincida con sus datos. Creó este archivo enCreación de JSON archivos de esquema para los esquemas de Amazon Personalize.

  9. 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.

  10. Elija Siguiente y siga las instrucciones de Importación de datos de entrenamiento a conjuntos de datos de Amazon Personalize para importar los datos.

Crear un conjunto de datos y un esquema (AWS CLI)

Para crear un conjunto de datos y un esquema mediante el AWS CLI, se usa el create-schema comando the (que usa la CreateSchema API operación) y luego create-dataset (que usa la CreateDataset API operación).

Para crear un esquema y un conjunto de datos
  1. Si aún no lo ha hecho, siga las instrucciones Creación de JSON archivos de esquema para los esquemas de Amazon Personalize para crear un JSON archivo de esquema que resuma sus datos.

  2. Ejecute el siguiente comando para crear un esquema en Amazon Personalize. Una vez que se haya creado un esquema, no se podrán realizar cambios en él. schemaNameSustitúyalo por el nombre del esquema y file://SchemaName.json sustitúyalo por la ubicación del JSON archivo. En el ejemplo, el archivo pertenece a la carpeta actual. Si va a crear un esquema para un conjunto de datos en un grupo de conjunto de datos de dominio, debe agregar el parámetro domain y establecerlo en ECOMMERCE o VIDEO_ON_DEMAND. Para obtener más información acerca deAPI, consulteCreateSchema.

    aws personalize create-schema \ --name SchemaName \ --schema file://SchemaName.json

    Se muestra el esquema Amazon Resource Name (ARN), como se muestra en el siguiente ejemplo:

    { "schemaArn": "arn:aws:personalize:us-west-2:acct-id:schema/SchemaName" }
  3. Ejecute el siguiente comando para crear un conjunto de datos vacío. Proporcione el grupo de conjuntos de datos Amazon Resource Name (ARN) Crear un grupo de conjuntos de datos (AWS CLI) y el esquema ARN del paso anterior. Los valores del tipo de conjunto de datos pueden ser Interactions, Users, Items, Actions o Action_Interactions. Para obtener más información sobre elAPI, consulteCreateDataset.

    aws personalize create-dataset \ --name Dataset Name \ --dataset-group-arn Dataset Group ARN \ --dataset-type Dataset Type \ --schema-arn Schema Arn

    ARNSe muestra el conjunto de datos, como se muestra en el siguiente ejemplo.

    { "datasetArn": "arn:aws:personalize:us-west-2:acct-id:dataset/DatasetName/INTERACTIONS" }
  4. Registre el conjunto de datos ARN para su uso posterior. Una vez que haya creado un conjunto de datos, estará listo para importar sus datos de entrenamiento. Consulte Importación de datos de entrenamiento a conjuntos de datos de Amazon Personalize.

Crear un conjunto de datos y un esquema (AWS SDKs)

Para crear un conjunto de datos y un esquema mediante el AWS SDKs, primero debe definir un esquema en formato Avro y añadirlo a Amazon Personalize mediante la CreateSchema operación. Una vez que se haya creado un esquema, no se podrán realizar cambios en él. A continuación, cree un conjunto de datos mediante la operación CreateDataset.

Para crear un esquema y un conjunto de datos
  1. Si aún no lo ha hecho, siga las instrucciones Creación de JSON archivos de esquema para los esquemas de Amazon Personalize para crear un JSON archivo de esquema que describa sus datos.

  2. Cree un esquema en Amazon Personalize con el siguiente código. Especifique el nombre del esquema y la ruta del JSON archivo del esquema. Si va a crear un esquema para un conjunto de datos en un grupo de conjunto de datos de dominio, debe agregar el parámetro domain y establecerlo en ECOMMERCE o VIDEO_ON_DEMAND. Para obtener más información sobre elAPI, consulteCreateSchema.

    SDK for Python (Boto3)
    import boto3 personalize = boto3.client('personalize') with open('schemaFile.json') as f: createSchemaResponse = personalize.create_schema( name = 'schema name', schema = f.read() ) schema_arn = createSchemaResponse['schemaArn'] print('Schema ARN:' + schema_arn )
    SDK for Java 2.x
    public static String createSchema(PersonalizeClient personalizeClient, String schemaName, String filePath) { String schema = null; try { schema = new String(Files.readAllBytes(Paths.get(filePath))); } catch (IOException e) { System.out.println(e.getMessage()); } try { CreateSchemaRequest createSchemaRequest = CreateSchemaRequest.builder() .name(schemaName) .schema(schema) .build(); String schemaArn = personalizeClient.createSchema(createSchemaRequest).schemaArn(); System.out.println("Schema arn: " + schemaArn); return schemaArn; } catch(PersonalizeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }
    SDK for JavaScript v3
    // Get service clients module and commands using ES6 syntax. import { CreateSchemaCommand } from "@aws-sdk/client-personalize"; import { personalizeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeClient = new PersonalizeClient({ region: "REGION"}); import fs from 'fs'; let schemaFilePath = "SCHEMA_PATH"; let mySchema = ""; try { mySchema = fs.readFileSync(schemaFilePath).toString(); } catch (err) { mySchema = 'TEST' // For unit tests. } // Set the schema parameters. export const createSchemaParam = { name: 'NAME', /* required */ schema: mySchema /* required */ }; export const run = async () => { try { const response = await personalizeClient.send(new CreateSchemaCommand(createSchemaParam)); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

    Amazon Personalize devuelve el ARN del nuevo esquema. Anote el valor, ya que lo necesitará en el siguiente paso.

  3. Cree un conjunto de datos utilizando la operación CreateDataset. El código siguiente muestra cómo crear un conjunto de datos. Especifique el nombre de recurso de Amazon (ARN) de su grupo de conjuntos de datos, el esquema ARN del paso anterior y especifique el tipo de conjunto de datos. Los valores del tipo de conjunto de datos pueden ser Interactions, Users, Items, Actions o Action_Interactions. Para obtener información sobre los distintos tipos de conjuntos de datos, consulte Preparación de los datos de entrenamiento para Amazon Personalize.

    SDK for Python (Boto3)
    import boto3 personalize = boto3.client('personalize') response = personalize.create_dataset( name = 'dataset_name', schemaArn = 'schema_arn', datasetGroupArn = 'dataset_group_arn', datasetType = 'dataset_type' ) print ('Dataset Arn: ' + response['datasetArn'])
    SDK for Java 2.x
    public static String createDataset(PersonalizeClient personalizeClient, String datasetName, String datasetGroupArn, String datasetType, String schemaArn) { try { CreateDatasetRequest request = CreateDatasetRequest.builder() .name(datasetName) .datasetGroupArn(datasetGroupArn) .datasetType(datasetType) .schemaArn(schemaArn).build(); String datasetArn = personalizeClient.createDataset(request).datasetArn(); System.out.println("Dataset " + datasetName + " created. Dataset ARN: " + datasetArn); return datasetArn; } catch(PersonalizeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }
    SDK for JavaScript v3
    // Get service clients module and commands using ES6 syntax. import { CreateDatasetCommand } from "@aws-sdk/client-personalize"; import { personalizeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeClient = new PersonalizeClient({ region: "REGION"}); // Set the dataset's parameters. export const createDatasetParam = { datasetGroupArn: 'DATASET_GROUP_ARN', /* required */ datasetType: 'DATASET_TYPE', /* required */ name: 'NAME', /* required */ schemaArn: 'SCHEMA_ARN' /* required */ } export const run = async () => { try { const response = await personalizeClient.send(new CreateDatasetCommand(createDatasetParam)); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

    Una vez que haya creado un conjunto de datos, estará listo para importar sus datos de entrenamiento. Consulte Importación de datos de entrenamiento a conjuntos de datos de Amazon Personalize.