Considerações e limitações - Amazon Athena

Considerações e limitações

Considere os seguintes pontos ao usar funções definidas pelo usuário (UDFs) no Athena.

  • Funções integradas do Athena: as funções integradas no Athena são desenvolvidas para ter alta performance. Recomendamos usar as funções integradas em lugar das UDFs quando possível. Para obter mais informações sobre funções integradas, consulte Funções no Amazon Athena.

  • Somente UDFs escalares: o Athena aceita somente UDFs escalares, que processam uma linha por vez e retornam um único valor de coluna. O Athena passa um lote de linhas, possivelmente em paralelo, para a UDF sempre que invoca o Lambda. Ao desenvolver UDFs e consultas, esteja ciente do possível impacto desse processamento no tráfego de rede.

  • As funções do manipulador UDF usam o formato abreviado: use o formato abreviado (não o formato completo), para suas funções UDF (por exemplo, package.Class em vez de package.Class::method).

  • Os métodos UDF devem estar em letras minúsculas: os métodos UDF devem estar em letras minúsculas. Não é permitida a combinação de maiúsculas e minúsculas.

  • Os métodos UDF exigem parâmetros: os métodos UDF devem ter pelo menos um parâmetro de entrada. A tentativa de invocar um UDF definido sem parâmetros de entrada causa uma exceção de runtime. Os UDFs são destinados a executar funções em registros de dados, mas um UDF sem argumentos não recebe dados, então ocorre uma exceção.

  • Suporte ao runtime do Java: atualmente, as UDFs do Athena são compatíveis com os runtimes Java 8 e Java 11 para Lambda. Para obter mais informações, consulte Construir funções do Lambda com Java no Guia do desenvolvedor do AWS Lambda.

  • Permissões do IAM: para executar e criar instruções de consulta de UDF no Athena, o principal do IAM que executa a consulta deve ter permissão para executar ações além das funções do Athena. Para ter mais informações, consulte Exemplo de políticas de permissões do IAM para permitir funções definidas pelo usuário (UDF) do Amazon Athena.

  • Cotas do Lambda: as cotas do Lambda se aplicam às UDFs. Para obter mais informações, consulte Cotas do Lambda no Guia do desenvolvedor do AWS Lambda.

  • Filtragem em nível de linha – A filtragem em nível de linha do Lake Formation não é compatível com UDFs.

  • Visualizações: não é possível usar visualizações com UDFs.

  • Problemas conhecidos: para acessar a lista mais recente de problemas conhecidos, consulte Limitations and issues (Limitações e problemas) na seção awslabs/aws-athena-query-federation do GitHub.