Considerazioni e limitazioni per i processi di manutenzione
Amazon S3 consente di usufruire di operazioni di manutenzione per migliorare le prestazioni delle tabelle o dei bucket delle tabelle S3. Tali opzioni comprendono la compattazione dei file, la gestione degli snapshot e la rimozione dei file senza riferimenti. Di seguito sono riportate le limitazioni e le considerazioni relative a queste opzioni di gestione.
Argomenti
Considerazioni sulla compattazione
Alla compattazione si applicano le seguenti considerazioni. Per ulteriori informazioni sulla compattazione, consulta Manutenzione delle tabelle.
-
La compattazione è supportata sui file di tipo Apache Parquet, Avro e ORC.
-
Per impostazione predefinita, la compattazione scrive nuovi file in formato Apache Parquet. Per compattare invece i file in formato Avro o ORC, imposta la proprietà della tabella
write.format.defaultsuavrooorc. -
La compattazione non supporta i file di tipo
Fixed. -
La compattazione non supporta i tipi di compressione:
brotlielz4. La compattazione avviene in base a una pianificazione automatica. Per evitare costi associati alla compattazione, puoi manualmente disattivarla per una tabella utilizzando l’operazione PutTableMaintenanceConfiguration dell’API.
Nota
Apache Iceberg utilizza un modello di concorrenza ottimistico insieme al rilevamento dei conflitti per arbitrare le transazioni di scrittura. Con una concorrenza ottimistica, le transazioni dell’utente e le transazioni di compattazione possono entrare in conflitto, causando la mancata riuscita delle transazioni. Se si verifica un conflitto, i processi di compattazione tenteranno nuovamente l’operazione in caso di errore. È consigliabile che le pipeline implementino anche una logica di ripetizione per gestire le transazioni che non riescono a causa di operazioni in conflitto.
Considerazioni sulla gestione degli snapshot
Alla gestione degli snapshot si applicano le seguenti considerazioni. Per ulteriori informazioni sulla gestione degli snapshot, consulta Manutenzione delle tabelle.
-
Gli snapshot verranno conservati solo quando entrambi i criteri saranno soddisfatti: il numero minimo di snapshot da conservare e il periodo di conservazione specificato.
-
La gestione degli snapshot elimina i metadati degli snapshot scaduti da Apache Iceberg, evitando le query temporali per gli snapshot scaduti e, facoltativamente, eliminando i file di dati associati.
-
La gestione degli snapshot non supporta i valori di conservazione configurati come proprietà della tabella Iceberg nel file
metadata.jsono tramite un comando SQLALTER TABLE SET TBLPROPERTIES, inclusa la conservazione basata su ramo o tag. La gestione degli snapshot viene disattivata quando si configura una policy di conservazione basata su ramo o tag oppure quando si configura una policy di conservazione sul filemetadata.jsonpiù lunga dei valori configurati tramite l'APIPutTableMaintenanceConfiguration. In questi casi S3 non scadrà né rimuoverà gli snapshot e sarà necessario eliminare manualmente gli snapshot o rimuovere le proprietà dalla tabella Iceberg per evitare costi di archiviazione.
Considerazioni sulla rimozione di file senza riferimenti
Alla rimozione dei file senza riferimenti si applicano le seguenti considerazioni. Per ulteriori informazioni sulla rimozione di file senza riferimenti, consulta Manutenzione dei bucket di tabelle.
-
La rimozione di file senza riferimenti elimina i file di dati e metadati a cui non fanno più riferimento i metadati Iceberg se la data di creazione è precedente al periodo di conservazione.
Limiti delle operazioni di manutenzione di tabelle S3 e bucket di tabelle e API correlate
| Operazione di manutenzione | Proprietà | Configurabile a livello di bucket di tabelle? | Configurabile a livello di tabella? | Valore predefinito | Valore minimo | Routine di manutenzione Iceberg correlata | Controllo dell’API di Tabelle S3 |
|---|---|---|---|---|---|---|---|
| Compattazione | targetFileSizeMB |
No | Sì | 512 MB | 64 MB | |
PutTableMaintenanceConfiguration |
| Gestione degli snapshot | minimumSnapshots |
No | Sì | 1 | 1 | ExpireSnapshotsretainLast |
PutTableMaintenanceConfiguration |
| Gestione degli snapshot | maximumSnapshotAge |
No | Sì | 120 ore | 1 ora | ExpireSnapshotsexpireOlderThan |
PutTableMaintenanceConfiguration |
| Rimozione di file senza riferimenti | unreferencedDays |
Sì | No | 3 giorni | 1 giorno | deleteOrphanFiles |
PutTableBucketMaintenanceConfiguration |
| Rimozione di file senza riferimenti | nonCurrentDays |
Sì | No | 10 giorni | 1 giorno | N/D | PutTableBucketMaintenanceConfiguration |
Nota
Tabelle Amazon S3 applica la dimensione predefinita del gruppo di righe in formato Parquet di 128 MB.