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 MB. Esse limite pode ser excedido quando, por exemplo, uma linha contiver uma única coluna de 35 MB. Esse é um limite fixo do serviço e não pode ser alterado.
-
Tamanho máximo da linha em um arquivo de texto: o tamanho de uma única linha em um arquivo de texto tem um limite superior de 200 MB. Exceder esse limite pode gerar a mensagem de erro
TextLineLengthLimitExceededException: Too many bytes before newline
. Para contornar essa limitação, garanta que você não tenha uma única linha em um arquivo de texto com mais de 200 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.