質問
UDFの週本を理解したいと思っていました。私はテーブルを巧みに叩いて走らなければなりませんでした クエリテーブルを押さずに値を計算したいと思いました。次にUDFのソースコードを見ることができますか?
SELECT weekofyear
('12-31-2013')
from a;
. 解決
Hive 0.13.0以降、UDFをテストするにはテーブルを必要としません。
このJIRAを参照してください: Hive-178 SELECT ONER SELECT 1行テーブルを想定する必要があります。列
なしでテスト:
hive> SELECT weekofyear('12-31-2013');
.
結果:
OK
1
Time taken: 0.912 seconds, Fetched: 1 row(s)
.
ソースコード(マスターブランチ)はここにあります。 udfweekofyear.java
他のヒント
Java開発者の場合は、JUnitテストケースを書くことができ、UDFSをテストすることができます..
grepcode の関数内に組み込まれたすべてのハイブのソースコードを検索できます。
hiveでテーブルを押さずにUDFを実行するとは思わない。 hive開発者様テーブルをヒット UDFテストで。
- このテーブルでudfクエリを1つだけ持つテーブルの作成
- ローカルモードでハイブを実行します。
ハイブソースコードはここにあります。
UDFWeekOfYear
ソースはこちら
テスト機能をテストするために、少なくとも1つの行で任意のテーブルを使用できるはずです。 これは、作業を実行して文字列結果を出力するいくつかのカスタム関数を使用した例です。
実際のテーブルと任意のテーブルを置き換えます。
ST_ASTEXT(ST_INTERESCECTECT(ST_INTERSECTERS(ST_Polygon(2,0,2,3,3,0)、ST_Polygon(1,1,4,1,4,4,1,4)))から anytable 制限1;
ハイブ復帰:
OK
ポリゴン((2 1,2.6666666666666665 1,2 3,2 1))
時間:0.191秒、取得:1行(S)
ハイブ>