Specificare il numero massimo di tabelle che il crawler può creare - 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à.

Specificare il numero massimo di tabelle che il crawler può creare

Facoltativamente, puoi specificare il numero massimo di tabelle che il crawler è autorizzato a creare specificando un tramite la console o. TableThreshold AWS Glue AWS CLI Se il numero di tabelle rilevate dal crawler durante il crawling è superiore a questo valore di input, il crawling ha esito negativo e non vengono scritti dati nel Catalogo dati.

Questo parametro è utile quando le tabelle che verrebbero rilevate e create dal crawler sono molto più grandi del previsto. I motivi possono essere molteplici, come ad esempio:

  • Quando utilizzi un AWS Glue job per popolare le tue sedi Amazon S3, puoi ritrovarti con file vuoti allo stesso livello di una cartella. In questo caso, quando esegui un crawler su questa posizione Amazon S3, il crawler crea più tabelle a causa di file e cartelle presenti allo stesso livello.

  • La mancata configurazione di "TableGroupingPolicy": "CombineCompatibleSchemas" potrebbe restituire un numero maggiore di tabelle rispetto al previsto.

Specifica il parametro TableThreshold come un valore intero maggiore di 0. Questo valore è configurato in base al crawler, quindi viene preso in considerazione per ogni crawling. Si supponga ad esempio di avere un crawler con il valore TableThreshold impostato su 5. In ogni ricerca per indicizzazione, AWS Glue confronta il numero di tabelle rilevate con questo valore di soglia della tabella (5) e, se il numero di tabelle rilevate è inferiore a 5, AWS Glue scrive le tabelle nel Data Catalog e, in caso contrario, la ricerca per indicizzazione fallisce senza scrivere nel Data Catalog.

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

  2. Quando configuri un crawler, in Output e pianificazione, imposta la soglia massima della tabella sul numero di tabelle che il crawler può generare.

    La sezione Output e scheduling della AWS console mostra il parametro Maximum table threshold.
AWS CLI

Per impostare TableThreshold utilizzando: AWS CLI

aws glue update-crawler \ --name myCrawler \ --configuration '{"Version": 1.0, "CrawlerOutput": {"Tables": { "TableThreshold": 5 }}}'
API

Per impostare TableThreshold utilizzandoAPI:

"{"Version":1.0, "CrawlerOutput": {"Tables":{"AddOrUpdateBehavior":"MergeNewColumns", "TableThreshold":5}}}";

I messaggi di errore vengono registrati per facilitare l'identificazione dei percorsi delle tabelle e la pulizia dei dati. Di seguito è riportato un esempio di accesso all'account in caso di esito negativo del crawler a causa del numero di tabelle superiore al valore di soglia:

Table Threshold value = 28, Tables detected - 29

In CloudWatch, registriamo tutte le posizioni delle tabelle rilevate come INFO messaggio. Le informazioni relative all'errore vengono registrate in un messaggio.

ERROR com.amazonaws.services.glue.customerLogs.CustomerLogService - CustomerLogService received CustomerFacingException with message The number of tables detected by crawler: 29 is greater than the table threshold value provided: 28. Failing crawler without writing to Data Catalog. com.amazonaws.services.glue.exceptions.CustomerFacingInternalException: The number of tables detected by crawler: 29 is greater than the table threshold value provided: 28. Failing crawler without writing to Data Catalog.