當我在 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 中繼儲存區並利用使用者定義的函數