如何解决 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 的示例和更多信息,请参阅使用用户定义的函数进行查询。