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

1 分钟阅读
0

当我在 Amazon Athena 中运行 SELECT 操作时,出现“函数未注册”语法错误。

解决方法

如果您尝试使用 Athena 不支持的函数,就会收到类似于以下消息之一的错误:

  • “SYNTAX_ERROR:第 1:8 行: 函数 function_name 未注册”
  • “FUNCTION_NOT_FOUND:第 1:8 行: 函数‘function_name’未注册”

有关 Athena 支持的函数列表,请参阅 Amazon Athena 中的函数。或者,运行 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 的示例和更多信息,请参阅使用用户定义的函数进行查询

相关信息

Amazon Athena UDF 连接器(在 GitHub 上)

将 Amazon Athena 连接到 Apache Hive 元存储并使用用户定义的函数

AWS 官方
AWS 官方已更新 1 年前