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à.
Considerazioni e limitazioni
Questa sezione include gli aspetti da considerare quando si utilizzano ottimizzatori delle tabelle all'interno di AWS Glue Data Catalog.
Durata e correttezza
Posizioni delle tabelle S3:
Quando più AWS Glue Data Catalog tabelle condividono la stessa posizione Amazon S3 e hanno gli ottimizzatori abilitati, l'ottimizzatore per la conservazione delle istantanee o l'eliminazione di file orfani per una tabella può eliminare i file a cui fa ancora riferimento l'altra tabella. Assicurati che ogni tabella con gli ottimizzatori abilitati abbia una posizione Amazon S3 univoca che non sia condivisa con nessun'altra tabella, comprese le tabelle in database diversi.
Scadenza del ciclo di vita S3:
Le regole di scadenza del ciclo di vita di Amazon S3 che si applicano alle posizioni di archiviazione delle tabelle Iceberg possono eliminare i file manifest e di dati a cui fanno ancora riferimento le istantanee attive. Se il tuo bucket ha regole di scadenza del ciclo di vita, assicurati che escludano il percorso di archiviazione delle tabelle Iceberg.
Comment ritardati:
I commit ritardati potrebbero verificarsi nelle pipeline di streaming ad alto rendimento. Configura orphanFileRetentionPeriodInDays in modo da superare il tempo massimo previsto tra la creazione del file e il completamento con successo del commit, inclusi i ritardi di elaborazione e i tentativi di commit.
L'ottimizzatore per l'eliminazione dei file orfani utilizza i metadati della tabella Iceberg disponibili durante l'esecuzione. Se un file raggiunge il limite di età configurato prima che il commit lo aggiunga ai metadati della tabella Iceberg, l'ottimizzatore può identificare il file come file orfano ed eliminarlo.
Un commit successivo può quindi aggiungere il file eliminato ai metadati della tabella Iceberg. Ciò può causare il fallimento delle query e delle esecuzioni dell'ottimizzatore di tabelle.
Problemi noti
La documentazione degli ottimizzatori di Catalog-level tabelle afferma che «le tabelle senza le proprie configurazioni di ottimizzazione erediteranno lo stato disabilitato dal livello di catalogo». Esiste un problema noto a causa del quale alcune tabelle senza una propria configurazione di ottimizzazione potrebbero non ereditare correttamente lo stato disabilitato dalla configurazione a livello di catalogo. Utilizza i log di esecuzione della AWS Glue console e dell'ottimizzatore per verificare quali ottimizzatori sono attualmente abilitati e in esecuzione nel tuo account e disabilitare quelli non necessari.
Formati supportati e limitazioni per la compattazione gestita dei dati
La compattazione dei dati supporta diversi tipi di dati e formati di compressione per la lettura e la scrittura di dati, inclusa la lettura di dati da tabelle crittografate.
Controllo della concorrenza:
Apache Iceberg supporta il controllo ottimistico della concorrenza, consentendo a più scrittori di eseguire operazioni contemporaneamente. I conflitti vengono rilevati e risolti al momento del commit. Quando lavorate con pipeline di streaming, configurate le impostazioni appropriate per i tentativi tramite le proprietà della tabella e le impostazioni di compattazione per gestire efficacemente le scritture simultanee. Per una guida dettagliata, consultate il AWS Big Data Blog sulla gestione delle scritture simultanee nelle tabelle Iceberg.
Tentativi di compattazione:
Quando le operazioni di compattazione falliscono quattro volte consecutive, l'ottimizzazione delle tabelle di AWS Glue catalogo sospende automaticamente l'ottimizzatore per evitare un consumo non necessario di risorse di calcolo. Analizza innanzitutto i log e cerca di capire perché la compattazione fallisce ripetutamente. Per riprendere l'ottimizzazione della compattazione, puoi riattivare l'ottimizzatore tramite la console o l'API. AWS Glue
La compattazione dei dati supporta:
Crittografia: la compattazione dei dati supporta solo la crittografia predefinita di Amazon S3 (SSE-S3) e la crittografia KMS lato server (). SSE-KMS
Strategie di compattazione: binpack, sort e sorting Z-order
-
Puoi eseguire la compattazione dall'account in cui risiede il Catalogo dati quando il bucket Amazon S3 che archivia i dati sottostanti si trova in un altro account. Per eseguire questa azione, il ruolo di compattazione richiede l'accesso al bucket Amazon S3.
La compattazione dei dati attualmente non supporta:
-
Compattazione su tabelle con più account: non è possibile eseguire la compattazione su tabelle con più account.
-
Compattazione su tabelle con più regioni: non è possibile eseguire la compattazione su tabelle con più regioni.
Abilitazione della compattazione sui link alle risorse
-
Tabelle nella classe di storage Amazon S3 Express One Zone: non è possibile eseguire la compattazione su Amazon S3 Express One Zone Iceberg Tables.
Z-order la strategia di compattazione non supporta i seguenti tipi di dati:
Decimale
TimestampWithoutZone
Considerazioni sulla conservazione degli snapshot e sugli ottimizzatori di eliminazione di file orfani
Le seguenti considerazioni si applicano alla conservazione degli snapshot e agli ottimizzatori di eliminazione di file orfani.
I processi di conservazione degli snapshot e di eliminazione dei file orfani hanno un limite massimo di eliminazione di 1.000.000 di file per esecuzione. Quando si eliminano gli snapshot scaduti, se il numero di file idonei all'eliminazione supera 1.000.000, tutti i file rimanenti oltre tale soglia continueranno a esistere nella tabella di archiviazione come file orfani.
-
Gli snapshot verranno conservati dall'ottimizzatore di conservazione degli snapshot solo quando entrambi i criteri saranno soddisfatti: il numero minimo di snapshot da conservare e il periodo di conservazione specificato.
-
L'ottimizzatore di conservazione 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.
-
L'ottimizzatore di eliminazione di file orfani elimina file di metadati e dati orfani a cui non fanno più riferimento i metadati Iceberg se la data di creazione è precedente al periodo di conservazione per l'eliminazione di file orfani dal momento dell'esecuzione dell'ottimizzatore.
-
Apache Iceberg facilita il controllo delle versioni tramite rami e tag, che sono puntatori denominati a stati specifici degli snapshot. Ogni ramo e tag segue il proprio ciclo di vita indipendente, regolato da policy di conservazione definite ai rispettivi livelli. Gli AWS Glue Data Catalog ottimizzatori tengono conto di queste politiche relative al ciclo di vita, garantendo il rispetto delle regole di conservazione specificate. Le policy di conservazione a livello di ramo e tag hanno la precedenza sulle configurazioni dell'ottimizzatore.
Per ulteriori informazioni, consultare Ramificazione e tagging
nella documentazione di Apache Iceberg. -
Gli ottimizzatori di conservazione degli snapshot e di eliminazione dei file orfani elimineranno i file idonei alla pulizia in base ai parametri configurati. Migliorare il controllo sull'eliminazione dei file implementando le policy di controllo delle versioni di S3 e del ciclo di vita nei bucket appropriati.
Per istruzioni dettagliate sulla configurazione del controllo delle versioni e sulla creazione di regole del ciclo di vita, consultare https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html.
-
Per una corretta determinazione dei file orfani, assicurarsi che la posizione della tabella e gli eventuali percorsi secondari forniti non si sovrappongano o contengano dati provenienti da altre tabelle o origini dati. Se i percorsi si sovrappongono, si rischia una perdita irreversibile dei dati a causa dell'eliminazione involontaria dei file.
Importante
orphanFileRetentionPeriodInDayssi applica solo all'ottimizzatore per l'eliminazione dei file orfani. Lo snapshot retention optimizer non utilizza questo valore né valuta l'età dei file in Amazon S3.
Quando lo cleanExpiredFiles ètrue, i file a cui non fa più riferimento alcuna istantanea conservata vengono eliminati come parte della scadenza dell'istantanea. Configurate snapshotRetentionPeriodInDays e adattate numberOfSnapshotsToRetain i vostri requisiti di viaggio nel tempo e di rollback.
Eccezione di debug OversizedAllocationException
Per risolvere un'eccezione OversizedAllocationException:
Ridurre la dimensione del batch del lettore vettorializzato e controllare. La dimensione predefinita del batch è 5000. Questo è controllato in
read.parquet.vectorization.batch-size.Se non funziona anche dopo molteplici varianti, disattivare la vettorizzazione. Questo è controllato in
read.parquet.vectorization.enabled.