Como resolvo o erro de sintaxe "função não registrada" no Amazon Athena?

2 minuto de leitura
0

Quando executo uma operação SELECT no Amazon Athena, recebo um erro de sintaxe "função não registrada".

Resolução

Se tentar usar uma função que não é compatível com o Athena, você receberá um erro semelhante a uma das seguintes mensagens:

  • "SYNTAX_ERROR: line 1:8: Function function_name not registered"
  • "FUNCTION_NOT_FOUND: line 1:8: Function 'function_name' not registered"

Para obter uma lista das funções compatíveis com o Athena, consulte Funções no Amazon Athena. Ou execute uma instrução SHOW FUNCTIONS. Veja o seguinte exemplo parcial do resultado:

    Function   Return Type     Argument Types   Function Type   Deterministic   Description
1    abs        bigint          bigint           scalar          true            absolute value
2    abs        decimal(p,s)    decimal(p,s)     scalar          true            absolute value
3    abs        double          double

Se o Athena não for compatível com a função que você deseja usar, escreva uma função definida pelo usuário (UDF) no Athena. As UDFs permitem que você crie funções personalizadas para processar registros ou grupos de registros. Uma UDF aceita parâmetros, executa o trabalho e, em seguida, retorna um resultado. Para obter exemplos e mais informações sobre UDFs, consulte Consultar com funções definidas pelo usuário.

Informações relacionadas

Amazon Athena UDF Connector (no GitHub)

Conectar o Amazon Athena ao seu metastore do Apache Hive e usar funções definidas pelo usuário

AWS OFICIAL
AWS OFICIALAtualizada há um ano