

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

AWS Clean Rooms supporta le query che coinvolgono dati con tipi di dati annidati, in particolare i tipi di colonne AWS Glue STRUCT, ARRAY e MAP. Solo la regola di analisi personalizzata supporta i tipi di dati annidati.

In particolare, i tipi di dati annidati non sono conformi alla struttura rigida e tabulare del modello di dati relazionali dei database SQL. 

I tipi di dati annidati contengono tag che fanno riferimento a entità distinte all'interno dei dati. Possono contenere valori complessi quali array, strutture nidificate e altre strutture complesse associate ai formati di serializzazione, ad esempio JSON. I tipi di dati nidificati supportano fino a 1 MB di dati per un singolo campo o oggetto del tipo di dati nidificati.

**Topics**
+ [Tipo ARRAY](array_type.md)
+ [Tipo MAP](map_type.md)
+ [Tipo STRUCT](struct_type.md)
+ [Esempi di tipi di dati annidati](s_nested-data-type-examples.md)

# Tipo ARRAY
<a name="array_type"></a>

Usa il tipo ARRAY per rappresentare valori costituiti da una sequenza di elementi con il tipo di. `elementType` 

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

Utilizzato `containsNull` per indicare se gli elementi di un tipo ARRAY possono avere `null` valori.

# Tipo MAP
<a name="map_type"></a>

Usa il tipo MAP per rappresentare i valori che comprendono un insieme di coppie chiave-valore. 

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

`keyType`: il tipo di dati delle chiavi 

`valueType`: il tipo di dati dei valori

Le chiavi non possono avere `null` valori. `valueContainsNull`Da utilizzare per indicare se i valori di un valore di tipo MAP possono avere `null` valori.

# Tipo STRUCT
<a name="struct_type"></a>

Usa il tipo STRUCT per rappresentare i valori con la struttura descritta da una sequenza di StructFields (campi). 

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

StructField(name, dataType, nullable): rappresenta un campo in un. StructType 

`dataType`: il tipo di dati di un campo

`name`: il nome di un campo

Viene utilizzato `nullable` per indicare se i valori di questi campi possono avere `null` valori.

# Esempi di tipi di dati annidati
<a name="s_nested-data-type-examples"></a>

Per il `struct<given:varchar, family:varchar>` tipo, ci sono due nomi di attributo:`given`, e`family`, ciascuno corrispondente a un `varchar` valore.

Per il `array<varchar>` tipo, l'array viene specificato come elenco di`varchar`. 

Il `array<struct<shipdate:timestamp, price:double>>` tipo si riferisce a un elenco di elementi con `struct<shipdate:timestamp, price:double>` tipo. 

Il tipo di `map` dati si comporta come un `array` di`structs`, in cui il nome dell'attributo per ogni elemento dell'array è indicato da `key` e viene mappato a. `value` 

**Example**  
Ad esempio, il `map<varchar(20), varchar(20)>` tipo viene trattato come`array<struct<key:varchar(20), value:varchar(20)>>`, dove `key` e `value` fa riferimento agli attributi della mappa nei dati sottostanti.   
Per informazioni su come AWS Clean Rooms abilitare la navigazione in matrici e strutture, vedere[Navigazione](query-nested-data.md#navigation).  
Per informazioni su come AWS Clean Rooms abilitare l'iterazione sugli array navigando nell'array utilizzando la clausola FROM di una query, vedere. [Annullamento di query](query-nested-data.md#unnesting-queries)