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

上次更新时间:2020 年 5 月 22 日

当我在 Amazon Athena 中运行 SELECT 操作时,出现如下错误:“SYNTAX_ERROR:行 1:8:未注册函数 function_name”。

解决方法

当您尝试使用不受 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 的示例和更多信息,请参阅使用用户定义的函数进行查询(预览版)