版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
3774北京傳智播客教Hive是建立在Hadoop上的數(shù)據(jù)倉庫基礎構架。它載(ETL),這是一種可以存儲、查詢和分析存儲在Hadoop中的大規(guī)模數(shù)據(jù)的機制。Hive義了簡單的類SQL查詢語言,稱為QL,它允許熟悉SQL的用MapReduce開發(fā)者的開發(fā)自定義的mapper和reducer來處理內建的mapper和reducer無法完夾,可以直接在M/RJob里使用這些數(shù)據(jù)。Hive的系統(tǒng)架
CLI,數(shù)據(jù)庫如mysql,derby中器?HadoopHDFS利用MapReduce進行計算Hive的系統(tǒng)架用戶接口主要有三個:CLI,JDBC/ODBC和CLI,即Shell命令JDBC/ODBC是Hive的Java,與使用傳統(tǒng)數(shù)據(jù)庫JDBC的方式類WebGUI是通過瀏覽器訪問Hive將元數(shù)據(jù)存儲在數(shù)據(jù)庫中(metastore),目前只支持mysql、derby。Hive中的元數(shù)據(jù)包括表的名字,表的列和分區(qū)及其屬性,表的屬性(是解釋器、編譯器、優(yōu)化器完成HQL查詢語句從詞法分析、語法分析、HDFS中,并在隨后有MapReduce調用執(zhí)行Hive的數(shù)據(jù)存儲在HDFS中,大部分的查詢由MapReduce完成(包*的查詢,比如select*fromtable不會生成MapRedcue任務)HiveHive修改/etc/profile#viexportexport#source#cd#tar-zxvfhive-0.9.0.tar.gz#mvhive-0.9.0hivecdmvcdmvhive-env.sh.templatehive-mvhive-default.xml.templatehive-exportexportJAVA_HOME=/usr/local/jdkexportexportHive的安啟hive>showhive>createtabletest(idint,namestring);觀察:#hadoopfslsHive的Derby引擎的缺點:一次只能打開一個會使用Mysql作為外置存儲引擎,多用戶同時訪Hive的安1.上傳mysql-connector-java-5.1.10.jar到2.登錄MYSQL,創(chuàng)建數(shù)據(jù)庫#mysql-uroot-mysql>createdatabasemysql>GRANTallONhive.*TOroot@'%'IDENTIFIEDBYmysql>flushmysql>setglobal3.把mysql的數(shù)據(jù)庫字符類型改為修改$HIVE_HOME/conf/hive-Hive運行模我們可以通過mapred.job.tracker來指明hive>SETHive的啟動方1、hive命令行模式,直接輸入#/hive/bin/hive的執(zhí)行程序,或者輸入#hive--servicecli2hiveweb界面的(端口號9999)啟動方#hive--servicehwi用于通過瀏覽器來訪問3hive遠程服務(端口號10000)啟動方#hive--servicehiveserverHive與傳統(tǒng)數(shù)據(jù)RawDeviceor本地有高低高低大小Hive的數(shù)據(jù)類復雜數(shù)據(jù)類沒有Hive的數(shù)據(jù)存Hive的數(shù)據(jù)存儲基于HadoopHive沒有專門的數(shù)據(jù)存儲格存儲結構主要包括:數(shù)據(jù)庫、文件、表、Hive默認可以直接加載文本文件(TextFile),還支sequence創(chuàng)建表時,指定Hive數(shù)據(jù)的列分隔符與行分隔符Hive的數(shù)據(jù)模型-數(shù)據(jù)類似傳統(tǒng)數(shù)據(jù)庫的默認數(shù)據(jù)庫使用#hive命令后,不使用hive>use數(shù)據(jù)庫名>,系統(tǒng)默認的數(shù)據(jù)庫??梢燥@式使用hive>usedefault;創(chuàng)建一個新hive>createdatabaseHive的數(shù)據(jù)模型-Partition分區(qū)BucketTable桶Hive的數(shù)據(jù)模型-內部與數(shù)據(jù)庫中的Table在概念上是類每一個TableHive中都有一個相應的目錄存儲數(shù)據(jù)。例如,一個表test,它在HDFS中的路徑為:/warehouse/testwarehouse是在hive-site.xml中由${hive.metastore.warehouse.dir}指定的數(shù)據(jù)倉庫的Hive的數(shù)據(jù)模型-內部創(chuàng)建數(shù)據(jù)文件hive>createtableinner_table(keyhive>loaddatalocalinpath'/root/inner_table.dat'intotableinner_table;select*fromselectcount(*)fromdroptableHive的數(shù)據(jù)模型-分區(qū)PartitionPartitionHivePartition個目錄,所有的Partition的數(shù)據(jù)都存儲在對應的例如:test表中包含datecity兩個則對應于date=20130201citybjHDFS子目錄為對應于date=20130202city=sh的HDFSHive的Hive的數(shù)據(jù)模型-分區(qū)CREATETABLEtmp_table#表( string字段名稱字段類 )COMMENT'注釋:XXX#表注PARTITIONEDBY(ptSTRING)#分區(qū)表字段(如果你文件非常之大的話,采用分區(qū)表可以快ROWFORMATFIELDSTERMINATEDBY #字段是用什么分割開一些相關命SHOWTABLES查看所有的SHOWTABLES'*TMP*'#支持模糊查SHOW一些相關命SHOWTABLES查看所有的SHOWTABLES'*TMP*'#支持模糊查SHOWPARTITIONSTMP_TABLE;#查看表有哪些分DESCRIBETMP_TABLE;#查看表結Hive的數(shù)據(jù)模型-分區(qū)創(chuàng)建數(shù)據(jù)文件createtablepartition_table(rectimestring,msisdnstring)partitionedby(daytimestring,citystring)rowformatdelimitedfieldsterminatedby'\t'storedasTEXTFILE;loaddatalocalinpath'/home/partition_table.dat'intotablepartition_tablepartition(daytime='2013-02-01',city='bj');select*fromselectcount(*)fromdroptableHive的數(shù)據(jù)模型-分區(qū)altertablepartition_tableaddpartition(daytime='2013-通過loaddataaltertablepartition_tabledroppartition(daytime='2013-Hive的數(shù)據(jù)模型—桶createtablebucket_table(idstring)clusteredby(id)into4sethive.enforce.bucketing=insertintotablebucket_tableselectnamefromstu;insertoverwritetablebucket_tableselectnamefromstu;select*frombucket_tabletablesample(bucket1outof4onHive的數(shù)據(jù)模型-外部HDFS(這兩個過程可以在Hive的數(shù)據(jù)模型-外部CREATEEXTERNALTABLEpage_view(viewTimeINT,useridBIGINT,page_urlSTRING,referrer_urlipSTRINGCOMMENT'IPAddressoftheUser',countrySTRINGCOMMENT'countryoforigination‘)COMMENT'ThisisthestagingpageviewROWFORMATDELIMITEDFIELDSTERMINATEDBY'44'TERMINATEDBY'12'STOREDASTEXTFILEHive的數(shù)據(jù)模型-外部hive>createexternaltableexternal_table1(keystring)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'location'/home/external';#hadoopfs-put/home/external_table.datselect*fromselectcount(*)fromdroptable視圖的創(chuàng)CREATEVIEWv1ASselect*from表的修altertabletarget_tabaddcolumns表的刪drop當數(shù)據(jù)被加載至表中時,不會對數(shù)據(jù)進行任何轉換。Load作只是將數(shù)據(jù)復制/移動至Hive表對應的位置。把一個Hive表導入到另一個已建HiveINSERTOVERWRITETABLEtablename[PARTITION(partcol1=val1,partcol2=val2...)]select_statementFROMfrom_statementCREATE[EXTERNAL]TABLE[IFNOTEXISTS](col_namedata_type,...)ASSELECT例:createtablenew_external_testasselect*from–SELECT[ALL|DISTRIBUTEBYDISTRIBUTEBY[CLUSTERBYcol_list|[DISTRIBUTEBYcol_list][SORTBYcol_list]|[ORDERBYcol_list]][LIMITnumber]SELECT查詢是全表掃描。但如果是分區(qū)表,查詢就可以利用分區(qū)剪枝(inputHive當前的實現(xiàn)是,只有分區(qū)斷言(Partitionedby)FROM子句最近的那個WHEREpage_views表(按天分區(qū))date列分區(qū),以下語句只會讀取分區(qū)為‘2008-03-01’的數(shù)據(jù)。SELECTpage_views.* FROMpage_views WHEREpage_views.date>='2013-03-01'ANDpage_views.date<='2013-03-01'LIMITLimitt1表中SELECT*FROMt1LIMIT5SETmapred.reduce.tasks=SELECT*FROMsalesSORTBYamountDESCLIMIT導入ac信息hive>createtableacinfo(namestring,acipstring)rowformatdelimitedfieldsterminatedby'\t'storedasTEXTFILE;hive>loaddatalocalinpath'/home/acinfo/ac.dat'intotable內連,a.*fromdim_acajoinacinfobon(a.ac=b.acip)limit左外連,a.*fromdim_acaleftouterjoinacinfobona.ac=b.aciplimit10;Hive遠程服務啟動#hiveservicehiveserver>/dev/null2>/dev/nullConnectioncon=Statementstmt=StringquerySQL="SELECT*FROMwlan_dw.dim_morderbyfluxdesclimit10";ResultSetres=stmt.executeQuery(querySQL);while(res.next())System.out.println(res.getString(1)+"\t"+res.getLong(2)+"\t"+res.getLong(4)+"\t"}1、UDF函數(shù)可以直接應用于select語句,對查詢結構做格式化處理后,再輸出內容b)進入hive客戶端,添加jar包:hive>addjar/run/jar/udf_test.jar;c)創(chuàng)建臨時函數(shù):hive>CREATETEMPO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貨物收購合同模板
- 政府合同模板模板
- 食藥合同模板
- 佛山商標注冊合同模板
- 超市門口攤位合同模板
- 繼承房產抵押合同模板
- 托管代租汽車合同模板
- 跨界電商合同模板
- 裝修流程購買材料合同模板
- 膜布保修合同模板
- 關于對市縣紀委監(jiān)委派駐派駐機構改革的幾點認識和建議(2)
- 上海科技出版社八年級上冊信息技術教案
- NBA籃球術語中英文對照
- 水利風景區(qū)規(guī)劃(綱要)編制要求
- 塔吊基礎的設計和計算
- 中西高校對比PPT課件
- 屋面瓦施工工藝——干掛法(內容詳細)
- 北師大版一年級數(shù)學上冊(全冊)單元教材分析
- 2020年拱墅區(qū)國投集團招聘《綜合基礎知識》試題及解析
- ICT軟件開發(fā)外包合同.doc
- 阿克蘇諾貝爾懸浮劑理論與實踐
評論
0/150
提交評論