

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.

# Tipo anidado
<a name="s_Nested-data-type"></a>

AWS Clean Rooms admite consultas que incluyan datos con tipos de datos anidados, específicamente los tipos de columnas AWS Glue STRUCT, ARRAY y MAP. Solo la regla de análisis personalizada admite tipos de datos anidados.

En particular, los tipos de datos anidados no se ajustan a la estructura tabular estricta del modelo de datos relacionales de las bases de datos SQL. 

Los tipos de datos anidados contienen etiquetas que hacen referencia a entidades diferenciadas dentro de los datos. Pueden contener valores complejos, como matrices, estructuras anidadas y otras estructuras complejas, que están asociadas a formatos de serialización, como JSON. Los tipos de datos anidados admiten hasta 1 MB de datos anidados por campo u objeto con tipo de datos anidados.

**Topics**
+ [Tipo de matriz](array_type.md)
+ [Tipo de mapa](map_type.md)
+ [Tipo de estructura](struct_type.md)
+ [Ejemplos de tipos de datos anidados](s_nested-data-type-examples.md)

# Tipo de matriz
<a name="array_type"></a>

Usa el tipo ARRAY para representar valores compuestos por una secuencia de elementos con el tipo de`elementType`. 

```
array(elementType, containsNull)
```

Se utiliza `containsNull` para indicar si los elementos de un tipo ARRAY pueden tener `null` valores.

# Tipo de mapa
<a name="map_type"></a>

Usa el tipo MAP para representar valores que comprenden un conjunto de pares clave-valor. 

```
map(keyType, valueType, valueContainsNull)
```

`keyType`: el tipo de datos de las claves 

`valueType`: el tipo de datos de los valores

No se permite que las claves tengan `null` valores. Se utiliza `valueContainsNull` para indicar si los valores de un valor de tipo MAP pueden tener `null` valores.

# Tipo de estructura
<a name="struct_type"></a>

Usa el tipo STRUCT para representar valores con la estructura descrita por una secuencia de StructFields (campos). 

```
struct(name, dataType, nullable)
```

StructField(nombre, tipo de datos, anulable): representa un campo en un. StructType 

`dataType`: el tipo de datos: un campo

`name`: el nombre de un campo

Se utiliza `nullable` para indicar si los valores de estos campos pueden tener `null` valores.

# Ejemplos de tipos de datos anidados
<a name="s_nested-data-type-examples"></a>

Para el tipo `struct<given:varchar, family:varchar>`, existen dos nombres de atributo: `given` y `family`, cada uno de los cuales corresponde a un valor `varchar`.

Para el tipo `array<varchar>`, la matriz se especifica como una lista de `varchar`. 

El tipo `array<struct<shipdate:timestamp, price:double>>` hace referencia a una lista de elementos con el tipo `struct<shipdate:timestamp, price:double>`. 

El tipo de datos `map` se comporta como una `array` de `structs`, donde el nombre del atributo de cada elemento de la matriz se indica con `key` y se asigna a un `value`. 

**Example**  
Por ejemplo, el tipo `map<varchar(20), varchar(20)>` se trata como`array<struct<key:varchar(20), value:varchar(20)>>`, dónde `key` y `value` hacen referencia a los atributos del mapa en los datos subyacentes.   
Para obtener información sobre cómo se AWS Clean Rooms habilita la navegación en matrices y estructuras, consulte. [Navegación](query-nested-data.md#navigation)  
Para obtener información sobre cómo se AWS Clean Rooms habilita la iteración sobre matrices navegando por la matriz mediante la cláusula FROM de una consulta, consulte. [Desanidar consultas](query-nested-data.md#unnesting-queries)