1. 程式人生 > >hive 學習系列一(資料型別的定義)

hive 學習系列一(資料型別的定義)

數字型別(Numeric Types)

整型

TINYINT(取值範圍:-128 – 127)
SMALLINT(取值範圍:-32,768 to 32,767)
INT/INTEGER(取值範圍: -2,147,483,648 to 2,147,483,647)
BIGINT(取值範圍: -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807)

使用舉例
資料型別   字尾  舉例
TINYINT    Y     100Y
SMALLINT   S     100S
BIGINT     L     100L

小數

Float(4byte位雙精度小數,精確到8位小數)
Double(8byte位雙精度小數, 精確到小數點後16位)
DECIMAL(自定義小數,長度自定義)

時間型別

字串型別

CHAR (最長指定255位)
VARCHAR(指定的長度範圍0–65535)
STRING (單引號” 或者雙引號括起來的內容,注意轉義字元)

CREATE TABLE foo (bar CHAR(10))
CREATE TABLE foo1 (bar VARCHAR(1000))

其他

BOOLEAN (類似java boolean)
BINARY (2進位制格式)

複雜型別

arrays: ARRAY (Note: negative values and non-constant expressions are allowed as of Hive 0.14.)
maps: MAP

用法舉例:
create table if not exists employee(
    name string,
    salary float,
    subordinates  array<string>,   
    decutions map<string, float>,
    struct<street:String, city:string, state:string, zip:int>
)

分別表示名字,薪水,下屬員工, 薪水扣除事項(公積金、醫療保險),地址(街道,城市,州,)