Creazione di un unico schema per ogni percorso di inclusione di Amazon S3 - AWS Glue

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

Creazione di un unico schema per ogni percorso di inclusione di Amazon S3

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 che considera includono se i dati hanno lo stesso formato (ad esempio,JSON), lo stesso tipo di compressione (ad esempioGZIP), la struttura del percorso Amazon S3 e altri attributi dei 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://bucket/table1/. Quando il crawler viene eseguito, trova due JSON file con le seguenti caratteristiche:

  • File 1: S3://bucket/table1/year=2017/data1.json

  • Contenuto del file: {“A”: 1, “B”: 2}

  • Schema: A:int, B:int

  • File 2: S3://bucket/table1/year=2018/data2.json

  • Contenuto del file{“C”: 3, “D”: 4}

  • SchemaC: 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.

AWS Management Console
  1. Accedi a AWS Management Console e apri la AWS Glue console all'indirizzo. https://console.aws.amazon.com/glue/

  2. Scegli Crawler nel Data Catalog.

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

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 configuri il crawler utilizzando AWS CLI, imposta la seguente opzione di configurazione:

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

Quando configurate il crawler utilizzandoAPI, impostate la seguente opzione di configurazione:

Imposta il Configuration campo con una rappresentazione in formato stringa del seguente JSON oggetto nel crawlerAPI, ad esempio:

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