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
eDESCRIBE 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 tipostring
, 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 comostring
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 erroNOT_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 dadosinformation_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.