

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Type imbriqué
<a name="s_Nested-data-type"></a>

AWS Clean Rooms prend en charge les requêtes impliquant des données avec des types de données imbriqués, en particulier les types de colonnes AWS Glue STRUCT, ARRAY et MAP. Seule la règle d'analyse personnalisée prend en charge les types de données imbriqués.

Les types de données imbriqués ne sont notamment pas conformes à la structure tabulaire rigide du modèle de données relationnel des bases de données SQL. 

Les types de données imbriqués contiennent des balises qui font référence à des entités distinctes au sein des données. Elles peuvent contenir des valeurs complexes telles que des tableaux, des structures imbriquées et d’autres structures complexes associées à des formats de sérialisation, tels que JSON. Les types de données imbriqués prennent en charge jusqu'à 1 Mo de données pour un champ ou un objet de type de données imbriqué individuel.

**Topics**
+ [Type de TABLEAU](array_type.md)
+ [Type de carte](map_type.md)
+ [Type de STRUCTURE](struct_type.md)
+ [Exemples de types de données imbriqués](s_nested-data-type-examples.md)

# Type de TABLEAU
<a name="array_type"></a>

Utilisez le type ARRAY pour représenter des valeurs comprenant une séquence d'éléments de type`elementType`. 

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

`containsNull`À utiliser pour indiquer si les éléments d'un type ARRAY peuvent avoir des `null` valeurs.

# Type de carte
<a name="map_type"></a>

Utilisez le type MAP pour représenter des valeurs comprenant un ensemble de paires clé-valeur. 

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

`keyType`: le type de données des clés 

`valueType`: le type de données des valeurs

Les clés ne sont pas autorisées à avoir `null` des valeurs. `valueContainsNull`À utiliser pour indiquer si les valeurs de type MAP peuvent avoir des `null` valeurs.

# Type de STRUCTURE
<a name="struct_type"></a>

Utilisez le type STRUCT pour représenter des valeurs avec la structure décrite par une séquence de StructFields (champs). 

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

StructField(nom, DataType, nullable) : représente un champ dans un. StructType 

`dataType`: le type de données est un champ

`name`: le nom d'un champ

`nullable`À utiliser pour indiquer si les valeurs de ces champs peuvent avoir des `null` valeurs.

# Exemples de types de données imbriqués
<a name="s_nested-data-type-examples"></a>

Pour le `struct<given:varchar, family:varchar>` type, il existe deux noms d'attributs :`given`, et`family`, chacun correspondant à une `varchar` valeur.

Pour le `array<varchar>` type, le tableau est spécifié sous forme de liste de`varchar`. 

Le `array<struct<shipdate:timestamp, price:double>>` type fait référence à une liste d'éléments de `struct<shipdate:timestamp, price:double>` type. 

Le type de `map` données se comporte comme un `array` de`structs`, où le nom d'attribut de chaque élément du tableau est indiqué par `key` et correspond à un. `value` 

**Example**  
Par exemple, le `map<varchar(20), varchar(20)>` type est traité comme`array<struct<key:varchar(20), value:varchar(20)>>`, où `key` et fait `value` référence aux attributs de la carte dans les données sous-jacentes.   
Pour plus d'informations sur le mode AWS Clean Rooms d'activation de la navigation dans les tableaux et les structures, consultez[Navigation](query-nested-data.md#navigation).  
Pour plus d'informations sur la manière AWS Clean Rooms d'activer l'itération sur des tableaux en naviguant dans le tableau à l'aide de la clause FROM d'une requête, consultez. [Désimbriquer des requêtes](query-nested-data.md#unnesting-queries)