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