Hive-data-types

提供:Dev Guides
移動先:案内検索

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], ...>