Hive基礎之數(shù)據(jù)類型

hive創(chuàng)建表的語法參考如下網(wǎng)址:Create/Drop/Truncate Table

1.數(shù)據(jù)類型

在創(chuàng)建表的時候我們在新建列的時候會需要指定數(shù)據(jù)類型,一般在數(shù)據(jù)文件中我們可以將所有的數(shù)據(jù)都指定為string即字符串類型枕面,然后再用函數(shù)轉(zhuǎn)換為其他的數(shù)據(jù)類型腌歉,比如日期、數(shù)值等限匣。

CREATE  TABLE [IF NOT EXISTS] [db_name.]table_name    
  ``[(col_name data_type [COMMENT col_comment], ... [constraint_specification])]
  ....
  data_type
  : primitive_type
  | array_type
  | map_type
  | struct_type
  | union_type  

由hive的語法規(guī)則可以看到hive的數(shù)據(jù)類型一共有五中,下面分別介紹一下這五種數(shù)據(jù)類型。

2.原生類型

primitive_type是對應的java中的數(shù)據(jù)類型捕犬,是比較常用的數(shù)據(jù)類型跷坝。這些數(shù)據(jù)類型的詳細描述在鏈接中Hive Data Types,這里只介紹一下常用的數(shù)據(jù)類型:

INT/INTEGER (4-byte signed integer, from -2,147,483,648 to 2,147,483,647)

int或integer類型是整型碉碉,表示從-2,147,483,648到2,147,483,647的整數(shù)柴钻,一般用來表示ID。如果要表示的數(shù)值位數(shù)超過int類型的最大值垢粮,可以使用bigint贴届。

DOUBLE (8-byte double precision floating point number)

如果用來表示商品的單價等金額信息可以使用double數(shù)據(jù)類型,double可以保存雙精度數(shù)值蜡吧。一般企業(yè)中我們會指定數(shù)值的位數(shù)和精度毫蚓,這個時候我們就需要使用DECIMAL數(shù)據(jù)類型,該類型可以指定任意的精度和位數(shù)昔善,方便用于計算绍些。用法是 DECIMAL(precision, scale) ,其中precision是精度耀鸦,指定有多少位有效數(shù)字柬批,scale是小數(shù)位數(shù),指小數(shù)點后有多少位數(shù)字袖订,比如DECIMAL(10,2)指的就是有10位有效數(shù)字氮帐,小數(shù)點后是2位。

另外洛姑,hive中的日期類型不常用上沐,我們一般將日期類型的數(shù)據(jù)保存為string類型,也省去了日期格式轉(zhuǎn)換的麻煩楞艾。

字符串類型一般使用string類型参咙,不推薦使用VARCHAR和CHAR類型。

對于boolean類型硫眯,我們一般用0和1來代替蕴侧,后續(xù)的使用處理上也會方便一些。

3.復雜類型

復雜類型是指array_type两入、map_type净宵、struct_type和union_type,一般在企業(yè)中使用 array_type和map_type會比較多一些裹纳。

4.Python對數(shù)據(jù)進行處理

一般企業(yè)中在對數(shù)據(jù)進行處理的時候是先將數(shù)據(jù)保存在hive表中:

create table test_log(
content string
);

在文件中一行數(shù)據(jù)就對應hive表中的一條數(shù)據(jù)择葡,然后在創(chuàng)建子表的時候使用Python腳本對content進行數(shù)據(jù)處理。具體分為下面三個步驟:

1).Create table, Load data : E(xtract)
2).Select, Python : T(ransform)
3).Save data into sub table: L(oad)

這就是使用Hive對采集到的日志文件進行ETL的過程剃氧。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末敏储,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子朋鞍,更是在濱河造成了極大的恐慌已添,老刑警劉巖迫横,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異酝碳,居然都是意外死亡矾踱,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門疏哗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來呛讲,“玉大人,你說我怎么就攤上這事返奉”锤椋” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵芽偏,是天一觀的道長雷逆。 經(jīng)常有香客問我,道長污尉,這世上最難降的妖魔是什么膀哲? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮被碗,結果婚禮上某宪,老公的妹妹穿的比我還像新娘。我一直安慰自己锐朴,他們只是感情好兴喂,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著焚志,像睡著了一般衣迷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上酱酬,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天壶谒,我揣著相機與錄音,去河邊找鬼岳悟。 笑死佃迄,一個胖子當著我的面吹牛泼差,可吹牛的內(nèi)容都是我干的贵少。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼堆缘,長吁一口氣:“原來是場噩夢啊……” “哼滔灶!你這毒婦竟也來了?” 一聲冷哼從身側響起吼肥,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤录平,失蹤者是張志新(化名)和其女友劉穎麻车,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體斗这,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡动猬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了表箭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赁咙。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖免钻,靈堂內(nèi)的尸體忽然破棺而出彼水,到底是詐尸還是另有隱情,我是刑警寧澤极舔,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布凤覆,位于F島的核電站,受9級特大地震影響拆魏,放射性物質(zhì)發(fā)生泄漏盯桦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一渤刃、第九天 我趴在偏房一處隱蔽的房頂上張望俺附。 院中可真熱鬧,春花似錦溪掀、人聲如沸事镣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽璃哟。三九已至,卻和暖如春喊递,著一層夾襖步出監(jiān)牢的瞬間随闪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工骚勘, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留铐伴,地道東北人。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓俏讹,卻偏偏與公主長得像当宴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子泽疆,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

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