hive語法和常用函數(shù).doc

hive語法和常用函數(shù).doc

ID:52912068

大小:1.47 MB

頁數(shù):76頁

時間:2020-03-31

hive語法和常用函數(shù).doc_第1頁
hive語法和常用函數(shù).doc_第2頁
hive語法和常用函數(shù).doc_第3頁
hive語法和常用函數(shù).doc_第4頁
hive語法和常用函數(shù).doc_第5頁
資源描述:

《hive語法和常用函數(shù).doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、實用文檔Hive是一個基于Hadoop分布式系統(tǒng)上的數(shù)據(jù)倉庫,最早是由Facebook公司開發(fā)的,Hive極大的推進(jìn)了Hadoopecosystem在數(shù)據(jù)倉庫方面上的發(fā)展。????????Facebook的分析人員中很多工程師比較擅長而SQL而不善于開發(fā)MapReduce程序,為此開發(fā)出Hive,并對比較熟悉SQL的工程師提供了一套新的SQL-like方言——HiveQL。????????HiveSQL方言特別和MySQL方言很像,并提供了HiveQL的編程接口。HiveQL語句最終被Hive解析器引擎解析為MarReduce程序,作為job提交給JobTracker

2、運行。這對MapReduce框架是一個很有力的支持。????????Hive是一個數(shù)據(jù)倉庫,它提供了數(shù)據(jù)倉庫的部分功能:數(shù)據(jù)ETL(抽取、轉(zhuǎn)換、加載)工具,數(shù)據(jù)存儲管理,大數(shù)據(jù)集的查詢和分析能力。????????由于Hive是Hadoop上的數(shù)據(jù)倉庫,因此Hive也具有高延遲、批處理的的特性,即使處理很小的數(shù)據(jù)也會有比較高的延遲。故此,Hive的性能就和居于傳統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)倉庫的性能不能比較了。????????Hive不提供數(shù)據(jù)排序和查詢的cache功能,不提供索引功能,不提供在線事物,也不提供實時的查詢功能,更不提供實時的記錄更性的功能,但是,Hive能很好地處理在

3、不變的超大數(shù)據(jù)集上的批量的分析處理功能。Hive是基于hadoop平臺的,故有很好的擴展性(可以自適應(yīng)機器和數(shù)據(jù)量的動態(tài)變化),高延展性(自定義函數(shù)),良好的容錯性,低約束的數(shù)據(jù)輸入格式。????????下面我們來看一下Hive的架構(gòu)和執(zhí)行流程以及編譯流程:?實用文檔實用文檔???????用戶提交的HiveQL語句最終被編譯為MapReduce程序作為Job提交給Hadoop執(zhí)行。??Hive的數(shù)據(jù)類型????????Hive的基本數(shù)據(jù)類型有:TINYINT,SAMLLINT,INT,BIGINT,BOOLEAN,F(xiàn)LOAT,DOUBLE,STRING,TIMESTA

4、MP(V0.8.0+)和BINARY(V0.8.0+)。????????Hive的集合類型有:STRUCT,MAP和ARRAY。????????????????Hive主要有四種數(shù)據(jù)模型(即表):(內(nèi)部)表、外部表、分區(qū)表和桶表。????????表的元數(shù)據(jù)保存?zhèn)鹘y(tǒng)的數(shù)據(jù)庫的表中,當(dāng)前hive只支持Derby和MySQL數(shù)據(jù)庫。?????????內(nèi)部表:????????Hive中的表和傳統(tǒng)數(shù)據(jù)庫中的表在概念上是類似的,Hive的每個表都有自己的存儲目錄,除了外部表外,所有的表數(shù)據(jù)都存放在配置在hive-site.xml文件的${hive.metastore.wareho

5、use.dir}/table_name目錄下。????????Java代碼??1.CREATE?TABLE?IF?NOT?EXISTS?students(user_no?INT,name?STRING,sex?STRING,??2.?????????grade?STRING?COMMOT?'班級')COMMONT?'學(xué)生表'??3.ROW?FORMAT?DELIMITED??實用文檔1.FIELDS?TERMINATED?BY?','??2.STORE?AS?TEXTFILE;????????????????????外部表:????????外部表指向已經(jīng)存在在Hado

6、opHDFS上的數(shù)據(jù),除了在刪除外部表時只刪除元數(shù)據(jù)而不會刪除表數(shù)據(jù)外,其他和內(nèi)部表很像。????????Java代碼??1.CREATE?EXTERNAL?TABLE?IF?NOT?EXISTS?students(user_no?INT,name?STRING,sex?STRING,??2.?????????class?STRING?COMMOT?'班級')COMMONT?'學(xué)生表'??3.ROW?FORMAT?DELIMITED??4.FIELDS?TERMINATED?BY?','??5.STORE?AS?SEQUENCEFILE??6.LOCATION?'/u

7、sr/test/data/students.txt';??????????????????????分區(qū)表:????????分區(qū)表的每一個分區(qū)都對應(yīng)數(shù)據(jù)庫中相應(yīng)分區(qū)列的一個索引,但是其組織方式和傳統(tǒng)的關(guān)系型數(shù)據(jù)庫不同。在Hive中,分區(qū)表的每一個分區(qū)都對應(yīng)表下的一個目錄,所有的分區(qū)的數(shù)據(jù)都存儲在對應(yīng)的目錄中。????????比如說,分區(qū)表partitinTable有包含nation(國家)、ds(日期)和city(城市)3個分區(qū),其中nation=china,ds=20130506,city=Shanghai則對應(yīng)HDFS上的目錄為:?????????

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。