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 stabilire il numero massimo di tabelle che il crawler può creare specificando un parametro TableThreshold tramite la console AWS Glue o 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:

  • L'utilizzo di un processo AWS Glue per popolare le posizioni Amazon S3 potrebbe restituire 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 crawling, AWS Glue confronta il numero di tabelle rilevate con questo valore di soglia della tabella (5). Se il numero di tabelle rilevate è inferiore a 5, AWS Glue scrive le tabelle nel catalogo dati, in caso contrario il crawling ha esito negativo e non comporta alcuna scrittura nel catalogo dati.

Console di gestione AWS
Per impostare TableThreshold tramite Console di gestione AWS:
  1. Accedi alla Console di gestione AWS, quindi apri la console AWS Glue all'indirizzo https://console.aws.amazon.com/glue/.

  2. Quando configuri un crawler, in Output e pianificazione, imposta la soglia massima per le tabelle sul numero di tabelle che il crawler è autorizzato a generare.

    La sezione Output and scheduling (Output e pianificazione) della console AWS che mostra il parametro Maximum table threshold (Soglia massima della tabella).
AWS CLI

Per impostare TableThreshold tramite AWS CLI:

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

Per impostare TableThreshold tramite l'API:

"{"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, tutte le posizioni delle tabelle rilevate vengono registrate come messaggio INFO. 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.