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 の例と詳細については、ユーザー定義関数によるクエリ を参照してください。
関連情報
アマゾンアテナ UDF コネクタ (GitHub 上)
Amazon Athena を Apache Hive メタストアに接続し、ユーザー定義関数を使用してください