

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à.

# Creare un singolo schema per ogni percorso di inclusione Amazon S3
<a name="crawler-grouping-policy"></a>

Per impostazione predefinita, quando un crawler definisce tabelle per i dati archiviati in Amazon S3, considera sia la compatibilità dei dati sia la somiglianza dello schema. I fattori di compatibilità dei dati presi in considerazione includono il fatto che i dati abbiano o meno lo stesso formato (ad esempio JSON), lo stesso tipo di compressione (ad esempio GZIP), la stessa struttura del percorso Amazon S3 e altri attributi di dati. La somiglianza dello schema misura il livello di somiglianza degli schemi di oggetti Amazon S3 separati.

Per descrivere meglio questa opzione, supponiamo di definire un crawler con un percorso di inclusione `s3://amzn-s3-demo-bucket/table1/`. Quando il crawler viene eseguito, individua due file JSON con le caratteristiche seguenti:
+ **File 1**: `S3://amzn-s3-demo-bucket/table1/year=2017/data1.json`
+ *Contenuto del file*: `{“A”: 1, “B”: 2}`
+ *Schema*: `A:int, B:int`
+ **File 2**: `S3://amzn-s3-demo-bucket/table1/year=2018/data2.json`
+ *Contenuto del file* – `{“C”: 3, “D”: 4}`
+ *Schema* – `C: int, D: int`

Per impostazione predefinita, il crawler crea due tabelle, denominate `year_2017` e `year_2018`, perché gli schemi non sono abbastanza simili. Tuttavia, se l'opzione **Create a single schema for each S3 path (Crea un singolo schema per ogni percorso S3)** è selezionata e se i dati sono compatibili, il crawler crea una tabella. La tabella contiene lo schema `A:int,B:int,C:int,D:int` e `partitionKey` `year:string`.

------
#### [ Console di gestione AWS ]

1. Accedi a Console di gestione AWS e apri la AWS Glue console all'indirizzo [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

1. Seleziona **Crawler** nel **Catalogo dati**.

1. Quando configuri un nuovo crawler, in **Output e pianificazione**, vai su Opzioni avanzate e seleziona l'opzione **Crea uno schema singolo per ogni percorso S3**. 

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

È·possibile configurare un crawler in modo che esegua l'operazione `CombineCompatibleSchemas` per combinare schemi compatibili in una definizione di tabella comune quando possibile. Con questa opzione, il crawler continua a considerare la compatibilità dei dati, ma ignora la somiglianza degli schemi specifici durante la valutazione di oggetti Amazon S3 nel percorso di inclusione specificato.

Quando configurate il crawler utilizzando il AWS CLI, impostate la seguente opzione di configurazione:

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

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

Quando configuri il crawler tramite l'API, imposta l'opzione di configurazione seguente:

 Imposta il campo `Configuration` con una rappresentazione di stringa dell'oggetto JSON seguente nell'API del crawler, ad esempio: 

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

------