不卡一区二区三区四区_乱中年女人伦av一区二区_美洲天堂一区二卡三卡四卡视频 _国产一区在线精品_91精品国产品国语在线不卡_99在线精品视频_99这里都是精品_国产99久久精品_99re成人在线_亚洲二区在线视频_久久先锋资源网_国产69精品久久久久毛片_亚洲一区二区三区视频在线_91小视频免费观看_欧美制服丝袜第一页_欧美日韩视频在线一区二区

您現在所在的位置:首頁 >學習資源 > JAVA入門教材 > 大數據入門:循序漸進,了解Hive是什么!

大數據入門:循序漸進,了解Hive是什么!

來源:奇酷教育 發表于:

Hive基于類似SQL的語言完成對hdfs數據的查詢分析。那么它到底做了什么呢?1 它支持各種命令,比如dfs的命令、腳本的執行2 如果你輸入的是

Hive基于類似SQL的語言完成對hdfs數據的查詢分析。

那么它到底做了什么呢?

  • 1 它支持各種命令,比如dfs的命令、腳本的執行

  • 2 如果你輸入的是sql,它會交給一個叫做Driver的東東,去編譯解析。

  • 3 把編譯出來的東西交給hadoop去跑...然后返回查詢結果。

說了這么多,其實你就可以把hive理解成搭建在hadoop(hdfs和mapreduce)之上的語言殼子...


如何搭建?如何使用?

學習如何使用Hive還是個很重要的部分的!這里就不詳細的說了,都舉個小例子,具體的還是去擼官網吧!

創建

在Hive里面創建表和在普通的數據庫中創建表示類似的,都是先創建(或者使用默認的)數據庫,然后創建表。

create database xxx; -- 創建數據庫
use xxx; --使用數據庫
create table student(id string,name string,age int); --創建表

導入導出數據

數據的導入最常用的就是從hdfs的文件導入或者本地文件導入,也可以從某個查詢結果直接創建或者導入。

Hive還支持把查詢結果導出到文件...

數據的導入

查詢

最普通的查詢,就是select from句式了,Hive還是做得比較通用的

--普通查詢
select * from xxx;
--帶條件的查詢
select * from xxx where age>30;
--限制返回列
select name,age from xxx;
--內連接
select a.*,b.* from tablea a join tableb b on a.id=b.sid;
--左連接
select * from a left outer join b on a.id=b.sid;
--右連接
select * from a right outer join b on a.id=b.sid;

函數

Hive支持一大堆的函數,比如普通的函數UDF:

floor、ceil、rand、cast等等

還支持聚合類型的函數UDAF:

count、avg、min、max、sum

還支持生成多行的函數。

更厲害的是,支持自定義擴展~~ 比如你們公司有個mapreduce的專家,可以封裝很多的函數,然后別的會sql的分析人員,就可以使用這些函數做數據倉庫的分析了。

存儲

首先需要說明的是,Hive在存儲的時候是不做任何處理的。不像是數據庫,存進去的數據要先進行特定的解析,比如解析成一個一個的字段,然后挨個存儲。每個數據庫的存儲引擎不同,解析的方式就不太一樣。

在Hive中的數據都是存儲在hdfs中的,如果沒有特殊的聲明,會以文本的形式存儲,即不會再存儲前做任何操作。簡直就相當于是原封不動的拷貝。當你執行查詢的時候,會按照預先指定的解析規則解析,然后返回。

舉個例子更好理解點:

你的文件:
1,a
2,b
3,c
那么創建表的時候會這樣:

create table xxx(a string,b string) row format delimited fields terminated by ',';

這個fields terminated by ','就聲明了字段按照逗號進行分割。
那么當hive執行查詢的時候,就會遍歷文件,遇到逗號就分隔成一個字段~最后把結果返回。

畢竟hdfs還是按照塊來存儲數據的....這也是為什么Hive不支持局部的修改和刪除,只能整體的覆蓋、刪除。

除了前面說的文本格式(TextFile),Hive還支持SequenceFile、RCFile,各有各的優勢。sequenceFile相當于把數據切分了,然后可以局部的記錄或者塊進行壓縮。RCFile則是列式存儲,這樣可以提高壓縮比;還可以在查詢的時候跳過不必要的列。

分區

在Hive中數據庫和表其實都是hdfs中的一個目錄,比如你的a數據庫下的表b,存儲的路徑是這樣的:

/user/hive/warehouse/a.db/b
后面兩個部分a.db/b是很關鍵的,即“數據庫名.db/表名”

在Hive還支持分區的概念。即按照某個特定的字段,對表進行劃分。通常這個字段都是虛擬的,比如時間....

create table aa(a string,b string) partitioned by(c string);

這樣就創建了分區表,如果c字段有"aaa"和"bbb"兩個值,最終的目錄就是醬嬸的!

/user/hive/warehouse/a.db/b/c=aaa
/user/hive/warehouse/a.db/b/c=bbb

注意都是目錄哦!真正的文件在這些目錄下面。

由于都是目錄,就很好理解,為什么分區查詢會快了!因為在hive中所有的查詢,基本都相當于是全表的掃描,因此要是能通過分區字段進行過濾,那么可以跳過很多不必要的文件了。

在Hive中支持靜態分區(即你導數據的時候指定分區字段的值)、動態分區(按照字段的值來定分區的名稱)。需要注意的是,動態分區會有很多潛在的風險,比如太多了!所以一定要合理規劃你的表存儲的設計。

索引

在hive0.7.0+的版本中,也是支持索引的。比如:

CREATE INDEX table02_index ON TABLE table02 (column3) AS 'COMPACT' WITH DEFERRED REBUILD;

CREATE INDEX table03_index ON TABLE table03 (column4) AS 'BITMAP' WITH DEFERRED REBUILD;

你也可以自定義索引的實現類,只要替換AS ''里面的東西,變成自己的包名類名就行。

不過一樣的,添加索引雖然會加快索引??墒且惨馕吨黾恿舜鎯Φ呢摀?..所以自己衡量吧!

不卡一区二区三区四区_乱中年女人伦av一区二区_美洲天堂一区二卡三卡四卡视频 _国产一区在线精品_91精品国产品国语在线不卡_99在线精品视频_99这里都是精品_国产99久久精品_99re成人在线_亚洲二区在线视频_久久先锋资源网_国产69精品久久久久毛片_亚洲一区二区三区视频在线_91小视频免费观看_欧美制服丝袜第一页_欧美日韩视频在线一区二区
久久久久国产一区二区三区四区 | jlzzjlzz亚洲日本少妇| 麻豆一区二区三| 精东粉嫩av免费一区二区三区| 同产精品九九九| 琪琪一区二区三区| 国产精品资源在线看| k8久久久一区二区三区| 国产精品一区二区三区精品| 久久青青草综合| 亚洲在线视频一区二区| 欧美性大战xxxxx久久久| 欧美一区二区视频免费观看| 国产亚洲精品7777| 亚洲乱码精品一二三四区日韩在线| 夜夜操天天操亚洲| 九九热在线视频观看这里只有精品| 国产成人免费视频一区| 91色婷婷久久久久合中文| 久久综合一区二区三区| 色视频一区二区| 欧美草草影院在线视频| 中文字幕精品—区二区四季| 一区二区三区在线免费| 久久99国产精品免费| 91亚洲精品乱码久久久久久蜜桃 | 亚洲香蕉伊在人在线观| 蜜桃91丨九色丨蝌蚪91桃色| 成人免费视频一区| 久久精品99| 欧美理论片在线| 国产精品久久99| 蜜桃视频一区二区| 国产99在线播放| 伊人色综合久久天天五月婷| 精品国产sm最大网站免费看| 亚洲精品福利视频网站| 国产乱子轮精品视频| 好吊色欧美一区二区三区视频| 一本大道av伊人久久综合| 久久夜色精品国产噜噜av| 亚洲国产综合视频在线观看| 成人激情视频网站| 亚洲三区在线观看| 久久理论电影网| 日本不卡一二三| 国产区日韩欧美| 欧美日本高清视频在线观看| 中文字幕日韩av资源站| 国模套图日韩精品一区二区| 精品午夜一区二区| 日韩一级片在线观看| 亚洲第一二三四区| 99久久99久久精品国产片| 欧美优质美女网站| 中文字幕一区二区三区精华液 | 99免费精品在线| 一区二区视频在线免费| 国产欧美一区二区三区网站 | 成人免费毛片a| 亚洲精品9999| 中国av一区二区三区| 国产成人亚洲综合a∨猫咪| 一级二级三级欧美| 亚洲欧洲性图库| jizzjizzjizz欧美| 欧美三级视频在线播放| 洋洋成人永久网站入口| 成人自拍网站| 精品久久久久99| 激情六月婷婷久久| 亚洲欧美精品| 亚洲色图在线视频| 91麻豆免费看片| 日韩三级在线免费观看| 老司机免费视频一区二区三区| 欧美性大战久久久久| 国产日韩精品一区| 99天天综合性| 91精品国产色综合久久| 久久99久久久欧美国产| 亚洲一区二区四区| 夜夜嗨av一区二区三区中文字幕 | 色一情一乱一伦一区二区三欧美 | 久久精品亚洲麻豆av一区二区 | 日本欧美色综合网站免费| 欧美极品少妇xxxxⅹ高跟鞋 | 成人三级视频在线观看一区二区| 欧美喷水一区二区| 美腿丝袜一区二区三区| 亚洲一区二区三区免费看| 亚洲欧美日韩国产综合| 国产精品9999久久久久仙踪林| 精品国产乱码久久久久久老虎 | 欧美日韩精品一区视频| 午夜精品爽啪视频| 一区二区三区电影| 亚洲1区2区3区4区| 性欧美精品一区二区三区在线播放 | 91精品国产99久久久久久红楼| 在线不卡a资源高清| 国内精品视频666| 欧美三级视频在线播放| 国产一区二区三区电影在线观看| 在线看国产一区| 久久97超碰国产精品超碰| 欧美日韩亚洲另类| 国产一区二区三区四区五区美女| 欧美高清视频不卡网| 国产美女一区二区| 日韩免费成人网| 94-欧美-setu| 日本一区二区成人在线| 开心色怡人综合网站| 亚洲图片欧美一区| 正在播放精油久久| 裸体健美xxxx欧美裸体表演| 欧美美女网站色| 成人av在线影院| 国产欧美视频在线观看| 快播亚洲色图| 性感美女极品91精品| 欧美亚洲日本一区| 国产91在线观看| 国产精品免费av| 亚洲国产一区二区三区在线播| 蜜臀av一区二区三区| 日韩欧美在线一区二区三区| av一区和二区| 亚洲图片自拍偷拍| 欧美另类变人与禽xxxxx| 99国产精品99久久久久久| 中文字幕综合网| 影音先锋欧美在线| 国产精品66部| 中文成人av在线| 色狠狠av一区二区三区| voyeur盗摄精品| 成人欧美一区二区三区黑人麻豆| 亚洲不卡1区| 国产馆精品极品| 国产精品久久毛片av大全日韩| 日本视频一区在线观看| 国产中文字幕精品| 欧美国产禁国产网站cc| 一本久久精品一区二区| av中文字幕一区| 亚洲午夜影视影院在线观看| 这里只有精品电影| 精品国产91亚洲一区二区三区www| 午夜精品久久久久久久| 精品国一区二区三区| 视频一区二区三| 成人晚上爱看视频| 亚洲一区二区三区美女| 日韩欧美中文字幕一区| 日韩精品一区二区三区丰满| 韩国女主播一区| 亚洲欧美视频一区| 日韩三级视频中文字幕| 亚洲激情啪啪| 91啦中文在线观看| 美女高潮久久久| 国产精品免费久久久久| 欧美色综合影院| 欧美不卡在线一区二区三区| 国产成人在线视频免费播放| 亚洲最新视频在线播放| 精品国产乱码久久久久久久久 | 欧美日韩极品在线观看一区| 国产伦精品一区二区三| 国产中文一区二区三区| 亚洲你懂的在线视频| 日韩久久精品一区| 一区二区精品国产| 国产精品一区二区欧美黑人喷潮水| 蜜臀精品久久久久久蜜臀| 综合婷婷亚洲小说| 欧美成人精品1314www| 91国产丝袜在线播放| 欧美日韩电影一区二区| 成人av在线资源网站| 黄色日韩网站视频| 亚洲国产精品久久久男人的天堂| 国产亚洲自拍一区| 日韩一级片在线播放| 日本高清视频一区二区| 日本一区二区三区免费观看| 99re资源| av午夜精品一区二区三区| 久久国产生活片100| 视频一区二区三区中文字幕| 亚洲美女屁股眼交| 国产精品美女一区二区三区| 精品国产乱码久久久久久牛牛| 欧美日韩亚洲不卡| 欧美亚洲高清一区二区三区不卡| 国产精品天美传媒沈樵| 精品国内片67194| 欧美一级日韩一级|