Considerações e limitações
Ao usar o Athena para ler tabelas do Apache Hudi, considere os pontos apresentados a seguir.
-
Consultas incrementais — O Athena não aceita consultas incrementais.
-
CTAS — O Athena não aceita CTAS nem INSERT INTO em dados do Hudi. Se você quiser ajuda do Athena para escrever conjuntos de dados do Hudi, envie feedback para
<athena-feedback@amazon.com>
.Para obter mais informações sobre como escrever dados do Hudi, consulte os seguintes recursos:
-
Working with a Hudi dataset (Trabalhar com um conjunto de dados do Hudi) no Guia de apresentação do Amazon EMR.
-
Writing Data
(Gravar dados) na documentação do Apache Hudi.
-
-
MSCK REPAIR TABLE — Não é permitido usar MSCK REPAIR TABLE em tabelas do Hudi no Athena. Se você precisar carregar uma tabela do Hudi que não foi criada no AWS Glue, use ALTER TABLE ADD PARTITION.
-
Não é possível ignorar objetos do S3 Glacier: se os objetos na tabela do Apache Hudi estiverem em uma classe de armazenamento do Amazon S3 Glacier, definir a propriedade da tabela
read_restored_glacier_objects
comofalse
não terá efeito.Por exemplo, suponhamos que você emita o seguinte comando:
ALTER TABLE
table_name
SET TBLPROPERTIES ('read_restored_glacier_objects' = 'false')Para tabelas do Iceberg e do Delta Lake, o comando gera o erro
Chave de propriedade da tabela não compatível:
read_restored_glacier_objects. Para tabelas do Hudi, o comandoALTER TABLE
não gera um erro, mas os objetos do Amazon S3 Glacier ainda assim não são ignorados. A execução de consultasSELECT
após o comandoALTER TABLE
continua a retornar todos os objetos. -
Consultas de timestamp — Atualmente, as consultas que tentam ler colunas de timestamp nas tabelas de tempo real do Hudi falham ou produzem resultados vazios. Essa limitação se aplica somente às consultas que leem uma coluna de timestamp. As consultas que incluem somente colunas sem timestamp da mesma tabela são bem-sucedidas.
Consultas com falha retornam uma mensagem semelhante à seguinte:
GENERIC_INTERNAL_ERROR: class org.apache.hadoop.io.ArrayWritable cannot be cast to class org.apache.hadoop.hive.serde2.io.TimestampWritableV2 (org.apache.hadoop.io.ArrayWritable and org.apache.hadoop.hive.serde2.io.TimestampWritableV2 are in unnamed module of loader io.trino.server.PluginClassLoader @75c67992)