不卡一区二区三区四区_乱中年女人伦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小视频免费观看_欧美制服丝袜第一页_欧美日韩视频在线一区二区
亚洲一区二区三区国产| 六月丁香婷婷色狠狠久久| 亚洲春色在线| 欧美福利精品| 久久99九九| 欧美一区二区影视| 免费看成人片| 五月天久久狠狠| 亚洲乱码国产乱码精品天美传媒| 一区二区三区av| 色视频一区二区| 欧美久久一二三四区| 日韩午夜小视频| 久久一夜天堂av一区二区三区| 国产午夜亚洲精品不卡| 欧美韩国日本不卡| 国产精品情趣视频| 亚洲免费视频中文字幕| 丝瓜av网站精品一区二区| 日韩精品欧美成人高清一区二区| 蜜臀99久久精品久久久久久软件| 蜜臀av在线播放一区二区三区| 精品一区二区三区香蕉蜜桃 | 日韩美女久久久| 亚洲一区二区三区小说| 理论电影国产精品| 成人免费高清在线| 久久精品第九区免费观看| 一区二区冒白浆视频| 欧美一二三四区在线| 亚洲欧洲在线观看av| 麻豆免费精品视频| 成人h在线播放| 中文精品一区二区三区| 91精品国产色综合久久久蜜香臀| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲少妇中出一区| 老司机免费视频一区二区 | 久久精品99久久| 欧美三级日本三级少妇99| 国产亚洲精品精华液| 肉丝袜脚交视频一区二区| av成人老司机| 一区二区三区欧美成人| 久久午夜羞羞影院免费观看| 亚洲国产一区二区a毛片| 成人精品视频一区| 亚洲精品欧美精品| 26uuu国产电影一区二区| 一区二区三区国产精品| 国产91精品一区二区麻豆亚洲| 蜜桃麻豆www久久国产精品| 777奇米四色成人影色区| 一区二区三区日韩欧美| av一区二区三区四区| 宅男av一区二区三区| 国产校园另类小说区| 日本午夜一区二区| 国产精品 日韩| 欧美精品在线观看播放| 伊人婷婷欧美激情| 91丝袜高跟美女视频| 欧美色视频在线| 亚洲精品一卡二卡| 91尤物视频在线观看| 欧美日韩中文字幕精品| 亚洲蜜臀av乱码久久精品| 岛国精品一区二区| 91国偷自产一区二区三区成为亚洲经典| 国产精品激情偷乱一区二区∴| 国产不卡在线视频| 在线日韩一区二区| 亚洲一区二区欧美日韩| av免费观看久久| 日韩美女在线视频| 久久国产剧场电影| 特级西西444www大精品视频| 亚洲国产精品精华液2区45| 国产精品77777竹菊影视小说| 在线视频91| 亚洲精品久久久久久国产精华液| 91玉足脚交白嫩脚丫在线播放| 欧美性猛交xxxx乱大交退制版| 亚洲一区二区高清| 精品视频一区二区三区四区| 久久久久久9999| av中文字幕不卡| 日韩女同互慰一区二区| 国产一区二区日韩精品| 在线观看成人免费视频| 五月天欧美精品| 亚洲国产一区二区三区在线 | 久久久一区二区三区捆绑**| 国产精品99久久久久| 欧美日韩你懂得| 久热成人在线视频| 正在播放国产精品| 亚洲国产精品嫩草影院| 欧美一区二区三区精美影视| 亚洲欧美国产三级| 九九九热999| 中文字幕亚洲一区二区av在线 | 欧美午夜影院一区| 三级不卡在线观看| 色综合久久中文字幕综合网| 天天做天天摸天天爽国产一区| 亚洲欧洲一区二区福利| 午夜电影一区二区| 亚洲一区在线直播| 天天影视涩香欲综合网 | 成人在线综合网| 日韩欧美中文字幕公布| 成人激情图片网| 2021中文字幕一区亚洲| 不卡的av一区| 亚洲视频中文字幕| 日韩精品无码一区二区三区| 亚洲成人av免费| 欧美在线一二三四区| 另类小说视频一区二区| 欧美一区二区免费视频| 91亚洲精品丁香在线观看| 国产精品全国免费观看高清 | 久草在线在线精品观看| 欧美疯狂做受xxxx富婆| youjizz久久| 国产精品卡一卡二卡三| 日本精品二区| 免费在线观看一区| 日韩一卡二卡三卡四卡| 成人综合色站| 亚洲线精品一区二区三区 | 欧美一级专区免费大片| 99国产精品久久久久| 国产精品久久福利| 亚洲乱码国产乱码精品天美传媒| 蜜臀99久久精品久久久久久软件| 欧美日韩国产影片| 99精品国产热久久91蜜凸| 中文字幕在线不卡视频| 五月天色一区| 国产成人综合在线| 国产精品天干天干在线综合| 亚洲一区二区在线看| 国产成人a级片| 亚洲少妇最新在线视频| 欧美色综合网站| 成人免费看片网站| 日本成人超碰在线观看| 26uuu亚洲| 日本在线高清视频一区| 激情久久久久久久久久久久久久久久| 精品国产1区2区3区| 欧美日韩大片一区二区三区 | 久久久99久久精品欧美| 日韩欧美亚洲在线| 国产一区二区三区在线观看免费| 国产日产欧美一区| 亚洲一区在线免费| 91麻豆免费视频| 日韩av在线播放中文字幕| 337p粉嫩大胆色噜噜噜噜亚洲| 日韩精品大片| 99国产精品视频免费观看| 日韩专区在线视频| 久久久亚洲午夜电影| 在线视频精品一区| 91免费视频观看| 日韩av不卡一区二区| 日本一区二区视频在线| 在线播放豆国产99亚洲| 成人av免费观看| 天堂精品中文字幕在线| 国产日韩欧美a| 欧美亚洲国产一区二区三区| 国产亚洲一区在线播放| 国产成人综合在线播放| 亚洲国产一区二区视频| 国产午夜精品一区二区三区嫩草 | 色综合久久中文字幕| 成人区精品一区二区| 精品一区二区免费在线观看| 亚洲女爱视频在线| 精品国产一区二区三区久久久蜜月| 亚洲二区三区四区| 福利精品视频| 国产成人超碰人人澡人人澡| 亚洲电影你懂得| 国产精品网曝门| 精品88久久久久88久久久| 欧美伊人精品成人久久综合97| 国产一区喷水| 菠萝蜜视频在线观看一区| 蜜臀99久久精品久久久久久软件| 国产精品国产自产拍高清av王其 | 欧美一区二区播放| 影音先锋欧美资源| 手机成人在线| 久久久www免费人成黑人精品| 91啪亚洲精品|