大數(shù)據(jù)基本操作錦集之Hive的基本操作(一)

哈嘍,大家好陈哑,我是漢斯老師妻坝。近幾年來伸眶,互聯(lián)網(wǎng)行業(yè)由于較高的薪資收入,受到許多人的追捧刽宪。很多年輕的學(xué)子厘贼,或是其他行業(yè)的有志青年,都想要投身到這個(gè)行業(yè)中來圣拄。然而一方面受到“互聯(lián)網(wǎng)寒冬”的影響嘴秸,最近頻頻傳出各家知名互聯(lián)網(wǎng)公司裁員縮編的消息;另一方面庇谆,大量的人才涌入岳掐,又使得互聯(lián)網(wǎng)產(chǎn)業(yè)在職場(chǎng)上呈現(xiàn)出供過于求的特征,并最終導(dǎo)致了職場(chǎng)上的激烈競(jìng)爭(zhēng)族铆。那么互聯(lián)網(wǎng)行業(yè)未來的潛力在哪里岩四?我們又應(yīng)該在哪個(gè)方向上發(fā)力,才能保證自己可以獲得一份高薪而穩(wěn)定的工作哥攘?基于多年的互聯(lián)網(wǎng)行業(yè)從業(yè)經(jīng)驗(yàn)剖煌,漢斯老師在這里向大家推薦大數(shù)據(jù)方向,希望通過本人的《三分鐘入門大數(shù)據(jù)》和《十分鐘精通大數(shù)據(jù)》等系列文章逝淹,幫助所有有志了解學(xué)習(xí)大數(shù)據(jù)的朋友掌握大數(shù)據(jù)的相關(guān)知識(shí)耕姊,也歡迎所有對(duì)互聯(lián)網(wǎng)行業(yè)以及大數(shù)據(jù)領(lǐng)域感興趣的朋友前來交流。





目錄

簡(jiǎn)介

hive的數(shù)據(jù)類型

hive的數(shù)據(jù)存儲(chǔ)

hive的數(shù)據(jù)模型

hive的DDL(數(shù)據(jù)庫(kù)定義語言)

hive的DML操作

hive加載數(shù)據(jù)

hive導(dǎo)出數(shù)據(jù)

hive udf使用介紹

簡(jiǎn)介

hive在hadoop生態(tài)圈屬于數(shù)據(jù)倉(cāng)庫(kù)角色栅葡,他能夠管理hadoop中的數(shù)據(jù)茉兰,同時(shí)可以查詢hadoop中的數(shù)據(jù)。本質(zhì)上來講欣簇,hive就是sql解釋器规脸,可以將sql轉(zhuǎn)換為mapreduce的job來運(yùn)行⌒苎剩可以將sql中的表莫鸭,字段轉(zhuǎn)化為hdfs中的文件,以及文件中的列横殴。hive在hdfs中的默認(rèn)位置是/user/hive/warehouse被因。

Hive的數(shù)據(jù)類型

整型:TINYINT,SMALLINT衫仑,INT梨与,BIGINT。

文本類型:VARCHAR:1 to 65355文狱,CHAR:255粥鞋,STRING

時(shí)間類型:timestamp:時(shí)間戳, date:日期

布爾及二進(jìn)制:BOOLEAN表示二元的true或false瞄崇,BINARY用于存儲(chǔ)變長(zhǎng)的二進(jìn)制數(shù)據(jù)

浮點(diǎn)類型:float陷虎,double

復(fù)雜數(shù)據(jù)類型:Array/Map/Struct/UNIONhive的數(shù)據(jù)存儲(chǔ)

Hive的數(shù)據(jù)存儲(chǔ)

1.基于Hadoop HDFS

2.Hive沒有專門的數(shù)據(jù)存儲(chǔ)格式到踏,存儲(chǔ)結(jié)構(gòu)主要包括:數(shù)據(jù)庫(kù)、文件尚猿、表、視圖

3.Hive默認(rèn)可以直接加載文本文件(TextFile)楣富,還支持sequence file 創(chuàng)建表時(shí)凿掂,指定

4.Hive數(shù)據(jù)的列分隔符與行分隔符,Hive即可解析數(shù)據(jù)

hive的數(shù)據(jù)模型

1.內(nèi)部表:與數(shù)據(jù)庫(kù)中的 Table 在概念上是類似每一個(gè)Table在Hive中都有一個(gè)相應(yīng)的目錄存儲(chǔ)數(shù)據(jù)纹蝴。例如庄萎,一個(gè)表test,它在HDFS中的路徑為:/user/hive/warehouse,刪除表時(shí)塘安,元數(shù)據(jù)與數(shù)據(jù)都會(huì)被刪除.

2.分區(qū)表:在 Hive 中糠涛,表中的一個(gè) Partition 對(duì)應(yīng)于表下的一個(gè)目錄,所有的 Partition的數(shù)據(jù)都存儲(chǔ)在對(duì)應(yīng)的目錄中兼犯。test表中包含 date 和 city 兩個(gè) Partition,則對(duì)應(yīng)于date=20130201, city = bj 的HDFS子目錄為:/user/hive/warehouse/test/date=20130201/city=bj

3.外部表:指向已經(jīng)在 HDFS 中存在的數(shù)據(jù)忍捡,可以創(chuàng)建 Partition 它和 內(nèi)部表在元數(shù)據(jù)的組織上是相同的,而實(shí)際數(shù)據(jù)的存儲(chǔ)則有較大的差異 內(nèi)部表 的創(chuàng)建過程和數(shù)據(jù)加載過程(這兩個(gè)過程可以在同一個(gè)語句中完成)切黔,在加載數(shù)據(jù)的過程中砸脊,實(shí)際數(shù)據(jù)會(huì)被移動(dòng)到數(shù)據(jù)倉(cāng)庫(kù)目錄中。外部表只有一個(gè)過程纬霞,加載數(shù)據(jù)和創(chuàng)建表同時(shí)完成凌埂,并不會(huì)移動(dòng)到數(shù)據(jù)倉(cāng)庫(kù)目錄中,只是與外部數(shù)據(jù)建立一個(gè)鏈接。當(dāng)刪除一個(gè)外部表時(shí)诗芜,僅刪除鏈接瞳抓。

hive的DDL(數(shù)據(jù)庫(kù)定義語言)

1.創(chuàng)建數(shù)據(jù)庫(kù)

hive> show databases;

OK default Time taken: 0.049 seconds, Fetched: 1 row(s)

hive> create database test;

OKTime taken: 0.201 seconds

hive> show databases;

OK default test Time taken: 0.021 seconds, Fetched: 2 row(s)

hive> use test;

OK Time taken: 0.02 seconds

hive> show tables;

OK Time taken: 0.014 seconds

或者:

hive> create database hive_test location '/hive/hive_test';

OK Time taken: 0.017 seconds

2.創(chuàng)建表

hive> CREATE TABLE IF NOT EXISTS employee ( eid int, name String,

? ? > salary String, destination String)

? ? > COMMENT 'Employee details'> ROW FORMAT DELIMITED

? ? > FIELDS TERMINATED BY '\t'> LINES TERMINATED BY '\n'

? ? > STORED AS TEXTFILE;

OK Time taken: 0.052 seconds

3.修改表:alter語句

ALTER TABLE name RENAME TO new_name

ALTER TABLE name ADD COLUMNS (col_spec[, col_spec ...])

ALTER TABLE name DROP [COLUMN] column_name

ALTER TABLE name CHANGE column_name new_name new_type

ALTER TABLE name REPLACE COLUMNS (col_spec[, col_spec ...])

3.1.更改表名rename to,把 employee 修改為 emp。

hive> ALTER TABLE employee RENAME TO emp;

OK Time taken: 0.107 seconds

hive> show tables;

OK emp Time taken: 0.012 seconds, Fetched: 1 row(s)

3.2.更改列名和列數(shù)據(jù)類型

- 先查看一下這表數(shù)據(jù)結(jié)構(gòu):

hive> desc emp;

OK eid int name string salary string destination string Time taken: 0.07 seconds, Fetched: 4 row(s)

- 把name變成ename伏恐,把salary數(shù)據(jù)類型變?yōu)閐ouble孩哑。

hive> ALTER TABLE emp CHANGE name ename String;

OK Time taken: 0.118 seconds

hive> ALTER TABLE emp CHANGE salary salary Double;

OK Time taken: 0.077 seconds

hive> desc emp;

OK eid int ename string salary double destination string Time taken: 0.055 seconds, Fetched: 4 row(s)

- 增加一列:

dept hive> ALTER TABLE emp ADD COLUMNS (dept STRING COMMENT 'Department name');

OK Time taken: 0.071 seconds

hive> desc emp;

OK eid int ename string salary double destination string dept string Department name Time taken: 0.073 seconds, Fetched: 5 row(s) 此時(shí)再查看表結(jié)構(gòu),已加入新字段dept脐湾。

4.刪除表

hive> show tables;

OK empemployee Time taken: 0.011 seconds, Fetched: 2 row(s)

hive> DROP TABLE IF EXISTS employee;

OK Time taken: 0.295 seconds

hive> show tables;

OK emp Time taken: 0.011 seconds, Fetched: 1 row(s)

5.清空表:先查看在清空臭笆。

hive> select * from employee;

OK

1201 Gopal 45000.0 Technical manager

1202 Manisha 45000.0 Proof reader

1203 Masthanvali 40000.0 Technicali writer

1204 Kiran 40000.0 Hr Admin

1205 Kranthi 30000.0 Op Admin

Time taken: 0.031 seconds, Fetched: 5 row(s)

hive> truncate table employee;

OK Time taken: 0.064 seconds

hive> select * from employee;

OK Time taken: 0.054 seconds

受限于篇幅原因,剩下的部分請(qǐng)看這里http://www.reibang.com/p/8854c552c0cf

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末秤掌,一起剝皮案震驚了整個(gè)濱河市愁铺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌闻鉴,老刑警劉巖茵乱,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異孟岛,居然都是意外死亡瓶竭,警方通過查閱死者的電腦和手機(jī)督勺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來斤贰,“玉大人智哀,你說我怎么就攤上這事∮校” “怎么了瓷叫?”我有些...
    開封第一講書人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)送巡。 經(jīng)常有香客問我摹菠,道長(zhǎng),這世上最難降的妖魔是什么骗爆? 我笑而不...
    開封第一講書人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任次氨,我火速辦了婚禮,結(jié)果婚禮上摘投,老公的妹妹穿的比我還像新娘煮寡。我一直安慰自己,他們只是感情好谷朝,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開白布洲押。 她就那樣靜靜地躺著,像睡著了一般圆凰。 火紅的嫁衣襯著肌膚如雪杈帐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,985評(píng)論 1 291
  • 那天专钉,我揣著相機(jī)與錄音挑童,去河邊找鬼。 笑死跃须,一個(gè)胖子當(dāng)著我的面吹牛站叼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播菇民,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼尽楔,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了第练?” 一聲冷哼從身側(cè)響起阔馋,我...
    開封第一講書人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎娇掏,沒想到半個(gè)月后呕寝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡婴梧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年下梢,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了客蹋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡孽江,死狀恐怖讶坯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情岗屏,我是刑警寧澤闽巩,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站担汤,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏洼冻。R本人自食惡果不足惜崭歧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望撞牢。 院中可真熱鬧率碾,春花似錦、人聲如沸屋彪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)畜挥。三九已至仔粥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蟹但,已是汗流浹背躯泰。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留华糖,地道東北人麦向。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像客叉,于是被迫代替她去往敵國(guó)和親诵竭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350