メインコンテンツへジャンプ

Hive 日付関数

Databricks 無料トライアル

Hive日付関数とは

Hiveでは、データの処理や照会を行う際に役立つ多くの組み込み関数を提供しています。これらの関数が提供する機能には、文字列操作、日付操作、型変換、条件演算子、数学関数などがあります。

HIVE の組み込み関数の種類

日付関数

日付に日数を加算したり、他の類似の演算を追加するなど、日付データ型に対する操作を実行するために主に使用されます。

数学関数

主に数学的計算を実行するために使用されます。

条件関数

条件をテストするために使用され、テスト条件が真か偽かに基づいて値を返します。

文字列関数

文字列の長さを検索するなど文字列に対する操作を実行するために使用されます。

集約関数

配列やマップなどの複合型のサイズを求めるために使用されます。SIZE関数という集約関数が1つ提供されています。この関数の主な用途は、配列とマップ内の要素の数を検索することです。

型変換関数

データをある型から別の型に変換する場合に使用します。型変換関数は CAST だけです。

テーブル作成関数

この関数を使用することで1 つの行を複数の行に変換できます。EXPLODEは、唯一のテーブル作成関数で、配列を入力として使用し、配列の要素を別々の行に出力します。

日付タイプ

日付型は一定の形式(年・月・日・時・分・秒)で扱われます。日付の値には、世紀、年、月、日、時、分、秒が含まれます。これらの関数は、日付に日数を加算する、日付型を別の型に変換するなどの、日付データ型に対する演算を実行するために使用されます。一般的に使用される Hadoop Hive の日付と時刻関数は以下のとおりです。

関数名戻り値の型説明
Unix_TimestampBigINT現在の Unix タイムスタンプを秒単位で取得
To_date (文字列タイムスタンプ)Stringタイムスタンプ文字列の日付部分を取得して返します
year (文字列日付)INT日付またはタイムスタンプ文字列の年部分を取得して返します
quarter
(日付/タイムスタンプ/文字列)
INTquarter関数は Hive 1.3で導入。日付、タイムスタンプ、または文字列の年の1/4を日付として取得し、1~4の範囲で指定
month
(文字列日付)
INT日付またはタイムスタンプ文字列の月の部分を返します
hour
(文字列日付)
INTタイムスタンプの時間を取得し返します
minute
(文字列日付)
INTタイムスタンプから分を返します
Date_sub
(文字列開始日、INT日)
String指定した日付までの日数を減算します
Current_date日付クエリ評価の開始時に現在の日付を返します
LAST _day
(文字列日付)
String日付が属する月の最後の日を取得して返します
trunc
(文字列日付、文字列形式)
StringTIMESTAMP値からフィールドを取り除きます

FAQ

1. Hiveの日付関数は何に使いますか?
日付・時刻から年/月/時刻を取り出したり、日付の加減算や月末日取得など、日付型の加工に使います。

2. to_date()は何を返しますか?
タイムスタンプ文字列から日付部分だけを取り出して返します。

3. date_sub()はどんな処理ですか?
指定した開始日から、指定日数分だけ日付を減算して結果の日付文字列を返します。

関連資料

用語集に戻る