1. 程式人生 > 其它 >Hive 資料型別

Hive 資料型別

Hive 資料型別

操作符

  • 算術操作符

    運算子作用
    + 加法
    - 減法
    * 乘法
    / 或 DIV 除法
    % 或 MOD 取餘
  • 比較操作符

    符號描述備註
    = 等於
    <>, != 不等於
    > 大於
    < 小於
    <= 小於等於
    >= 大於等於
    BETWEEN 在兩值之間 >=min&&<=max
    NOT BETWEEN 不在兩值之間
    IN 在集合中
    NOT IN 不在集合中
    <=> 嚴格比較兩個NULL值是否相等 兩個操作碼均為NULL時,其所得值為1;而當一個操作碼為NULL時,其所得值為0
    LIKE 模糊匹配
    REGEXP 或 RLIKE 正則式匹配
    IS NULL 為空
    IS NOT NULL 不為空
  • 邏輯操作符

    運算子號作用
    NOT 或 ! 邏輯非
    AND 邏輯與
    OR 邏輯或
    XOR 邏輯異或
  • 位操作符

    運算子號作用
    & 按位與
    | 按位或
    ^ 按位異或
    ! 取反
    << 左移
    >> 右移

數字型別

型別長度備註
TINYINT 1位元組 有符號整型
SMALLINT 2位元組 有符號整型
INT 4位元組 有符號整型
BIGINT 8位元組 有符號整型
FLOAT 4位元組 有符號單精度浮點數
DOUBLE 8位元組 有符號雙精度浮點數
DECIMAL -- 可帶小數的精確數字字串

日期時間型別

型別長度備註
TIMESTAMP -- 時間戳,內容格式:yyyy-mm-dd hh:mm:ss[.f...]
DATE -- 日期,內容格式:YYYY­MM­DD
INTERVAL -- --

字串型別

型別長度備註
STRING -- 字串(推薦)
VARCHAR 字元數範圍1 - 65535 長度不定字串
CHAR 最大的字元數:255 長度固定字串

混雜型別

型別長度備註
BOOLEAN -- 布林型別 TRUE/FALSE
BINARY -- 位元組序列(幾乎不用)

複合型別

型別長度備註
ARRAY -- 包含同類型元素的陣列,索引從0開始 ARRAY<data_type>
MAP -- 字典 MAP<primitive_type, data_type>
STRUCT -- 結構體 STRUCT<col_name : data_type [COMMENT col_comment], ...>
UNIONTYPE -- 聯合體 UNIONTYPE<data_type, data_type, ...>

在大資料系統中,不遵循標準格式的一個好處就是可以提供更高吞吐量的資料。當處理的資料的數量級是T 或者P 時,以最少的"頭部定址"來從磁碟上掃描資料是非常必要的。

按資料集進行封裝的話可以通過減少定址次數來提供查詢的速度。而如果根據外來鍵關係關聯的話則需要進行磁碟間的定址操作,這樣會有非常高的效能消耗。