Considerações e limitações das consultas SQL no Amazon Athena - Amazon Athena

Considerações e limitações das consultas SQL no Amazon Athena

Ao executar consultas no Athena, tenha em mente as considerações e limitações a seguir.

  • Procedimentos armazenados: não há suporte para procedimentos armazenados.

  • Número máximo de partições: o número máximo de partições que você pode criar com instruções CREATE TABLE AS SELECT (CTAS) é 100. Para obter informações, consulte CREATE TABLE AS. Para obter uma solução alternativa, consulte Usar CTAS e INSERT INTO para resolver o limite de 100 partições.

  • Instruções não permitidas — As seguintes instruções não são permitidas. Para ver uma lista completa de instruções de DDL não permitidas no Athena, consulte DDL incompatível.

    • Não há suporte ao CREATE TABLE LIKE.

    • DESCRIBE INPUT e DESCRIBE OUTPUT não são aceitos.

    • A instrução MERGE é compatível somente com formatos de tabela transacional. Para ter mais informações, consulte MERGE INTO.

    • As instruções UPDATE não são compatíveis.

    • Não há suporte ao DELETE FROM.

  • Conectores Trino e Presto : não há compatibilidade com conectores Trino nem Presto. Use a consulta federada do Amazon Athena para conectar origens de dados. Para ter mais informações, consulte Usar a consulta federada do Amazon Athena.

  • Tempo limite esgotado em tabelas com muitas partições: o Athena pode esgotar o tempo limite ao consultar uma tabela com milhares de partições. Isso pode acontecer quando a tabela tem muitas partições que não são do tipo string. Quando você usa o tipo string, o Athena remove as partições no nível do metastore. No entanto, quando você usa outros tipos de dados, o Athena remove as partições do servidor. Quanto mais partições você tiver, mais tempo esse processo levará e maior será a probabilidade de suas consultas atingirem o tempo limite. Para resolver esse problema, defina o tipo de partição como string para que o Athena remova as partições no nível do metastore. Isso reduz a sobrecarga e evita que as consultas atinjam o tempo limite.

  • Compatibilidade com o S3 Glacier: para obter informações sobre como consultar objetos restaurados do Amazon S3 Glacier, consulte Consultar objetos restaurados do Amazon S3 Glacier.

  • Arquivos tratados como ocultos: o Athena trata os arquivos de origem que começam com sublinhado (_) ou ponto (.) como ocultos. Para contornar essa limitação, renomeie os arquivos.

  • Limitação de tamanho de linha ou coluna: o tamanho de uma única linha ou de suas colunas não pode exceder 32 megabytes. Esse limite pode ser excedido quando, por exemplo, uma linha em um arquivo CSV ou JSON contém uma única coluna de 300 megabytes. Exceder esse limite também pode gerar a mensagem de erro: Line too long in text file (Linha muito longa no arquivo de texto). Para resolver essa limitação, certifique-se de que a soma dos dados das colunas em qualquer linha seja inferior a 32 MB.

  • Cláusula LIMIT máxima: o número máximo de linhas que podem ser especificadas para a cláusula LIMIT é

    9223372036854775807. Ao usar ORDER BY, o número máximo de linhas permitido para a cláusula LIMIT é 2.147.483.647. Exceder esse limite resultará na mensagem de erro NOT_SUPPORTED: ORDER BY LIMIT > 2147483647 is not supported [Não há suporte para ORDER BY LIMIT > 2147483647].

  • information_schema: as consultas de information_schema apresentam melhor desempenho se você tiver uma quantidade pequena a moderada de metadados do AWS Glue. Pode haver erros se você tiver uma grande quantidade de metadados. Para obter informações sobre como consultar o banco de dados information_schema para metadados do AWS Glue, consulte Consultar o AWS Glue Data Catalog.

  • Inicializações de matriz: devido a uma limitação do Java, não é possível inicializar no Athena uma matriz que tenha mais de 254 argumentos.

  • Colunas ocultas de metadados: as colunas de metadados ocultas do Hive ou do Iceberg $bucket, $file_modified_time$file_size e $partition não são compatíveis para visualizações. Para obter informações sobre como usar a coluna $path de metadados no Athena, consulte Obter os locais de arquivos dos dados de origem no Amazon S3 .

Para obter informações sobre o tamanho máximo da cadeia de caracteres de consulta, cotas para tempos limite de consulta e cotas para o número ativo de consultas DML, acesse Service Quotas.