我想了解UDF WeekOfYear以及它如何在第一週開始。我不得不人爲地擊中一張桌子並運行查詢。我想不打表和計算值。其次,我可以看看UDF源代碼嗎?我們如何在不參考表格的情況下測試HIVE功能
SELECT weekofyear
('12-31-2013')
from a;
我想了解UDF WeekOfYear以及它如何在第一週開始。我不得不人爲地擊中一張桌子並運行查詢。我想不打表和計算值。其次,我可以看看UDF源代碼嗎?我們如何在不參考表格的情況下測試HIVE功能
SELECT weekofyear
('12-31-2013')
from a;
你不需要表來測試UDF因爲蜂巢0.13.0,請參閱本吉拉:https://issues.apache.org/jira/browse/HIVE-178
演示:
hive> SELECT weekofyear
> ('12-31-2013');
OK
1
Time taken: 0.912 seconds, Fetched: 1 row(s)
的源代碼(主分支)是在這裏:https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFWeekOfYear.java
我不認爲如果在Hive中沒有擊中表格就可能執行UDF。 甚至在UDF測試中Hive開發者hit the table。
爲了使查詢運行得更快,您可以:
如果你是Java開發人員,您可以編寫JUnit測試用例和測試的UDF ..
您可以搜索內置函數所有蜂巢的源代碼grepcode。
您應該能夠使用任何表至少一行來測試功能。 這是一個使用一些自定義函數來執行工作並輸出字符串結果的示例。
將anytable替換爲實際的表格。
SELECT ST_AsText(ST_Intersection(ST_Polygon(2,0,2,3,3,0),ST_Polygon(1,1,4,1,4,4,1,4)))FROM anytable LIMIT 1;
HIVE Resuluts:
行
POLYGON((2 1,2.6666666666666665 1,2 3,2 1))被
時間:0.191秒,抓取時間:1行(多個)
蜂巢>