Hive與MySQL的不同之處之類型轉(zhuǎn)換cast和covert函數(shù)

Hive:

cast(xxx AS 類型)
如:
cast(tm AS bigint)

附上Hive基本數(shù)據(jù)類型:

數(shù)據(jù)類型 所占字節(jié) 開始支持版本
TINYINT 1byte蔚鸥,-128 ~ 127
SMALLINT 2byte卖漫,-32,768 ~ 32,767
INT 4byte,-2,147,483,648 ~ 2,147,483,647
BIGINT 8byte,-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
BOOLEAN
FLOAT 4byte單精度
DOUBLE 8byte雙精度
STRING
BINARY 從Hive0.8.0開始支持
TIMESTAMP 從Hive0.8.0開始支持
DECIMAL 從Hive0.11.0開始支持
CHAR 從Hive0.13.0開始支持
VARCHAR 從Hive0.12.0開始支持
DATE 從Hive0.12.0開始支持

復(fù)雜類型包括ARRAY,MAP,STRUCT,UNION,這些復(fù)雜類型是由基礎(chǔ)類型組成的。

ARRAY

ARRAY類型是由一系列相同數(shù)據(jù)類型的元素組成,這些元素可以通過下標(biāo)來訪問。比如有一個(gè)ARRAY類型的變量fruits,它是由['apple','orange','mango']組成婆跑,那么我們可以通過fruits[1]來訪問元素orange,因?yàn)锳RRAY類型的下標(biāo)是從0開始的庭呜;

MAP:

MAP包含key->value鍵值對(duì)滑进,可以通過key來訪問元素。比如”userlist”是一個(gè)map類型疟赊,其中username是key郊供,password是value;那么我們可以通過userlist['username']來得到這個(gè)用戶對(duì)應(yīng)的password近哟;

STRUCT:

STRUCT可以包含不同數(shù)據(jù)類型的元素驮审。這些元素可以通過”點(diǎn)語法”的方式來得到所需要的元素,比如user是一個(gè)STRUCT類型吉执,那么可以通過user.address得到這個(gè)用戶的地址疯淫。

UNION:

UNION TYPE,他是從Hive 0.7.0開始支持的戳玫。

創(chuàng)建一個(gè)包含復(fù)制類型的表格可以如下

CREATE TABLE employees (  
    name STRING,  
    salary FLOAT,  
    subordinates ARRAY<STRING>,  
    deductions MAP<STRING, FLOAT>,  
    address STRUCT<street:STRING, city:STRING, state:STRING, zip:INT>  
) PARTITIONED BY (country STRING, state STRING); 

MySQL:

cast(xxx AS 類型)或convert(xxx,類型)熙掺,類型必須用下列的類型:

二進(jìn)制,同帶binary前綴的效果 : BINARY
字符型,可帶參數(shù) : CHAR()
日期 : DATE
時(shí)間: TIME
日期時(shí)間型 : DATETIME
浮點(diǎn)數(shù) : DECIMAL
整數(shù) : SIGNED
無符號(hào)整數(shù) : UNSIGNED

如:cast(tm AS signed)
或convert(tm,signed)

警告:

MySQL類型轉(zhuǎn)換不能用int之類的,否則會(huì)報(bào)錯(cuò):
cast(tm AS int)
或convert(tm,int)

附上MySQL基本數(shù)據(jù)類型:

|** 類型 **| **大小 **| ** 描述 **|
|------------| ----------| ---------- |:-----------:|
|char[length] | length字節(jié) | 定長字段咕宿,長度為0-255個(gè)字節(jié)|
|varchar[length] | string長度+1字節(jié) | 變長字段币绩,在mysql5.03以前,長度為0-255個(gè)字節(jié)府阀,在5.0.3以后缆镣,最大長度為65535字節(jié)。一個(gè)utf8字符占3個(gè)字節(jié)试浙、一個(gè)gbk字符占兩個(gè)字節(jié)董瞻。|
|tinytext | string長度+1字節(jié) | 字符串,長度為0-255個(gè)字節(jié)|
|text | string長度+2字節(jié) | 字符串田巴,最大長度為0-65535個(gè)字節(jié)|
|mediumtext | string長度+3字節(jié) | 字符串钠糊,最大長度為16777215個(gè)字節(jié)|
|longtext | string長度+4字節(jié) | 字符串挟秤,最大長度為4194967295個(gè)字節(jié)|
|tinyint[length] | 1字節(jié) | 范圍:-128127或0255|
|smallint[length] | 2字節(jié) | |
|mediumint[length] | 3字節(jié) | |
|int[length] | 4字節(jié) | |
|bigint[length] | 8字節(jié) | |
|float | 4字節(jié) | |
|double[length,decimals] | 8字節(jié) | 運(yùn)行固定的小數(shù)點(diǎn)|
|decimal[length,decimals] | length+1字節(jié)或length+2字節(jié) | |
|date | 3字節(jié) | 采用YYYY-MM-DD格式|
|datetime | 8字節(jié) | 采用YYYY-MM-DD HH:mm:SS格式|
|timestamp | 4字節(jié) | 采用YYYYMMDDHHmmSS格式|
|time | 3字節(jié) | 采用HH:MM:SS格式|
|enum | 1或2字節(jié) | 枚舉類型|
|set | 1、2抄伍、3艘刚、4或8字節(jié) | 與enum一樣,只不過每一列可以具有多個(gè)可能的值|
|blob | | 是text的一個(gè)變體截珍。允許存儲(chǔ)二進(jìn)制文件昔脯,還可用于某些加密數(shù)據(jù)。|

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末笛臣,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子隧饼,更是在濱河造成了極大的恐慌沈堡,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件燕雁,死亡現(xiàn)場離奇詭異诞丽,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)拐格,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門僧免,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人捏浊,你說我怎么就攤上這事懂衩。” “怎么了金踪?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵浊洞,是天一觀的道長。 經(jīng)常有香客問我胡岔,道長法希,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任靶瘸,我火速辦了婚禮苫亦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘怨咪。我一直安慰自己屋剑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布惊暴。 她就那樣靜靜地躺著饼丘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪辽话。 梳的紋絲不亂的頭發(fā)上肄鸽,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天卫病,我揣著相機(jī)與錄音,去河邊找鬼典徘。 笑死蟀苛,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的逮诲。 我是一名探鬼主播帜平,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼梅鹦!你這毒婦竟也來了裆甩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤齐唆,失蹤者是張志新(化名)和其女友劉穎嗤栓,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體箍邮,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡茉帅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了锭弊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片堪澎。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖味滞,靈堂內(nèi)的尸體忽然破棺而出樱蛤,到底是詐尸還是另有隱情,我是刑警寧澤桃犬,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布刹悴,位于F島的核電站,受9級(jí)特大地震影響攒暇,放射性物質(zhì)發(fā)生泄漏土匀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一形用、第九天 我趴在偏房一處隱蔽的房頂上張望就轧。 院中可真熱鬧,春花似錦田度、人聲如沸妒御。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乎莉。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間惋啃,已是汗流浹背哼鬓。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留边灭,地道東北人异希。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像绒瘦,于是被迫代替她去往敵國和親称簿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容