10

UDF WeekOfYear と、それが最初の週にどのように始まるかを理解したいと思いました。テーブルを人為的にヒットしてクエリを実行する必要がありました。テーブルにヒットして値を計算したくありませんでした。次に、UDF のソース コードを確認できますか?

SELECT weekofyear
('12-31-2013')
from a;
4

4 に答える 4

1

Java 開発者であれば、JUnit テスト ケースを記述して UDF をテストできます。

grepcodeですべてのハイブ組み込み関数のソース コードを検索できます。

http://grepcode.com/file/repo1.maven.org/maven2/org.apache.hive/hive-exec/1.0.0/org/apache/hadoop/hive/ql/udf/UDFWeekOfYear.java

于 2015-06-01T07:00:37.867 に答える
0

テーブルにヒットせずに UDF を実行することは、Hive では不可能だと思います。Hive の開発者でさえ、UDF のテストに参加しています。

クエリの実行を高速化するには、次のことができます。

  1. 1 行のみのテーブルを作成し、このテーブルで UDF クエリを実行します
  2. Hive をローカル モードで実行します。

Hive のソース コードはここにありますUDFWeekOfYearソースはこちら

于 2014-01-09T09:31:04.773 に答える
0

関数をテストするには、少なくとも 1 つの行を含む任意のテーブルを使用できる必要があります。これは、作業を実行して文字列の結果を出力するいくつかのカスタム関数を使用した例です。

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 の結果:

わかった

ポリゴン ((2 1, 2.6666666666666665 1, 2 3, 2 1))

かかった時間: 0.191 秒、フェッチされた: 1 行

ハイブ>

于 2015-10-01T02:36:57.733 に答える