当我在 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 元存储并使用用户定义的函数