Hive資料型別

2021-08-27 10:37:40 字數 1194 閱讀 1263

列型別

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鍵值對,可以通過...