如何解決 Amazon Athena 中的 "function not registered" 語法錯誤?

1 分的閱讀內容
0

當我在 Amazon Athena 執行 SELECT 操作時,出現 "function not registered" 語法錯誤。

解決方案

如果您嘗試使用 Athena 不支援的函數,就會收到類似下列其中一則訊息的錯誤訊息:

  • "SYNTAX_ERROR: line 1:8: Function function_name not registered"
  • "FUNCTION_NOT_FOUND: line 1:8: Function 'function_name' not registered"

如需 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 年前