如何解决 Amazon Athena 中的“函数未注册”语法错误?

上次更新日期:2021 年 11 月 22 日

在 Amazon Athena 中运行 SELECT 操作时,收到以下类似的错误消息:

“SYNTAX_ERROR: line 1:8: Function function_name not registered”。

解决方法

当您尝试使用 Athena 不支持的函数时,通常会发生此错误。有关 Athena 支持的函数的列表,请参阅 Amazon Athena 中的 Presto 函数。或者,运行 SHOW FUNCTIONS 语句。以下是输出的部分示例:

    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

如果 Athena 不支持您要使用的函数,请考虑在 Athena 中编写用户定义的函数 (UDF)。UDF 允许您创建自定义函数来处理记录或一组记录。UDF 将接受参数,执行工作,然后返回结果。有关 UDF 的示例和更多信息,请参阅使用用户定义的函数进行查询