Posted at

Hueのクエリエディターで、自作UDFのFunctionを使う方法

More than 1 year has passed since last update.


Hueのクエリエディターで、自作UDFのFunctionを使う方法

私が採用している方法は、以下の2つ



方法1 クエリエディタのSettingsで、UDFのJARファイルをアップロードし、Functionを定義追加する

①SettingsのFilesで、UDFのJARファイルをアップロードする

私は、/user/hadoopにアップロードしています。

②アップロードしたJARファイルを選択

テキストボックスに、アップロードしたJARファイルへのパスが表示される。

Path: /user/hadoop/udfs-all.jar

③Functionsに、function名とjavaのパッケージ〜クラス名を入力

Name: udf_my_sum

Class: jp.co.sampel.udf.MySum

④実際にクエリから利用する


sample.q

SELECT id, udf_my_sum(price) FROM books;




方法2 s3バケット上のUDFのJARファイルを参照する

事前にアクセスキーなど設定が必要ですが、EMRを利用している事として既にバケットにはアクセス可能な前提

①クエリで、CREATE FUNCTIONする


sample.q

CREATE FUNCTION udf_my_sum AS 'jp.co.sampel.udf.MySum' USING JAR '${LIB}/udfs-all.jar';

SELECT id, udf_my_sum(price) FROM books;


変数:LIB=s3://my-bucket

と設定して実行


他にもあるとは思いますが、基本的にはこの2つで良いかと