Athena の「function not registered」(関数が登録されていません) 構文エラーを解決する方法を教えてください。

最終更新日: 2020 年 5 月 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 の例と詳細については、「ユーザー定義関数を使用したクエリ (プレビュー)」を参照してください。