

# Creación de un único esquema para cada ruta de inclusión de Amazon S3
<a name="crawler-grouping-policy"></a>

De forma predeterminada, cuando un rastreador define tablas para los datos almacenados en Amazon S3, tiene en cuenta la compatibilidad y el esquema de los datos por igual. Entre los factores de compatibilidad de datos que se tienen en cuenta se incluye si los datos poseen el mismo formato (por ejemplo, JSON), el mismo tipo de compresión (por ejemplo, GZIP), la estructura de la ruta de Amazon S3 y otros atributos de datos. La similitud de los esquemas es una medida de qué tan similares son los esquemas de objetos de Amazon S3 independientes.

Para ayudar a ilustrar esta opción, supongamos que define un rastreador con una ruta de inclusión `s3://amzn-s3-demo-bucket/table1/`. Al ejecutarse el rastreador, encuentra dos archivos JSON con las siguientes características:
+ **Archivo 1** – `S3://amzn-s3-demo-bucket/table1/year=2017/data1.json`
+ *Contenido del archivo* – `{“A”: 1, “B”: 2}`
+ *Esquema* – `A:int, B:int`
+ **Archivo 2** – `S3://amzn-s3-demo-bucket/table1/year=2018/data2.json`
+ *Contenido del archivo* – `{“C”: 3, “D”: 4}`
+ *Esquema* – `C: int, D: int`

De forma predeterminada, el rastreador crea dos tablas, llamadas `year_2017` y `year_2018`, ya que los esquemas no son lo suficientemente similares. Sin embargo, si la opción **Crear un solo esquema para cada ruta de S3** está seleccionada y los datos son compatibles, el rastreador crea una tabla. La tabla tiene el esquema `A:int,B:int,C:int,D:int` y `partitionKey` `year:string`.

------
#### [ Consola de administración de AWS ]

1. Inicie sesión en la Consola de administración de AWS y abra la consola de AWS Glue en [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

1. Elija **Rastreadores** en el **Catálogo de datos**.

1. Al configurar un rastreador nuevo, en **Salida y programación**, seleccione la opción **Crear un solo esquema para cada ruta de S3** en Opciones avanzadas. 

------
#### [ AWS CLI ]

Puede configurar un rastreador en `CombineCompatibleSchemas` en una definición de tabla común cuando sea posible. Con esta opción, el rastreador sigue teniendo en cuenta la compatibilidad de los datos, pero pasa por alto la similitud de los esquemas específicos al evaluar objetos de Amazon S3 en la ruta de inclusión especificada.

Al configurar el rastreador mediante la AWS CLI, establezca la siguiente opción de configuración:

```
aws glue update-crawler \
   --name myCrawler \
   --configuration '{"Version": 1.0, "Grouping": {"TableGroupingPolicy": "CombineCompatibleSchemas" }}'
```

------
#### [ API ]

Al configurar el rastreador mediante la API, establezca la siguiente opción de configuración:

 Establezca el campo `Configuration` con una representación de cadena del siguiente objeto JSON en la API del rastreador; por ejemplo: 

```
{
   "Version": 1.0,
   "Grouping": {
      "TableGroupingPolicy": "CombineCompatibleSchemas" }
}
```

------