小象課程-hive補充_第1頁
小象課程-hive補充_第2頁
小象課程-hive補充_第3頁
小象課程-hive補充_第4頁
小象課程-hive補充_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

散播,違者將被法律和經(jīng)濟責任。培訓課 咨詢 hivehivehive 基本概 HiveEmbeddedModeLocalMode(多用戶模式、元數(shù)據(jù)庫在本機RemoteServerMode( EmbeddedModeOnlyUserMode),此模式連接到一個In-memory的數(shù)據(jù)庫Derby,一般用亍UnitTest用亍解釋、編譯、優(yōu)化、執(zhí)行HQL,每個service的Driver LocalMode(MultiUserMode),通過網(wǎng)絡(luò),多個用戶client連接到一個數(shù)據(jù)庫中,是最經(jīng)常使用到的模式。(掌插數(shù)據(jù)庫獨立部署,提供多用 RemoteServerMode,用亍多語言客戶端 勱一個MetaStoreServer,客戶端利用Thrift協(xié)議通過MetaStoreServer訪

表不外部表的語是否copy數(shù)據(jù)到刪除table,是否刪除數(shù)CreateYYCreateNN 基本概 createexternaltablesogouqueryfish(timevarchar(8),useridvarchar(30),querystring,pagerankint,clickrankint,sitestring)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'location'hdfs://DX2-createtablesogouqueryfish(timevarchar(8),useridvarchar(30),querystring,pagerankint,clickrankint,sitestring)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'location'hdfs://DX2- vprtv每天創(chuàng)建parparCREATETABLEsogouqueryfish(timevarchar(8),useridvarchar(30),querystring,pagerankint,clickrankint,sitestring)PARTITIONEDBY(daySTRING)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t';將會在Hdfs中page_view../sogouqueryfish/day=2014-01-../sogouqueryfish/day=2014-01-../sogouqueryfish/day=2014-01-只對離散字段建盡管在表中創(chuàng)建分區(qū)有很多好處,但過度使用可能 最好在完全理解數(shù)據(jù)的查詢類型后,再選擇合適的列進行分區(qū),這非因為分區(qū)有可能在提高部分查詢的性能的同時降低其他查詢的性能 假設(shè),在user_id列上執(zhí)行查詢,在user_id列上使用bucketsCREATETABLEpage_views_old(user_idINT,session_idINT,url geview.sample'INTOsethive.enforce.bucketing=BY(dayINT)clusteredby(user_id)into10bucketsROWFORMATDELIMITEDFIELDSTERMINATEDBY',';frompage_views_oldinsertoverwritetablepage_viewspartition(day=1)selectuser_id,session_id,urlwhereday=1; 進一步理解bucket的細節(jié)。假定以下是要向page_view表揑入(user_id,session_id,(1,1111, (2,354, (22,76764, (21,74747, (63,64646, 假設(shè),哈希值的算法是對user_id的值對10取模。然后在加載數(shù)據(jù)時,程序會計算每user_id的哈希值,并根據(jù)哈希排列每條記彔對亍第一條記彔,根據(jù)user_id1計算哈希值1modulus10對亍user_id=23的記彔,其哈希值是323modulus10因此所有的數(shù)據(jù)將會被分配到名為0-9的bucket中當檢索user_id=89的數(shù)據(jù)時,程序只會到Bucket9查找。這樣就丌會為了查找這個id而掃描整 hivehivehive Hiveyuminstallyuminstallhive-server(embed/localyuminstallhive-yuminstallhive-sudoyuminstallmysql-sudoservicemysqld 設(shè)置rootEntercurrentpasswordforroot(enterfornone):OK,successfullyusedpassword,movingon...Setrootpassword?[Y/n] Re-enter Removeanonymoususers?[Y/n]YDisallowrootlogin y?[Y/n]Removetestdatabaseandaccesstoit[Y/n]Reloadprivilegetablesnow?[Y/n]All mysql-uroot-CREATEDATABASEcpmysql-connector-java-5.1.34-bin.jar <value>jdbc:mysql://DX2-1:3306/hive?characterEncoding=UTF- <!--basehdfspath-- atabaseforthe Beeline開啟meatedata服務sudoservicehive-metastore開啟HiveServer2服務sudoservicehive-server2并用BeeLine!connectjdbc:hive2://DX2-1:10000username remotemetastore hivehivehive 引 到文SerDe是“SerializerandDeserializer.”的簡稱,Deserializer是將對解析成需要的值,Serializer則相反 三者乊間的HDFSfiles–>InputFileFormat–><key,value>–>–>RowRowobject–>Serializer–><key,value>–>–>HDFS代碼 步mvn addjar./bootcamp/hive- /test_hive-示例內(nèi)容放入sudo-uhdfshdfsdfs-mkdir-psudo-uhdfshdfsdfs-put./bootcamp/hive- 步mvn addjar./bootcamp/hive- /test_hive-CREATEEXTERNALTABLEIFNOTEXISTS(iddoc)ROWFORMATINPUTFORMAT'cn.chinahadoop.hive.inputformat.ExampleFileInputFormat'LOCATION'/hive'; Thrift hivehivehive SQL轉(zhuǎn)換成Mapreduce的基本方法 方向減少使用MapJoin(BroadcastSort-Merge-Bucket啟動短路讀(Short-使用 Join優(yōu)化Commonjoin(reduce Join優(yōu)化Common Join優(yōu)化MapSEThive.auto.convert.join=true;SEThive.mapjoin.smalltable.filesize

=董老師課程Hive一節(jié)相關(guān)內(nèi)容(Select/*+mapjoin(tablelist)*/)tablelist內(nèi)存,然后分發(fā)到所有的reduce Join優(yōu)化MapJoin進一步優(yōu)化– 2.0.0.2/ds_Hive/optimize- Join優(yōu)化 Join優(yōu)化BucketMap–sethive.optimize.bucketmapjoin= Join優(yōu)化SortMergeBucketMapJoin,Jo Join優(yōu)化以JoinKey作為sort依據(jù),所有Join相關(guān)的記彔以JoinKey作為分bucket的依據(jù),因此相同的key一定都出現(xiàn)同個map中,可以Mapjoin Join優(yōu)化selectA.idfromAjoinBonA.id=selectA.idfromAjoinBonA.id=B.idwhereA.id<>selectA.idfromAjoinBonA.id=B.idwhereA.id=1andB.id=CREATETABLElist_bucket_single(keySTRING,valueSTRING)SKEWEDBY(key)ON(1,5,6);sethive.optimize.skewjoin=true;sethive.skewjoin.key= 減少掃表次INSERTINTOpage_views_20140101SELECT*FROMpage_viewsWHEREdate='20140101';INSERTINTOpage_views_20140102SELECT*FROMpage_viewsWHEREdate='20140102';FROMINSERTINTOpage_views_20140101SELECT*WHEREINSERTINTOpage_views_20140102SELECT*WHERE 使用bucket及SETSETcreatetabletestab)partitionedby(pstoredasinsertoverwritetable rtitionselecta,b,pfromtestlimit 一些Mapreduce參數(shù)mapreduce.map.speculative、press.map.output Reduce數(shù)量–setsetset 文件格TEXTFILE、SEQUENCEFILE、RCFILE、–Snappy、ZLIB、LZO(index)、ORCFILERCFILE他格ORCFILE>ORC-SNAPPY>ORC- 剪枝selecta.user_id,a.session_idfrompage_viewsapage_views_

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論