Ottimizzatore per la conservazione degli snapshot - AWS Glue

Ottimizzatore per la conservazione degli snapshot

È possibile aggiornare la configurazione esistente di un ottimizzatore di conservazione degli snapshot per una particolare tabella Apache Iceberg utilizzando la console AWS Glue, AWS CLI, o l'API UpdateTableOptimizer.

Console
Per aggiornare la configurazione di conservazione degli snapshot
  1. Accedere alla AWS Management Console, quindi aprire la console AWS Glue all'indirizzo https://console.aws.amazon.com/glue/.

  2. Scegliere Catalogo dati e poi Tabelle. Dall'elenco delle tabelle, selezionare la tabella Iceberg in cui aggiornare la configurazione dell'ottimizzatore per la conservazione degli snapshot.

  3. Nella parte inferiore della pagina Dettagli tabella, selezionare la scheda Ottimizzazione tabella, poi scegliere Modifica. È anche possibile scegliere Modifica in Ottimizzazione dal menu Operazioni situato nell'angolo in alto a destra della pagina.

  4. Nella pagina Modifica ottimizzazione, apportare le modifiche desiderate.

  5. Scegliere Salva.

AWS CLI

Per aggiornare un ottimizzatore per la conservazione degli snapshot utilizzando AWS CLI, è possibile utilizzare il seguente comando:

aws glue update-table-optimizer \ --catalog-id 123456789012 \ --database-name iceberg_db \ --table-name iceberg_table \ --table-optimizer-configuration '{"roleArn":"arn:aws:iam::123456789012:role/optimizer_role"","enabled":'true', "vpcConfiguration":{"glueConnectionName":"glue_connection_name"},"retentionConfiguration":{"icebergConfiguration":{"snapshotRetentionPeriodInDays":7,"numberOfSnapshotsToRetain":3,"cleanExpiredFiles":'true'}}}' \ --type retention

Questo comando aggiorna la configurazione della conservazione per la tabella specificata nel dato catalogo, nel database e nella regione. I parametri chiave sono:

  • snapshotRetentionPeriodInDays: il numero di giorni per mantenere gli snapshot prima che scadano. Il valore predefinito è 1.

  • numberOfSnapshotStoreTain: il numero minimo di snapshot da conservare, anche se sono più vecchi del periodo di conservazione. Il valore predefinito è 5.

  • cleanExpiredFiles: un valore booleano che indica se eliminare i file di dati scaduti dopo la scadenza degli snapshot. Il valore predefinito è true.

    Se impostato su true, gli snapshot più vecchi vengono rimossi dai metadati della tabella e i relativi file sottostanti vengono eliminati. Se questo parametro è impostato su false, gli snapshot più vecchi vengono rimossi dai metadati della tabella ma i relativi file sottostanti rimangono nell'archivio come file orfani.

API

Per aggiornare un ottimizzatore di tabelle, si può utilizzare l'API UpdateTableOptimizer. Questa API consente di aggiornare la configurazione di un ottimizzatore di tabelle esistente per la compattazione, la conservazione o la rimozione di file orfani. I parametri della richiesta includono:

  • catalogId (obbligatorio): l'ID del catalogo contenente la tabella

  • databaseName (opzionale): il nome del database contenente la tabella

  • tableName (opzionale): il nome della tabella

  • type (obbligatorio): il tipo di ottimizzatore della tabella (compattazione, conservazione o orphan_file_delete)

  • retentionConfiguration (obbligatorio): la configurazione aggiornata per l'ottimizzatore delle tabelle, che include l'ARN del ruolo, lo stato di abilitazione, la configurazione di conservazione e la configurazione per la rimozione dei file orfani.