

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.

# Reemplazo del esquema de un conjunto de datos para agregar nuevas columnas
<a name="updating-dataset-schema"></a>

 Después de crear un conjunto de datos de elementos o usuarios, puede reemplazar su esquema por uno nuevo o uno ya existente. Puede reemplazar el esquema de un conjunto de datos si su estructura de datos cambió después de crear el conjunto de datos. Por ejemplo, puede tener una nueva columna de metadatos de elementos que desee que Amazon Personalize tenga en cuenta durante el entrenamiento. O tal vez quiera añadir una columna de datos para utilizarla únicamente al filtrar las recomendaciones. 

 Al reemplazar el esquema de un conjunto de datos, debe conservar todos los campos del esquema anterior y no puede cambiar sus tipos de datos o atributos. Tras reemplazar el esquema de un conjunto de datos, Amazon Personalize excluye automáticamente del entrenamiento cualquier columna nueva para cualquier recomendador o solución personalizada existente. Para obtener más pautas y requisitos, consulte [Directrices y requisitos](#replace-schema-guidelines). 

 Puede reemplazar el esquema de un conjunto de datos con la consola de Amazon Personalize, AWS Command Line Interface (AWS CLI) y los SDK de AWS. 

**Topics**
+ [Directrices y requisitos](#replace-schema-guidelines)
+ [Sustitución del esquema de un conjunto de datos (consola)](#updating-dataset-schema-console)
+ [Sustitución del esquema de un conjunto de datos (AWS CLI)](#updating-dataset-schema-cli)
+ [Sustitución del esquema de un conjunto de datos (SDK de AWS)](#updating-dataset-schema-sdk)

## Directrices y requisitos
<a name="replace-schema-guidelines"></a>

Antes de reemplazar el esquema para un conjunto de datos, asegúrese de que conoce las siguientes pautas y requisitos:
+ No se puede reemplazar el esquema de un conjunto de datos de interacciones de elementos, un conjunto de datos de interacciones de acción o un conjunto de datos de acciones.
+ Puede añadir nuevos campos al esquema de reemplazo, pero debe conservar todos los campos del esquema anterior. Y no puede cambiar sus tipos de datos o atributos. Por ejemplo, si el esquema anterior incluye un campo `MEMBERSHIP_STATUS` para cadenas de datos categóricos, el nuevo esquema que utilice debe incluir un campo `MEMBERSHIP_STATUS` con estos atributos y tipos de datos.
+ Si el esquema actual tiene un campo al que desea cambiar el nombre, o si desea cambiar sus tipos de datos o atributos, puede agregar un campo nuevo con un nombre nuevo y tipos o atributos modificados. A continuación, incluya el campo nuevo en el entrenamiento y excluya el campo anterior. Todos los campos nuevos deben admitir datos `null`. Si el campo anterior no admitía datos de anulación, al importar datos, puede usar datos de marcador de posición para asegurarse de que la importación coincide con el esquema. Para obtener información sobre la configuración de las columnas utilizadas por un recomendador, consulte [Actualización de un recomendador](updating-recommender.md). Para obtener información sobre la configuración de las columnas utilizadas por una solución, consulte [Configuración de las columnas que se utilizan en el entrenamiento](custom-config-columns.md). 
+ Todos los campos nuevos deben admitir datos `null`. Para obtener más información acerca de cómo añadir un tipo nulo a un campo, consulte [Tipos de datos de esquema](how-it-works-dataset-schema.md#personalize-datatypes).
+ Tras reemplazar el esquema de un conjunto de datos, Amazon Personalize excluye automáticamente del entrenamiento cualquier columna nueva para cualquier recomendador o solución personalizada existente. El uso del conjunto de datos modificado implica las siguientes acciones:
  + Para usar cualquier columna nueva en el entrenamiento, importe los datos que se alineen con el nuevo esquema. A continuación, actualice las columnas recomendadas para que usen columnas nuevas o cree una nueva solución personalizada y configure las columnas que usará durante el entrenamiento.

    Para obtener información sobre la actualización de las columnas utilizadas por un recomendador, consulte [Actualización de un recomendador](updating-recommender.md). Para obtener información sobre la configuración de las columnas utilizadas por una solución, consulte [Configuración de las columnas que se utilizan en el entrenamiento](custom-config-columns.md). 
  + Para usar cualquier columna solo al filtrar, importe los datos que se alineen con el nuevo esquema, cree un filtro que utilice los nuevos datos y aplique el filtro a las solicitudes de recomendación. No necesita actualizar ningún recomendador ni crear o actualizar ningún recurso personalizado.

## Sustitución del esquema de un conjunto de datos (consola)
<a name="updating-dataset-schema-console"></a>

Para sustituir el esquema de un conjunto de datos por la consola de Amazon Personalize, debe elegir el conjunto de datos que desee modificar y sustituirlo por un esquema nuevo o utilizar uno existente. 

**Para reemplazar el esquema de un conjunto de datos**

1. Abra la consola de Amazon Personalize en [https://console.aws.amazon.com/personalize/home](https://console.aws.amazon.com/personalize/home) e inicie sesión en su cuenta.

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

1. En el panel de navegación, elija **Conjuntos de datos** y elija el botón de opción correspondiente al conjunto de datos que desea modificar. 

1. Elija **Acciones** y, a continuación, elija **Reemplazar esquema**.

1. En **Detalles del esquema**, elija reemplazarlo por un esquema nuevo o por uno creado anteriormente. 

1. Especifique el nuevo esquema que se va a utilizar. Si ha optado por:
   + Sustituir por un esquema nuevo, asígnele un nombre y, en la **Definición de esquema**, realice los cambios en el JSON del esquema. 
   + Usar un esquema creado anteriormente, en **Esquema creado anteriormente**, elija el esquema que quiere usar. Solo se muestran los esquemas que reúnen las condiciones. Para obtener información sobre los requisitos de esquema, consulte [Directrices y requisitos](#replace-schema-guidelines). 

1. Elija **Reemplazar**. Cuando el conjunto de datos esté activo, puede empezar a importar datos que se alineen con el nuevo esquema. Para obtener más información, consulte [Importación de datos de entrenamiento directamente a conjuntos de datos de Amazon Personalize](import-data.md).

## Sustitución del esquema de un conjunto de datos (AWS CLI)
<a name="updating-dataset-schema-cli"></a>

Para sustituir el esquema de un conjunto de datos por AWS CLI, utilice el comando `update-dataset` y especifique el nombre de recurso de Amazon (ARN) del conjunto de datos que se va a actualizar y el ARN del nuevo esquema que se va a utilizar. No se puede actualizar el esquema de un conjunto de datos de interacciones de elementos, un conjunto de datos de interacciones de acciones o un conjunto de datos de acciones.

 El siguiente código muestra cómo actualizar el esquema de un conjunto de datos con AWS CLI. Para reemplazar el esquema de un conjunto de datos por uno nuevo, use primero el comando `create-schema`. A continuación, utilice el siguiente código para reemplazar el esquema actual por el nuevo. Para obtener información sobre la creación de un esquema con AWS CLI, consulte [Creación de un conjunto de datos y un esquema (AWS CLI)](data-prep-creating-datasets.md#data-prep-creating-ds-cli). Para obtener información sobre los conjuntos de datos y los requisitos del esquema, consulte [Creación de archivos JSON de esquema para los esquemas de Amazon Personalize](how-it-works-dataset-schema.md). 

```
aws personalize update-dataset \
--dataset-arn Dataset ARN \
--schema-arn New schema ARN
```

 Cuando el conjunto de datos esté activo, puede empezar a importar datos que se alineen con el nuevo esquema. Para obtener más información, consulte [Importación de datos de entrenamiento directamente a conjuntos de datos de Amazon Personalize](import-data.md). Para obtener información sobre la última actualización del conjunto de datos, puede utilizar la operación [DescribeDataset](API_DescribeDataset.md). 

## Sustitución del esquema de un conjunto de datos (SDK de AWS)
<a name="updating-dataset-schema-sdk"></a>

Para reemplazar el esquema de un conjunto de datos por los SDK de AWS, se usa la operación de API `UpdateDataset`. Especifique el nombre de recurso de Amazon (ARN) del conjunto de datos que desea actualizar y el esquema nuevo que desea utilizar. No se puede actualizar el esquema de un conjunto de datos de interacciones de elementos, un conjunto de datos de interacciones de acciones o un conjunto de datos de acciones. 

El código siguiente muestra cómo reemplazar el esquema de un conjunto de datos por el SDK para Python (Boto3). Para reemplazar el esquema de un conjunto de datos por uno nuevo, use primero la operación [CreateSchema](API_CreateSchema.md). A continuación, utilice el siguiente código para reemplazar el esquema actual por el nuevo. Para obtener información sobre la creación de un esquema con los SDK de AWS, consulte [Creación de un conjunto de datos y un esquema (AWS SDKs)](data-prep-creating-datasets.md#data-prep-creating-ds-sdk). Para obtener información sobre los requisitos de los conjuntos de datos y el esquema, consulte [Creación de archivos JSON de esquema para los esquemas de Amazon Personalize](how-it-works-dataset-schema.md). 

```
import boto3

personalize = boto3.client('personalize')

update_dataset_response = personalize.update_dataset(
    datasetArn = 'dataset_arn',
    schemaArn = 'new_schema_arn'
)

print(update_dataset_response)
```

 Cuando el conjunto de datos esté activo, puede empezar a importar datos que se alineen con el nuevo esquema. Para obtener más información, consulte [Importación de datos de entrenamiento directamente a conjuntos de datos de Amazon Personalize](import-data.md). Para obtener información sobre la última actualización del conjunto de datos, puede utilizar la operación [DescribeDataset](API_DescribeDataset.md). 