999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MTR與Impala結合的數據查詢優(yōu)化研究

2016-10-18 11:20:20袁文翠舒昝趙建民
微型電腦應用 2016年6期
關鍵詞:效率優(yōu)化模型

袁文翠,舒昝,趙建民

基于MTR與Impala結合的數據查詢優(yōu)化研究

袁文翠,舒昝,趙建民

以大數據的查詢技術為中心,研究了當前一些主流的查詢方法以及在此基礎上的優(yōu)化改進。MapReduce是一種編程模型,將存儲在HDFS中的文件分塊再整合以達到加速實現數據查詢的目的,在此方法的基礎上優(yōu)化得出Map-Trim-Reduce編程模型,然后與Impala查詢引擎相結合,利用Map-Trim-Reduce處理復雜數據的長處彌補Impala的短處,提前處理Impala的預處理數據,達到提高大數據查詢效率的目的。

大數據;Map-Trim-Reduce;mpala

0 引言

隨著科技信息時代的推進,數據在現代社會生活中承擔著越來越重要的角色,面對著越來越多的數據,大數據概念應運而生。目前,利用傳統的數據查詢方法分析大數據已經顯得力不從心,所以如何提高大數據環(huán)境下的數據處理及查詢的效率,是目前新的研究方向。

通過查閱與本文研究相關的文獻我們了解到,Map/Reduce是一種分布式計算框架,它將文件分塊再整合以達到加速實現數據查詢的目的。其中Map為映射過程,Reduce為歸納過程。首先,將眾多文件分割成大小不等的若干數據塊,大小由用戶給定的參數控制,然后在啟動程序拷貝。在所有的拷貝程序中,主程序委派空閑的工作站程序執(zhí)行Map或者Reduce任務。當所有的Map、Reduce任務都完成的時候主程序Master激活用戶程序,Map/Reduce返回用戶程序的調用點[1]。Impala是一個對大數據進行并行處理的查詢引擎,Impala支持多種方法與自身交互,主要通過JDBC、ODBC和Thrift接口實現互動式的查詢,因此可以使用與Hive相同的JDBC,ODBC驅動,兼容Hive的數據倉庫,提供實時的大量數據并行處理[2][3]。

1 Map-Trim-Reduce編程模型

Map-Trim-Reduce編程模型,是基于Map/Reduce之上,加以改進和優(yōu)化,比它具有更好的查詢性能,并且可擴展性良好。在Map/Reduce框架中,如果數據量很大,從巨大的中間結果中抽取k個最佳結果便會給Reducer帶來負擔,導致性能的瓶頸,為了突破此瓶頸,提高Top-k查詢速度,引出了MTR(Map-Trim-Reduce)框架,將原有的兩個階段分為3個階段,即Map,Trim,Reduce階段。在Mapper后添加對應的Trimer,用來剪切掉不可能是結果的數據,從而使得查詢的中間結果能夠在Map之后就得以優(yōu)化。

在Hadoop平臺中,Map-Trim-Reduce框架還擁有一個輔助接點Observer,其作用有3點:第一,接收Mapper發(fā)來的中間輸出結果;第二,根據中間結果和規(guī)則,計算出一個全局閾值T,類型與中間輸出結果的Value類型相同;第三,將T值傳給Trimer。

通過參考文獻得知具體的算法分析如下:設Map階段的時間開銷是TMap,Reduce階段的時間開銷為TReduce,輔助接點接受的中間結果并計算得出的闕值的時間為TComputer,Tim階段的時間開銷為TTim,則MR框架下的總時間開銷為TMap與TReduce之和,MTR框架下的總時間開銷為TMap,TCompute,TTim及TReduce之和,即:

MR:TMR=TMap + TReduce

MTR:TMTR=TMap + TComputer + TTrim + TReduce

設數據量為N,裕興的總時間都用T總表示,在進行Top-k查詢時的平均效率分別為:

E=(N/T總)*k

通過實驗可以得到TMTR<TMR,這充分說明MTR模型比MR模型整體的查詢時間少,具有時間上的優(yōu)勢,所以我們應用MTR編程模型進行大數據的查詢。

Top-k查詢越來越廣泛的應用在分布式檢索系統中,在Hadoop平臺中,Map/Reduce模型可做到提高并行計算的能力,但為了提高Top-k查詢效率,在最短時間內排除無用的查詢結果數據,我們設計了MTR模型來進行優(yōu)化,以此達到了在大數據環(huán)境下提高數據查詢效率的目的。

2 Impala的實現原理

Impala它的基本原理是將一個查詢根據數據所在位置分割成子查詢,各個節(jié)點直接從HDFS中讀取本地文件進行子查詢,并將所有節(jié)點的結果匯總,統一返回到接受查詢的節(jié)點上,由該節(jié)點進行最后的排序截取工作。在這個過程中Impala把SQL語句拆分成碎片分配到各個節(jié)點上達到高速查詢的目的。Impala最大的優(yōu)點在于提供大量數據的并行處理,兼容Hive數據倉庫和大部分HQL語言,可以與Hive實現互訪,同時不必轉移Hive中的數據,所以基于Hive的程序只需很小的改動就可以遷移到Impala上,這為我們將Map-Trim-Reduce與Impala的結合提供了條件。Impala與Hive的關系如圖1所示。

圖1 Impala與Hive的關系

3 Map-Trim-Reduce與Impala結合的數據查詢優(yōu)化

3.1Map-Trim-Reduce與Impala結合的原理

Map-Trim-Reduce與Impala各有優(yōu)缺點,Map-Trim-

Reduce與Impala結合的方法進行編譯來處理數據查詢,相比于MapReduce與Impala結合更加高效,我們利用Map-Trim-Reduce的高靈活性和Impala的處理效率來進行復雜的大數據查詢。在應用中,Map-Trim-Reduce對輸入Impala的數據進行預處理,提前排除無用的結果和不可能的數據,然后在利用Impala進行相應的查詢。這里值得一提的是,在處理查詢同一個結果的作業(yè)時,由于Map任務預處理后的數據是持久化在HDFS上的,所以Impala可以多次對中間結果進行查詢,不需要在像MapReduce一樣多次執(zhí)行前面的Mapper預處理,這極大的提高了數據處理的工作效率。

3.2Map-Trim-Reduce與Impala結合的數據處理實現方法。

在Impala上建立外部表通過Map-Trim-Reduce框架進行預處理來查詢數據。在Map-Trim-Reduce程序中,MapReduce框架直接從HDFS上讀取本地數據,通過Trim提高Top-K查詢效率,排除不可能的結果,再利用Imapla中HQL查詢本身包含的Join語句來處理Map-Trim-Reduce框架中多個數據集連接不直觀的限制問題,避免了編程中繁瑣的實現過程。

Map-Trim-Reduce與Impala結合的實現方法如圖2所示:

圖2 Map-Trim-Reduce與Impala結合工作圖

由上圖所示,Map-Trim-Reduce通過任務調度器將HDFS中的數據塊元數據讀取,按順序執(zhí)行Map,Trim,Reduce階段,完成預處理任務后,交由Impala進行查詢操作。Impala的查詢與Map-Trim-Reduce框架是分離的,Map任務的中間結果可以存儲在HDFS上,以供Impala多次讀取并進行查詢已經由Map-Trim-Reduce優(yōu)化過的中間結果,這樣在數據節(jié)點間的傳輸流量很少,且讀寫磁盤的次數也限制在Map和Impala的讀寫過程中,減少了Shuffle過程中不必要的I/O操作,節(jié)省了I/O磁盤的空間資源。多次利用中間結果對于迭代同一個中間結果的查詢效率也明顯高于Map-Trim-Reduce。

3.3Map-Trim-Reduce與Impala結合的實驗分析

用Map-Trim-Reduce和Map-Trim-Reduce與Impala結合各自實現域名統計排序,比較運行時間的平均值。參考文獻[4]的方法進行Map-Trim-Reduce調試,CDH文檔搭建和運行平臺參考文獻[5]實現。

首先,Map-Trim-Reduce分割域名。由Mapper分割成以下部分記錄:

進行域名統計排序。這一步可用Map-Trim-Reduce的Map結果自動按key排序功能實現。實現的偽代碼如下:

MapTrimReduce分割域名:

String url=cell[8].trim();

分別進行URL分割和host分割

String[] url_spilt=url.split(“/”);

String[] hostspilt=host.split(“\.”);

StringBuffer hostacc=new StringBuffer();

for(int i=hostspilt.length-1;i>0;i--)

{ hostacc.insert(0,hostspilt[i].trim());

Context.write(new Text(hostacc.toString)),new IntWritable(1));

Hostacc.insert(0,”.”);}hostacc.insert(0,hostspilt[0]);

Context.write(new Text(hostacc.toString()),new IntWritable(1));

If(url_spilt.length>1)

Context,write(new Text(url),new IntWritable(1));

下面是Map-Trim-Reduce與Impala結合實現的關鍵代碼。Mapper應用以上方法對輸入Impala數據進行預處理。接下來利用Impala帶limit的order by進行查詢:

Creat external table hostcount(host string,num int) row form

Delimited fields terminated by’\t’ location’/user/root/hostcount’

Select host,count(*)as nums from hostcount group by host order by

Nums desc limit 100;

Map-Trim-Reduce與Map-Trim-Reduce+Impala的實驗耗時結果由圖3所示:

圖3 實驗時間對比

可見,在執(zhí)行效率方面后者遠遠比Map-Trim-Reduce程序提高了一倍。Map-Trim-Reduce與Impala結合的方法能夠有效的縮短任務的執(zhí)行時間,提供高效的查詢并保持Map-Trim-Reduce編程的靈活性。

4 總結

隨著大數據時代的到來,傳統數據查詢方法的效率都遇到了瓶頸。為了更好的適應當前的環(huán)境,提高工作效率,我們研究發(fā)現Map-Trim-Reduce與Impala結合可以大大提高面對大數據處理的查詢效率。當然,由于條件有限,可以擴展和優(yōu)化的地方還有很多,隨著時代的發(fā)展與科技的進步,在這方面的研究必定還會有突破性的進展。

[1] 陳勇.基于Hadoop平臺的通信數據分布式查詢算法的設計與實現:[D].北京:北京理工大學,2009

[2] 齊方方.海量數據存儲和準實時查詢系統設計與實現:[D].四川:西南石油大學,2015

[3] 郭超,劉波,林偉偉.基于Impala的大數據查詢分析計算性能研究:[J].計算機應用研究,2015,32(5):2

[4] 吳秀娟.基于NoSQL框架的數據查詢技術的應用研究.[D]南京:南京郵電大學,2014

[5] Cloudera Company.CDH5和Impala文檔[EB/OL]. http://www.cloudera.com/content/www/en-us/documentat ion/enterprise/latest/topics/impala.html

Research on Data Query Optimization Based on MTR and Impala

Yuan Wencui, Shu Zan, Zhao Jianmin
(College of Computer and Information Technology, Northeast Petroleum University, Daqing 163318, China)

This paper takes the large data query technology as the center, and researches some main current query methods and the optimization based on them. MapReduce is a programming model, which integrates the file blocks stored in the HDFS to achieve the purpose of accelerating the realization of data query. Based on this method, an improved Map-Trim-Reduce programming model is obtained, and then it is combined with the Impala query engine. Use Map-Trim-Reduce to deal with the advantages of complex data to make up for the shortcomings of Impala, and deal with the Impala preprocessing data, so as to improve the efficiency of large data query.

Big Data; Map-Trim-Reduce; Impala

TP312

A

1007-757X(2016)06-0029-03

2016.02.07)

中國石油科技創(chuàng)新基金研究項目(2013D-5006-0203);黑龍江省科技攻關項目(GZ09A120);黑龍江省教育廳科學技術研究項目(12521050)。

袁文翠(1970-),女,東北石油大學,計算機與信息技術學院,副教授,碩士,研究方向:大數據、數據挖掘,大慶,163318

舒 昝(1991-),男,東北石油大學,計算機與信息技術學院,碩士生,研究方向:大數據、數據挖據,,大慶,163318

趙建民(1973-),男,東北石油大學,計算機與信息技術學院,副教授,碩士研究生導師,研究方向:工作流,數據挖掘,大慶,163318

猜你喜歡
效率優(yōu)化模型
一半模型
超限高層建筑結構設計與優(yōu)化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優(yōu)化探討
關于優(yōu)化消防安全告知承諾的一些思考
一道優(yōu)化題的幾何解法
重要模型『一線三等角』
提升朗讀教學效率的幾點思考
甘肅教育(2020年14期)2020-09-11 07:57:42
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
跟蹤導練(一)2
主站蜘蛛池模板: 真人高潮娇喘嗯啊在线观看 | 91小视频在线观看| 国产精品人莉莉成在线播放| 久久精品娱乐亚洲领先| 国产精品成人免费综合| 欧美色99| 91青青草视频在线观看的| 亚洲精品视频在线观看视频| 在线va视频| 无码专区在线观看| 中日韩欧亚无码视频| 91色老久久精品偷偷蜜臀| 亚洲 欧美 偷自乱 图片| 萌白酱国产一区二区| 中文字幕伦视频| 国产手机在线小视频免费观看| 欧美精品啪啪一区二区三区| 亚洲人在线| 亚洲欧美日韩中文字幕在线| 国产黄色片在线看| 日韩毛片免费视频| 国产精品偷伦视频免费观看国产| 香蕉视频国产精品人| 亚洲欧洲日韩综合色天使| 成人午夜免费观看| 一本一本大道香蕉久在线播放| 国产一级α片| 欧美色视频日本| 国产福利在线免费观看| 人妻中文久热无码丝袜| 国产毛片高清一级国语| 人妻无码中文字幕一区二区三区| 老色鬼欧美精品| 99福利视频导航| 国产综合日韩另类一区二区| 真人免费一级毛片一区二区| 69av免费视频| 国产女人在线| 一本大道AV人久久综合| 欧美丝袜高跟鞋一区二区| 波多野结衣视频一区二区 | 亚洲品质国产精品无码| 小蝌蚪亚洲精品国产| 日本爱爱精品一区二区| 永久免费av网站可以直接看的| 国产精品久久久久久搜索| 国产成人av一区二区三区| 久久综合亚洲鲁鲁九月天| 波多野结衣中文字幕久久| 欧美亚洲国产精品第一页| 国模极品一区二区三区| 国产特级毛片aaaaaa| 国产成人综合久久| 伊人婷婷色香五月综合缴缴情| 国产主播在线一区| 国产成人精品一区二区三区| 丝袜久久剧情精品国产| 欧美亚洲激情| 久久久久久高潮白浆| 伊人91视频| 精品国产91爱| 亚洲人成网线在线播放va| 久久黄色小视频| 色婷婷综合激情视频免费看| 精品久久蜜桃| 国产综合精品日本亚洲777| 国产精品第一区| 又污又黄又无遮挡网站| 国产一区二区福利| 亚洲成人一区二区| 国产男人的天堂| 色综合久久综合网| 手机精品福利在线观看| 91精品人妻互换| 麻豆AV网站免费进入| 三区在线视频| 日韩精品成人网页视频在线| 在线国产你懂的| 最近最新中文字幕免费的一页| 国产精品毛片一区视频播| 婷婷综合在线观看丁香| 日韩在线播放中文字幕|