VACUUM - Amazon Athena

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à.

VACUUM

L'istruzione VACUUM esegue la manutenzione delle tabelle Apache Iceberg rimuovendo i file di dati non più necessari.

Nota

L'istruzione VACUUM è transazionale ed è supportata solo per le tabelle Apache Iceberg nella versione 3 del motore Athena.

Si consiglia di eseguire l'istruzione VACUUM sulle tabelle Iceberg per rimuovere i file di dati che non sono più pertinenti e per ridurre le dimensioni dei metadati e il consumo di spazio di archiviazione. Tieni presente che, poiché l'istruzione VACUUM effettua chiamate API ad Amazon S3, vengono addebitati costi per le richieste associate ad Amazon S3.

avvertimento

Se si esegue un'operazione di scadenza delle snapshot, non è più possibile accedere alle snapshot scadute.

Riepilogo

Per rimuovere i file di dati non più necessari per una tabella Iceberg, utilizza la sintassi seguente.

VACUUM [database_name.]target_table

Per eseguire l'esecuzione VACUUM su una tabella il cui nome inizia con un carattere di sottolineatura (ad esempio,_mytable), racchiudete il nome della tabella tra segni di spunta rovesciati, come nell'esempio seguente. Se anteponete al nome della tabella un nome di database, non racchiudete il nome del database tra i backtick. Nota che le virgolette doppie non funzioneranno al posto dei backtick.

Questo comportamento è specifico di. VACUUM Le INSERT INTO istruzioni CREATE and non richiedono il backtick per i nomi di tabella che iniziano con caratteri di sottolineatura.

VACUUM `_mytable` VACUUM my_database.`_mytable`

Tieni inoltre presente che VACUUM si prevede che i dati Iceberg si trovino in una cartella Amazon S3 anziché in un bucket Amazon S3. Ad esempio, se i dati di Iceberg si trovano ins3://DOC-EXAMPLE-BUCKET/anziché ins3://DOC-EXAMPLE-BUCKET/myicebergfolder/, l'VACUUMistruzione ha esito negativo e viene visualizzato il messaggio di errore GENERIC_INTERNAL_ERROR: Path missing in file system location:. s3://DOC-EXAMPLE-BUCKET

Operazioni eseguite

VACUUM esegue le seguenti operazioni:

  • Rimuove gli snapshot che sono più vecchi del periodo di tempo specificato dalla proprietà della tabella vacuum_max_snapshot_age_seconds. Per impostazione predefinita, questa proprietà è impostata su 432.000 secondi (5 giorni).

  • Rimuove gli snapshot che non rientrano nel periodo da mantenere e che superano il numero specificato dalla proprietà della tabella vacuum_min_snapshots_to_keep. Il valore di default è 1.

    Puoi specificare queste proprietà della tabella nell'istruzione CREATE TABLE. Dopo aver creato la tabella, puoi utilizzare l'istruzione ALTER TABLE SET PROPERTIES per aggiornarle.

  • Rimuove tutti i metadati e i file di dati che non sono raggiungibili a seguito della rimozione dello snapshot. Puoi configurare il numero di vecchi file di metadati da conservare impostando la proprietà della tabella vacuum_max_metadata_files_to_keep. Il valore predefinito è 100.

  • Rimuove i file orfani più vecchi del tempo specificato nella proprietà della tabella vacuum_max_snapshot_age_seconds. I file orfani sono file nella directory dei dati della tabella che non fanno parte dello stato della tabella.

Per ulteriori informazioni sulla creazione e sulla gestione delle tabelle Apache Iceberg in Athena, consulta le sezioni Creazione di tabelle Iceberg e Gestione di tabelle Iceberg.