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à.
Impedire a un crawler di modificare uno schema esistente
Puoi impedire ai Crawler di AWS Glue di apportare modifiche allo schema del Catalogo dati durante l'esecuzione. Per impostazione predefinita, i crawler aggiornano lo schema nel Catalogo dati in modo che corrisponda all'origine dati sottoposta a scansione. Tuttavia, in alcuni casi, potresti voler impedire al crawler di modificare lo schema esistente, specialmente se hai trasformato o pulito i dati e non vuoi che lo schema originale sovrascriva le modifiche.
Segui questi passaggi per configurare il crawler affinché non sovrascriva lo schema esistente in una definizione di tabella.
-
Console di gestione AWS
-
-
Accedi alla Console di gestione AWS, quindi apri la console AWS Glue all'indirizzo https://console.aws.amazon.com/glue/.
-
Seleziona Crawler nel Catalogo dati.
-
Scegli un crawler dall'elenco e seleziona Modifica.
-
Scegli la fase 4: Configurazione dell'output e della pianificazione.
-
In Opzioni avanzate, seleziona Aggiungi solo nuove colonne o Ignora la modifica e non aggiornare la tabella nel Catalogo dati.
-
Puoi anche impostare un'opzione di configurazione per aggiornare tutte le partizioni nuove ed esistenti con metadati della tabella. In questo modo gli schemi delle partizioni vengono impostati in modo da ereditare quelli della tabella.
Scegli Aggiorna.
- AWS CLI
-
Il seguente esempio mostra come configurare un crawler in modo che non modifichi lo schema esistente, ma si limiti ad aggiungere nuove colonne:
aws glue update-crawler \
--name myCrawler \
--configuration '{"Version": 1.0, "CrawlerOutput": {"Tables": {"AddOrUpdateBehavior": "MergeNewColumns"}}}'
Il seguente esempio mostra come configurare un crawler in modo che non modifichi lo schema esistente e non aggiunga nuove colonne:
aws glue update-crawler \
--name myCrawler \
--schema-change-policy UpdateBehavior=LOG \
--configuration '{"Version": 1.0, "CrawlerOutput": {"Partitions": { "AddOrUpdateBehavior": "InheritFromTable" }}}'
- API
-
Se non vuoi che uno schema di tabella venga modificato in alcun modo durante l'esecuzione di un crawler, imposta la policy di modifica dello schema su LOG.
Quando configuri il crawler tramite l'API, imposta i parametri seguenti:
Imposta il campo UpdateBehavior nella struttura SchemaChangePolicy su LOG.
Imposta il campo Configuration con una rappresentazione di stringa dell'oggetto JSON seguente nell'API del crawler, ad esempio:
{
"Version": 1.0,
"CrawlerOutput": {
"Partitions": { "AddOrUpdateBehavior": "InheritFromTable" }
}
}