Hive-data-types
Hive-データ型
この章では、テーブル作成に関係するHiveのさまざまなデータ型について説明します。 Hiveのすべてのデータタイプは、次の4つのタイプに分類されます。
- 列タイプ
- リテラル
- ヌル値 *複合型
列タイプ
列タイプは、Hiveの列データタイプとして使用されます。 それらは以下のとおりです。
積分型
整数型データは、整数データ型INTを使用して指定できます。 データ範囲がINTの範囲を超える場合、BIGINTを使用する必要があり、データ範囲がINTより小さい場合、SMALLINTを使用します。 TINYINTはSMALLINTよりも小さいです。
次の表は、さまざまなINTデータ型を示しています。
Type | Postfix | Example |
---|---|---|
TINYINT | Y | 10Y |
SMALLINT | S | 10S |
INT | - | 10 |
BIGINT | L | 10L |
文字列型
文字列型のデータ型は、単一引用符( )または二重引用符( "")を使用して指定できます。 VARCHARとCHARの2つのデータ型が含まれています。 HiveはCタイプのエスケープ文字に従います。
次の表は、さまざまなCHARデータ型を示しています。
Data Type | Length |
---|---|
VARCHAR | 1 to 65355 |
CHAR | 255 |
タイムスタンプ
オプションのナノ秒精度の従来のUNIXタイムスタンプをサポートします。 java.sql.Timestamp形式「YYYY-MM-DD HH:MM:SS.fffffffff」および形式「yyyy-mm-dd hh:mm:ss.ffffffffff」をサポートしています。
日付
DATE値は、年/月/日の形式で\ {\ {YYYY-MM-DD}}の形式で記述されます。
小数
HiveのDECIMAL型は、JavaのBig Decimal形式と同じです。 不変の任意精度を表すために使用されます。 構文と例は次のとおりです。
DECIMAL(precision, scale)
decimal(10,0)
ユニオンの種類
Unionは、異種データ型のコレクションです。* create union *を使用してインスタンスを作成できます。 構文と例は次のとおりです。
UNIONTYPE<int, double, array<string>, struct<a:int,b:string>>
{0:1}
{1:2.0}
{2:["three","four"]}
{3:{"a":5,"b":"five"}}
{2:["six","seven"]}
{3:{"a":8,"b":"eight"}}
{0:9}
{1:10.0}
リテラル
Hiveでは次のリテラルが使用されます。
浮動小数点型
浮動小数点型は、小数点付きの数字にすぎません。 一般に、このタイプのデータはDOUBLEデータタイプで構成されます。
小数タイプ
^ -308308 ^
ヌル値
欠損値は、特別な値NULLで表されます。
複合型
Hiveの複合データ型は次のとおりです。
配列
Hiveの配列は、Javaで使用されるのと同じ方法で使用されます。
Syntax: ARRAY<data_type>
Maps
HiveのマップはJavaマップに似ています。
Syntax: MAP<primitive_type, data_type>
構造体
Hiveの構造は、コメント付きの複雑なデータの使用に似ています。
Syntax: STRUCT<col_name : data_type [COMMENT col_comment], ...>