

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criar um conjunto de dados e um esquema
<a name="data-prep-creating-datasets"></a>

Depois de [criar um grupo de conjuntos de dados](data-prep-ds-group.md), você poderá criar um esquema do Amazon Personalize e um conjunto de dados para cada tipo de dados sendo importado. Um *esquema* informa ao Amazon Personalize sobre a estrutura dos seus dados e permite que o Amazon Personalize analise os dados. Ao criar um esquema no Amazon Personalize, você usa o arquivo JSON que criou em [Criar arquivos JSON de esquema para esquemas do Amazon Personalize](how-it-works-dataset-schema.md). 

 Um *conjunto de dados* é um contêiner para dados de treinamento no Amazon Personalize. Diferentes tipos de conjuntos de dados têm requisitos distintos. Você cria um conjunto de dados para cada tipo de dados que está importando. Para obter informações sobre os diferentes tipos de conjuntos de dados e sobre como preparar seus dados, consulte [Preparar os dados de treinamento para o Amazon Personalize](preparing-training-data.md).

Você pode criar esquemas e conjuntos de dados com o console Amazon Personalize AWS Command Line Interface ,AWS CLI() ou. AWS SDKs Não é possível criar os recursos de próximas melhores ações, incluindo os conjuntos de dados de interações com ações e ações, em um grupo de conjuntos de dados de domínio. 

**Importante**  
 Depois que você criar um esquema, não será possível fazer alterações no esquema. No entanto, se você adicionar novas colunas, poderá substituir o esquema atual de um conjunto de dados por um novo. Para obter mais informações, consulte [Substituir o esquema de um conjunto de dados para adicionar novas colunas](updating-dataset-schema.md).

**Topics**
+ [Criar um conjunto de dados e um esquema (console)](#data-prep-creating-ds-console)
+ [Criar um conjunto de dados e um esquema (AWS CLI)](#data-prep-creating-ds-cli)
+ [Criar um conjunto de dados e um esquema (AWS SDKs)](#data-prep-creating-ds-sdk)

## Criar um conjunto de dados e um esquema (console)
<a name="data-prep-creating-ds-console"></a>

 Se esse for o primeiro conjunto de dados do grupo, o primeiro tipo de conjunto de dados será de interações com itens. Para criar um conjunto de dados de interações com itens no console, especifique o nome do conjunto de dados e, depois, indique um esquema JSON no [formato Avro](https://docs.oracle.com/database/nosql-12.1.3.0/GettingStartedGuide/avroschemas.html). Se não for seu primeiro conjunto de dados nesse grupo de conjuntos de dados, escolha o tipo de conjunto de dados e, em seguida, especifique um nome e um esquema. 

Para obter informações sobre os requisitos de conjuntos de dados do Amazon Personalize, consulte [Preparar os dados de treinamento para o Amazon Personalize](preparing-training-data.md). Se você acabou de concluir [Criar um grupo do conjunto de dados do Amazon Personalize](data-prep-ds-group.md) e já estiver criando o conjunto de dados, vá para a etapa 4 deste procedimento. 

**Para criar um conjunto de dados e um esquema**

1. Caso ainda não tenha, siga as instruções em [Criar arquivos JSON de esquema para esquemas do Amazon Personalize](how-it-works-dataset-schema.md) para criar um arquivo JSON do esquema que descreve seus dados.

1. Abra o console Amazon Personalize em [https://console.aws.amazon.com/personalize/casa](https://console.aws.amazon.com/personalize/home) e faça login na sua conta.

1.  Na página **Grupos de conjuntos de dados**, escolha o grupo de conjuntos de dados que você criou em [Criar um grupo do conjunto de dados do Amazon Personalize](data-prep-ds-group.md). 

1. Na **Etapa 1. Em Criar conjunto de dados** escolha **Criar conjunto de dados** e escolha o tipo de conjunto a ser criado.

1. Escolha **Importar dados diretamente para os conjuntos de dados do Amazon Personalize** e depois **Próximo**.

1. Em **Detalhes do conjunto de dados**, para **Nome do conjunto de dados**, especifique um nome para o conjunto de dados.

1. Para **Esquema do conjunto de dados**, escolha **Criar um novo esquema** ou **Usar um esquema existente**.

1. Se você estiver usando um esquema atual, escolha esse esquema. Se você estiver criando um novo esquema, atribua um nome a ele e cole no arquivo JSON do esquema que corresponde aos seus dados. Você criou esse arquivo em [Criar arquivos JSON de esquema para esquemas do Amazon Personalize](how-it-works-dataset-schema.md).

1. Para **Tags**, é possível adicionar quaisquer tags. Para obter mais informações sobre recursos de atribuição de tags do Amazon Personalize, consulte [Usar tags nos recursos do Amazon Personalize](tagging-resources.md).

1. Escolha **Avançar** e siga as instruções em [Importar dados de treinamento para os conjuntos de dados do Amazon Personalize](import-data.md) para importar seus dados.

## Criar um conjunto de dados e um esquema (AWS CLI)
<a name="data-prep-creating-ds-cli"></a>

Para criar um conjunto de dados e um esquema usando o AWS CLI, você usa o `create-schema` comando (que usa a operação da [CreateSchema](API_CreateSchema.md) API) e depois `create-dataset` (que usa a operação da [CreateDataset](API_CreateDataset.md) API).

**Para criar um esquema e um conjunto de dados**

1. Caso ainda não tenha, siga as instruções em [Criar arquivos JSON de esquema para esquemas do Amazon Personalize](how-it-works-dataset-schema.md) para criar um arquivo JSON do esquema que descreve seus dados.

1. Crie um esquema no Amazon Personalize executando o seguinte comando. Depois que você criar um esquema, não será possível fazer alterações no esquema. Substitua `schemaName` pelo nome do esquema e, `file://SchemaName.json` pelo local do seu arquivo JSON. O exemplo mostra o arquivo como pertencente à pasta atual. Se estiver criando um esquema para um conjunto de dados em um grupo de conjuntos de dados de domínio, adicione o parâmetro `domain` e defina-o como `ECOMMERCE` ou `VIDEO_ON_DEMAND`. Para obter mais informações sobre a API, consulte [CreateSchema](API_CreateSchema.md).

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

   O nome do recurso da Amazon (ARN) do esquema é exibido, conforme mostrado no exemplo a seguir:

   ```
   {
     "schemaArn": "arn:aws:personalize:us-west-2:acct-id:schema/SchemaName"
   }
   ```

1. Crie um conjunto de dados vazio executando o seguinte comando. Forneça o nome do recurso da Amazon (ARN) do grupo de conjuntos de dados de [Criar um grupo de conjuntos de dados (AWS CLI)](data-prep-ds-group.md#data-prep-creating-ds-group-cli) e o ARN do esquema da etapa anterior. Os valores de tipo de conjunto de dados podem ser `Interactions`, `Users`, `Items`, `Actions` ou `Action_Interactions`. Para obter mais informações sobre a API, consulte [CreateDataset](API_CreateDataset.md).

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

   O ARN do conjunto de dados é exibido, conforme mostrado no exemplo a seguir.

   ```
   {
     "datasetArn": "arn:aws:personalize:us-west-2:acct-id:dataset/DatasetName/INTERACTIONS"
   }
   ```

1. Registre o ARN do conjunto de dados para uso posterior. Depois de criar um conjunto de dados, estará tudo pronto para importar os dados de treinamento. Consulte [Importar dados de treinamento para os conjuntos de dados do Amazon Personalize](import-data.md). 

## Criar um conjunto de dados e um esquema (AWS SDKs)
<a name="data-prep-creating-ds-sdk"></a>

Para criar um conjunto de dados e um esquema usando o AWS SDKs, primeiro você define um esquema no [formato Avro](https://docs.oracle.com/database/nosql-12.1.3.0/GettingStartedGuide/avroschemas.html) e o adiciona ao Amazon Personalize usando a operação. [CreateSchema](API_CreateSchema.md) Depois de criar um esquema, não é possível fazer alterações no esquema. Em seguida, crie um conjunto de dados usando a operação [CreateDataset](API_CreateDataset.md).

**Para criar um esquema e um conjunto de dados**

1. Caso ainda não tenha, siga as instruções em [Criar arquivos JSON de esquema para esquemas do Amazon Personalize](how-it-works-dataset-schema.md) para criar um arquivo JSON do esquema que descreve seus dados.

1. Crie um esquema no Amazon Personalize com o código a seguir. Especifique o nome do esquema e o caminho do arquivo JSON do esquema. Se estiver criando um esquema para um conjunto de dados em um grupo de conjuntos de dados de domínio, adicione o parâmetro `domain` e defina-o como `ECOMMERCE` ou `VIDEO_ON_DEMAND`. Para obter mais informações sobre a API, consulte [CreateSchema](API_CreateSchema.md).

------
#### [ 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 "node:fs";
   
   const 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();
   ```

------

   O Amazon Personalize retorna o ARN do novo esquema. Grave-o, pois ele será necessário na próxima etapa.

1. Crie um conjunto de dados usando a operação [CreateDataset](API_CreateDataset.md). O código a seguir mostra como criar um conjunto de dados. Especifique o nome do recurso da Amazon (ARN) do grupo de conjuntos de dados, o ARN do esquema da etapa anterior, e indique o tipo de conjunto de dados. Os valores de tipo de conjunto de dados podem ser `Interactions`, `Users`, `Items`, `Actions` ou `Action_Interactions`. Para obter informações sobre os diferentes tipos de conjuntos de dados, consulte [Preparar os dados de treinamento para o Amazon Personalize](preparing-training-data.md). 

------
#### [ 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();
   ```

------

   Depois de criar um conjunto de dados, estará tudo pronto para importar os dados de treinamento. Consulte [Importar dados de treinamento para os conjuntos de dados do Amazon Personalize](import-data.md).