Hive-組み込み関数
この章では、Hiveで使用できる組み込み関数について説明します。関数は、使用法を除いて、SQL関数と非常によく似ています。
組み込み関数
Hiveは、次の組み込み関数をサポートしています。
戻り値の型 | 署名 | 説明 |
---|---|---|
BIGINT | ラウンド(ダブルa) | doubleの丸められたBIGINT値を返します。 |
BIGINT | フロア(ダブルa) | double以下の最大BIGINT値を返します。 |
BIGINT | ceil(double a) | double以上の最小BIGINT値を返します。 |
ダブル | rand()、rand(int seed) | 行ごとに変化する乱数を返します。 |
ストリング | concat(文字列A、文字列B、...) | Aの後にBを連結した結果の文字列を返します。 |
ストリング | substr(string A、int start) | 開始位置から文字列Aの終わりまでのAの部分文字列を返します。 |
ストリング | substr(文字列A、int開始、int長) | 指定された長さの開始位置から始まるAの部分文字列を返します。 |
ストリング | アッパー(文字列A) | Aのすべての文字を大文字に変換した結果の文字列を返します。 |
ストリング | ucase(文字列A) | 同上。 |
ストリング | lower(文字列A) | Bのすべての文字を小文字に変換した結果の文字列を返します。 |
ストリング | lcase(文字列A) | 同上。 |
ストリング | トリム(文字列A) | Aの両端からスペースをトリミングした結果の文字列を返します。 |
ストリング | ltrim(文字列A) | Aの先頭(左側)からスペースをトリミングした結果の文字列を返します。 |
ストリング | rtrim(文字列A) | rtrim(string A)Aの末尾(右側)からスペースをトリミングした結果の文字列を返します。 |
ストリング | regexp_replace(文字列A、文字列B、文字列C) | これは、Java正規表現構文に一致するBのすべての部分文字列をCに置き換えた結果の文字列を返します。 |
int | サイズ(マップ<KV>) | マップタイプの要素数を返します。 |
int | size(Array <T>) | 配列型の要素数を返します。 |
<type>の値 | cast(<expr> as <type>) | 式exprの結果を<type>に変換します。たとえば、cast( '1' as BIGINT)は、文字列 '1'を整数表現に変換します。変換が成功しなかった場合はNULLが返されます。 |
ストリング | from_unixtime(int unixtime) | Unixエポック(1970-01-01 00:00:00 UTC)からの秒数を、現在のシステムタイムゾーンでのその瞬間のタイムスタンプを表す文字列に「1970-01-0100:00:」の形式で変換します。 00 " |
ストリング | to_date(文字列タイムスタンプ) | タイムスタンプ文字列の日付部分を返します:to_date( "1970-01-01 00:00:00")= "1970-01-01" |
int | 年(文字列の日付) | 日付またはタイムスタンプ文字列の年の部分を返します:year( "1970-01-01 00:00:00")= 1970、year( "1970-01-01")= 1970 |
int | 月(文字列の日付) | 日付の月の部分またはタイムスタンプ文字列を返します:month( "1970-11-01 00:00:00")= 11、month( "1970-11-01")= 11 |
int | 日(文字列の日付) | 日付またはタイムスタンプ文字列の日の部分を返します:day( "1970-11-01 00:00:00")= 1、day( "1970-11-01")= 1 |
ストリング | get_json_object(string json_string、string path) | 指定されたjsonパスに基づいてjson文字列からjsonオブジェクトを抽出し、抽出されたjsonオブジェクトのjson文字列を返します。入力されたjson文字列が無効な場合はNULLを返します。 |
例
次のクエリは、いくつかの組み込み関数を示しています。
round()関数
hive> SELECT round(2.6) from temp;
クエリが正常に実行されると、次の応答が表示されます。
3.0
floor()関数
hive> SELECT floor(2.6) from temp;
クエリが正常に実行されると、次の応答が表示されます。
2.0
ceil()関数
hive> SELECT ceil(2.6) from temp;
クエリが正常に実行されると、次の応答が表示されます。
3.0
集計関数
Hiveは次の組み込みをサポートします aggregate functions。これらの関数の使用法は、SQL集計関数と同じです。
戻り値の型 | 署名 | 説明 |
---|---|---|
BIGINT | count(*)、count(expr)、 | count(*)-取得した行の総数を返します。 |
ダブル | sum(col)、sum(DISTINCT col) | グループ内の要素の合計、またはグループ内の列の個別の値の合計を返します。 |
ダブル | avg(col)、avg(DISTINCT col) | グループ内の要素の平均、またはグループ内の列の個別の値の平均を返します。 |
ダブル | min(col) | グループ内の列の最小値を返します。 |
ダブル | max(col) | グループ内の列の最大値を返します。 |