Considerazioni e limitazioni
Quando si utilizza Athena per leggere le tabelle Apache Hudi, considerare i seguenti punti.
-
Query incrementali: Athena non supporta le query incrementali.
-
Athena non supporta CTAS o per i dati Hudi. Se desideri il supporto Athena per la scrittura di dataset Hudi, invia un feedback ad
<athena-feedback@amazon.com>.Per ulteriori informazioni sulla scrittura di dati Hudi, vedere le seguenti risorse:
-
Utilizzo di un set di dati Hudi nella Guida al rilascio di Amazon EMR.
-
Scrittura di dati
nella documentazione di Apache Hudi.
-
-
L'utilizzo di MSCK REPAIR TABLE sulle tabelle Hudi in Athena non è supportato. Se devi caricare una tabella Hudi non creata in AWS Glue, usa ALTER TABLE ADD PARTITION.
-
Ignorare gli oggetti S3 Glacier non supportati: se gli oggetti nella tabella Apache Hudi si trovano in una classe di archiviazione Amazon S3 Glacier, l'impostazione della proprietà della tabella
read_restored_glacier_objectssufalsenon ha alcun effetto.Ad esempio, supponiamo di emettere il seguente comando:
ALTER TABLEtable_nameSET TBLPROPERTIES ('read_restored_glacier_objects' = 'false')Per le tabelle Iceberg e Delta Lake, il comando produce l'errore
Chiave delle proprietà della tabella non supportata: read_restored_glacier_objects. Per le tabelle Hudi, il comandoALTER TABLEnon produce un errore, ma gli oggetti Amazon S3 Glacier ancora non verranno ignorati. L'esecuzione delle querySELECTdopo il comandoALTER TABLEcontinuerà a restituire tutti gli oggetti. -
Interrogazioni con indicazione temporale: attualmente, le query che tentano di leggere le colonne con data e ora nelle tabelle in tempo reale di Hudi hanno esito negativo o producono risultati vuoti. Questa limitazione si applica solo alle query che leggono una colonna con timestamp. Le interrogazioni che includono solo colonne diverse da timestamp della stessa tabella hanno esito positivo.
Le query non riuscite restituiscono un messaggio simile al seguente:
GENERIC_INTERNAL_ERROR: la classe org.apache.hadoop.io.ArrayWritable non può essere trasmessa alla classe org.apache.hadoop.hive.serde2.io.timestampWritableV2 (org.apache.hadoop.io.arraywritable e org.apache.hadoop.hive.serde2.io.timestampwritableV2 sono nel modulo senza nome del loader io.trino.server.PluginClassLoader @75c67992)