国产高清网站_亚洲一区二区综合_成人久久18免费网站_国产成人久久精品激情

您現(xiàn)在所在的位置:首頁 >學(xué)習(xí)資源 > JAVA入門教材 > 大數(shù)據(jù)入門:循序漸進(jìn),了解Hive是什么!

大數(shù)據(jù)入門:循序漸進(jìn),了解Hive是什么!

來源:奇酷教育 發(fā)表于:

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

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

那么它到底做了什么呢?

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

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

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

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


如何搭建?如何使用?

學(xué)習(xí)如何使用Hive還是個很重要的部分的!這里就不詳細(xì)的說了,都舉個小例子,具體的還是去擼官網(wǎng)吧!

創(chuàng)建

在Hive里面創(chuàng)建表和在普通的數(shù)據(jù)庫中創(chuàng)建表示類似的,都是先創(chuàng)建(或者使用默認(rèn)的)數(shù)據(jù)庫,然后創(chuàng)建表。

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

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

數(shù)據(jù)的導(dǎo)入最常用的就是從hdfs的文件導(dǎo)入或者本地文件導(dǎo)入,也可以從某個查詢結(jié)果直接創(chuàng)建或者導(dǎo)入。

Hive還支持把查詢結(jié)果導(dǎo)出到文件...

數(shù)據(jù)的導(dǎo)入

查詢

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

--普通查詢
select * from xxx;
--帶條件的查詢
select * from xxx where age>30;
--限制返回列
select name,age from xxx;
--內(nèi)連接
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;

函數(shù)

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

floor、ceil、rand、cast等等

還支持聚合類型的函數(shù)UDAF:

count、avg、min、max、sum

還支持生成多行的函數(shù)。

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

存儲

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

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

舉個例子更好理解點:

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

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

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

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

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

分區(qū)

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

/user/hive/warehouse/a.db/b
后面兩個部分a.db/b是很關(guān)鍵的,即“數(shù)據(jù)庫名.db/表名”

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

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

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

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

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

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

在Hive中支持靜態(tài)分區(qū)(即你導(dǎo)數(shù)據(jù)的時候指定分區(qū)字段的值)、動態(tài)分區(qū)(按照字段的值來定分區(qū)的名稱)。需要注意的是,動態(tài)分區(qū)會有很多潛在的風(fēng)險,比如太多了!所以一定要合理規(guī)劃你的表存儲的設(shè)計。

索引

在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;

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

不過一樣的,添加索引雖然會加快索引。可是也意味著增加了存儲的負(fù)擔(dān)...所以自己衡量吧!

国产高清网站_亚洲一区二区综合_成人久久18免费网站_国产成人久久精品激情

    <sup id="ys8cw"><kbd id="ys8cw"></kbd></sup>

    <sup id="ys8cw"><font id="ys8cw"><output id="ys8cw"></output></font></sup>

    国产一区二区在线看| 在线观看亚洲a| 亚洲天堂2014| 综合久久久久久| 国产精品99久久久久久久女警 | 中文字幕亚洲欧美在线不卡| 久久五月婷婷丁香社区| 久久久久9999亚洲精品| 国产精品二区一区二区aⅴ污介绍| 国产毛片一区二区| 欧美一级免费观看| 在线播放91灌醉迷j高跟美女 | 精品少妇一区二区三区 | 日韩毛片精品高清免费| 国产成人精品综合在线观看| 92国产精品观看| 欧美日韩在线播| 2021国产精品久久精品| 久久99精品久久久久久久久久久久| 日本一区二区三区四区| 亚洲人成小说网站色在线| 免费观看一级特黄欧美大片| 国产九九视频一区二区三区| 日韩久久精品一区| 亚洲综合色网站| 国产一区二区三区免费播放| 久久久国产精品麻豆| 粉嫩aⅴ一区二区三区四区| 精品视频在线看| 日韩av午夜在线观看| 不卡一二三区首页| 日韩精品一区二区三区蜜臀 | 一本久久a久久免费精品不卡| 激情综合色综合久久| 欧美精品一区二区三区四区| 一区二区三区在线视频观看| 国产 欧美在线| 亚洲色图欧美偷拍| 5858s免费视频成人| 国产乱码精品1区2区3区| 国产精品你懂的在线| 国产精品资源在线观看| 国产精品盗摄一区二区三区| 欧美日韩高清一区二区三区| 中文字幕一区二区三区在线观看| 日本网站在线观看一区二区三区 | 国产精品高潮久久久久无| youjizz久久| 国产精品丝袜一区| 欧美制服丝袜第一页| 精品一区二区日韩| 伊人夜夜躁av伊人久久| 日本韩国欧美国产| 亚洲欧洲制服丝袜| 日韩美女一区二区三区| 色婷婷av一区二区三区软件| 另类的小说在线视频另类成人小视频在线 | 欧美伊人久久大香线蕉综合69 | 国产精品白丝av| 中文字幕欧美国产| 国产成人精品免费网站| 亚洲大型综合色站| 欧美羞羞免费网站| 黑人精品欧美一区二区蜜桃| 久久久久久久av麻豆果冻| 91成人在线精品| 国产成人精品www牛牛影视| 日韩电影免费在线观看网站| 亚洲欧洲另类国产综合| 亚洲精品在线网站| 7777精品伊人久久久大香线蕉完整版 | 精品视频一区二区三区免费| 国产一区不卡视频| 日韩精彩视频在线观看| 91精品国产一区二区三区香蕉| 亚洲电影在线免费观看| 欧美日韩在线观看一区二区 | 亚洲国产精品传媒在线观看| 在线影院国内精品| 99久久久国产精品| 国产乱码精品一区二区三区忘忧草 | 2023国产一二三区日本精品2022| 久久国产欧美日韩精品| 亚洲午夜免费福利视频| 亚洲美女少妇撒尿| 亚洲天堂av一区| 一色屋精品亚洲香蕉网站| 国产日韩精品一区二区三区| ww亚洲ww在线观看国产| 精品久久人人做人人爰| 欧美成人精品1314www| 51精品国自产在线| 欧美午夜精品电影| 欧美性生活大片视频| 91久久奴性调教| 欧美性高清videossexo| 欧美日韩一区在线观看| 欧美高清激情brazzers| 91精品国产综合久久精品性色| 国产精品一二三区| 国产成人av资源| 成人99免费视频| 91麻豆免费在线观看| 奇米影视在线99精品| 日本不卡的三区四区五区| 亚洲国产sm捆绑调教视频| 亚洲在线成人精品| 三级一区在线视频先锋| 污片在线观看一区二区| 国产精品伦理一区二区| 中文字幕在线不卡视频| 一区二区三区四区激情 | 成人免费视频网站在线观看| 曰韩精品一区二区| 香港成人在线视频| 捆绑紧缚一区二区三区视频| 国产综合成人久久大片91| 成人亚洲一区二区一| aaa欧美日韩| 欧美在线影院一区二区| 9191国产精品| 欧美国产视频在线| 亚洲韩国一区二区三区| 久久成人免费网| av亚洲精华国产精华精| 欧美福利一区二区| 久久久777精品电影网影网| 91精品国产91久久久久久一区二区| 99久久精品情趣| 欧美三级电影网| 精品国产乱码久久久久久浪潮| 欧美日韩中文精品| 精品久久人人做人人爱| 亚洲免费观看视频| 欧美bbbbb| av激情综合网| 日韩精品综合一本久道在线视频| 色婷婷久久久亚洲一区二区三区 | 不卡欧美aaaaa| 欧美日韩国产中文| 中文字幕精品在线不卡| 亚洲成人先锋电影| 国产精一区二区三区| 欧美调教femdomvk| 日本一区二区综合亚洲| 天天做天天摸天天爽国产一区| 亚洲精品乱码久久久久| 三级欧美韩日大片在线看| www.亚洲激情.com| 欧美成人精精品一区二区频| 国产精品第一页第二页第三页| 国产女人水真多18毛片18精品视频 | 国产日韩欧美一区二区三区乱码 | 91精品国产综合久久小美女| 欧美激情综合五月色丁香| 日韩av一级片| 欧洲精品中文字幕| 中文字幕中文乱码欧美一区二区| 国产精品污www在线观看| 三级欧美在线一区| 91网页版在线| 欧美国产一区二区在线观看| 国内不卡的二区三区中文字幕| 国产一区二区精品久久99| 欧美丰满美乳xxx高潮www| 亚洲精品视频免费观看| fc2成人免费人成在线观看播放 | 精品视频在线视频| 亚洲情趣在线观看| 北条麻妃国产九九精品视频| 国产欧美精品一区| 国产成人在线色| 国产欧美精品国产国产专区| 奇米色一区二区三区四区| 欧美日韩精品久久久| 亚洲成人av一区二区三区| 欧美系列在线观看| 亚洲国产成人av网| 欧美电影在哪看比较好| 性做久久久久久免费观看| 欧美日韩久久一区二区| 亚洲在线视频免费观看| 欧美亚洲国产怡红院影院| 亚洲福利一二三区| 69堂成人精品免费视频| 麻豆成人综合网| 国产成人在线网站| 国产午夜精品久久久久久久| 国产高清不卡一区二区| 欧美国产成人在线| 成人av综合一区| 亚洲男人的天堂网| 欧美日韩第一区日日骚| 日韩1区2区日韩1区2区| 亚洲精品一区二区三区福利 | 久久新电视剧免费观看| 国产资源在线一区| 中文字幕制服丝袜成人av| 色94色欧美sute亚洲13| 日日夜夜一区二区|