列型別
hive支援的資料型別如下:
原生資料型別:
復合型別:
支援傳統的unix時間戳,可選的納秒級精度。
支援的轉換:
時間戳被解釋是與timezone無關,儲存為從unix紀元的偏移量。提供便利的udf和時區轉換(to_utc_timestamp,from_utc_timestamp)。
所有現有datetime的udf(月,日,年,小時,等)可以工作於timestamp資料型別。
union型別可以在同一時間點,保持恰好有乙個指定的資料型別。您可以使用create_union的udf建立乙個例項的型別:
create table union_test(foo uniontype, struct>);
select foo from union_test;}}
第一部分,對於union的發序列化來說是乙個tag,讓它知道哪個union的部分被使用。在例子0,表明宣告的第乙個資料型別,即是int,其他如此。
建立union,必須提供為create_union udf提供tag。
select create_union(0, key), create_union(if(key<100, 0, 1), 2.0, value), create_union(1, "a", struct(2, "b")) from src limit 2;
}}
預設,數值型別認為是int,除非int超出了int的範圍,那麼會被解釋為bigint,或者是如下的字尾在數值中被使用。
typepostfix
example
tinyint
y100y
smallint
s100s
bigint
l100l
字串可以用單引號(')或雙引號(「)。hive在字串中使用c-style的轉義。
浮點型別數值,被假定為雙浮點型別。目前還不支援科學記數法。
遺漏的值被代表為特殊值null。 要匯入null欄位的資料,需要查閱使用的serde的文件。 (預設的文字格式使用lazy******serde的解釋字串\ n為null),如將查詢結果輸出到檔案,若為null,則字段值顯示為\n
Hive資料型別
1 基本資料型別 包含如下型別 整數型別 tinyint smallint int bigint 浮點型別 float double 布林型別 boolean 字串型別 string 舉例 create table person pid int,pname string,married boolea...
Hive資料型別
hive的內建資料型別可以分為兩大類 1 基礎資料型別 2 複雜資料型別。資料型別 所佔位元組 開始支援版本 tinyint 1byte,128 127 smallint 2byte,32,768 32,767 int4byte,2,147,483,648 2,147,483,647 bigint ...
Hive資料型別
常用的基本資料型別 基本資料型別 所佔位元組 intboolean float double string 複雜資料型別 複雜資料型別 說明array array型別是由一系列相同資料型別的元素組成。並且可以通過下表來進行訪問。注意 下表從0開始計 mapmap包含key value鍵值對,可以通過...