• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種關聯(lián)感知的大數(shù)據(jù)導入方法

      2016-11-08 06:45:57公懷予徐勁松王攀
      電信科學 2016年3期
      關鍵詞:關系數(shù)據(jù)庫數(shù)據(jù)表關聯(lián)性

      公懷予,徐勁松,王攀

      (1.中國電信股份有限公司濟源分公司,河南 濟源 454650;2.南京郵電大學,江蘇 南京 210003)

      一種關聯(lián)感知的大數(shù)據(jù)導入方法

      公懷予1,徐勁松2,王攀2

      (1.中國電信股份有限公司濟源分公司,河南 濟源 454650;2.南京郵電大學,江蘇 南京 210003)

      針對現(xiàn)有數(shù)據(jù)庫向大數(shù)據(jù)遷移的背景,Apache推出了Sqoop作為關系數(shù)據(jù)庫向大數(shù)據(jù)遷移的主要工具。Sqoop簡單地將數(shù)據(jù)表切分并隨機存儲到不同的節(jié)點上。針對Hadoop的這種存儲方式帶來的關系查詢的低效率問題,設計了一種關聯(lián)度感知的數(shù)據(jù)導入預處理方法。將關聯(lián)度較高的表盡量存儲在相鄰的虛擬機節(jié)點,以降低關聯(lián)數(shù)據(jù)查詢帶來的網(wǎng)絡傳輸時延,提高系統(tǒng)的性能。對比實驗表明,將關聯(lián)性較強的數(shù)據(jù)表存放在相同或相鄰節(jié)點上,可以成倍提高數(shù)據(jù)查詢的性能。

      大數(shù)據(jù);Sqoop;Hadoop;NoSQL

      1 引言

      大數(shù)據(jù)從最初為Google、Facebook等公司解決大量數(shù)據(jù)的存儲問題,到現(xiàn)在被越來越多的企業(yè)應用。目前,對于大數(shù)據(jù)的解決方案,主要有商業(yè)解決方案和Hadoop生態(tài)系統(tǒng)解決方案兩種。商業(yè)解決方案具有使用方便、集成度高以及性能穩(wěn)定的特點。但Hadoop生態(tài)系統(tǒng)多樣、靈活、高擴展性等優(yōu)勢吸引了中小企業(yè)的注意并成為其主要的大數(shù)據(jù)解決方案。

      大數(shù)據(jù)應用中,數(shù)據(jù)主要源于互聯(lián)網(wǎng)和已有的結構化數(shù)據(jù)兩者。其中,互聯(lián)網(wǎng)數(shù)據(jù)催生了各種各樣的大數(shù)據(jù)創(chuàng)新應用。而結構化數(shù)據(jù)是已有應用的保障,在我國,7成以上的大數(shù)據(jù)來源都是結構化數(shù)據(jù)[1]。為了實現(xiàn)關系型數(shù)據(jù)倉庫向大數(shù)據(jù)的遷移,Apache提供了 Sqoop[2]工具,以協(xié)助傳統(tǒng)的關系型數(shù)據(jù)庫管理系統(tǒng) (relational database management system,RDBMS)與Hadoop之間進行高效的大數(shù)據(jù)交流。

      實踐發(fā)現(xiàn),在使用Sqoop導入Hadoop的過程中,初始的設定將會把一張表切分成4等分,再使用mapper通過JDBC將數(shù)據(jù)導入NoSQL (如 HDFS、HBase等),而這些mapper會根據(jù)Hadoop的工作配置,隨機地存儲在被啟動空間的節(jié)點上,當數(shù)據(jù)庫應用中的查詢語句中包含join語法時,需要將兩個表中的相應字段進行合并,這時候數(shù)據(jù)的傳輸需要通過網(wǎng)絡傳輸來完成。考慮到網(wǎng)絡傳輸會比直接在硬盤上讀取數(shù)據(jù)慢了很多,本文提出一種稱為基于關聯(lián)感 知 Sqoop(association-based Sqoop,AB_Sqoop)的數(shù) 據(jù)導入算法,通過數(shù)據(jù)表關聯(lián)性分析的方法對關系數(shù)據(jù)庫進行預處理,在數(shù)據(jù)導入的過程中,將相關性較高的數(shù)據(jù)表盡量存放在同一硬盤或相鄰節(jié)點,以減少數(shù)據(jù)的網(wǎng)絡傳輸,加速大數(shù)據(jù)應用的整體性能。

      2 相關研究

      由于現(xiàn)在的企業(yè)環(huán)境中有著大量的結構化數(shù)據(jù),這些數(shù)據(jù)并不能簡單地使用MapReduce來處理,因此需要建立一種不更改復雜的Hadoop架構的機制來處理結構化數(shù)據(jù)[3,4]。大多數(shù)的 NoSQL 查詢語句使用 Hive 來作為 SQL 到MapReduce的翻譯工具,但很多論文提到 Hive[5]所翻譯出的MapReduce并不是很有效率。參考文獻[6]提出將整個查詢語句根據(jù)其關聯(lián)性將不必要的join進行合并,以減少非必要的join操作,大大降低了查詢所需要的時間,這種做法在2012年被Hive合并。

      由于join是數(shù)據(jù)庫中常見的耗時操作,許多的研究都針對join操作的優(yōu)化進行探索,參考文獻[7]在reduce階段將中間產(chǎn)物重新分區(qū)并復制給其他已經(jīng)完成的節(jié)點上以加速運算,參考文獻[8]使用MapReduce的簡化join模型,參考文獻[9]使用MapReduce模型的自然延伸加入過濾動作,使MapReduce先使用邏輯過濾來省略中間而讓整個完成時間減少。

      圖1 基于關聯(lián)感知的Sqoop導入基本流程

      3 基于關聯(lián)度感知的Sqoop導入

      基于關聯(lián)感知的Sqoop導入的流程如圖1所示,第一步是分析數(shù)據(jù)庫的日志,根據(jù)數(shù)據(jù)表之間的關聯(lián)查詢的數(shù)目獲得數(shù)據(jù)表之間的關聯(lián)性,第二步是考慮數(shù)據(jù)表的大小,計算獲得數(shù)據(jù)表之間關聯(lián)度的關系效用,最后查表獲得數(shù)據(jù)表之間的關聯(lián)度,再根據(jù)這個關聯(lián)度導入Hadoop環(huán)境中。

      3.1 分析數(shù)據(jù)表之間的關聯(lián)性

      關系數(shù)據(jù)庫中的日志記錄了數(shù)據(jù)庫中的所有操作,包括數(shù)據(jù)庫的設定、數(shù)據(jù)的修改以及查詢。設計關系數(shù)據(jù)庫的日志的目的是在數(shù)據(jù)庫發(fā)生問題的時候,可以通過查詢日志的方式解決問題。

      由于關系數(shù)據(jù)庫的日志記錄了數(shù)據(jù)庫查詢的記錄,因此發(fā)生的關聯(lián)查詢也會在日志中體現(xiàn),因此,分析數(shù)據(jù)庫日志可以獲得關系數(shù)據(jù)庫之間表的關聯(lián)性,比如表1與表2之間產(chǎn)生的關聯(lián)查詢?yōu)?5次,則該兩表之間的關聯(lián)性記為15。且記表n與表n之間的關聯(lián)性為0。將這些關聯(lián)性通過一個二維表可以將其列出,記該表為table association(TA)。

      3.2 數(shù)據(jù)表之間的大小

      除了考慮表之間的關聯(lián)性以外,還需要考慮數(shù)據(jù)表的大小問題。這是因為當兩張表的關聯(lián)性非常大,但其大小相對于數(shù)據(jù)庫中其他的表很小的情況下,將兩張表放在一起與否,并不能對關聯(lián)查詢的性能起到很好的作用。這是因為,Hadoop在執(zhí)行任務的時候,會在數(shù)據(jù)量比較大的節(jié)點上發(fā)起任務,通過這樣的手段減少網(wǎng)絡傳輸,從而提高執(zhí)行的效率。

      同樣,將數(shù)據(jù)庫中的表兩兩比較,選出較小的表作為代表,形成一個二維列表TS(table size)。如表1的大小是10 MB,而表2的大小是30 MB,則表1行與表2列的數(shù)據(jù)記錄為10,同樣,記表n與表n之間的大小記錄為0。

      3.3 關系效用的計算

      關系效用(effective association)使用 TA和 TS對應的位置兩兩相乘即可得出,即求TA與TS的點積:

      從TA與TS的生成可以看出,TAT=TA,且TST=TS,由式(1)同樣可以得出ECTT=ECT。

      由于ECT是一個對稱矩陣,因此可以從主對角線取其上半部分,也就是說將ECT的下半部分都記為0,得到ECT'。實際上由于TA與TS都對稱,在計算之初就可以將其下半部分取0,得到TA'和 TS'。即:

      3.4 Sqoop導入

      考慮到需要將關系效用最大的表盡量存放到一起,因此,首先需要明確每個虛擬機(VM)能存放的表的分片(table split)的大小,該容量限制記為 CA(capacity),則導入的流程如下:

      步驟1 將ECT'中的每行取CA-1個較大的值相加為St;

      步驟2 取St中最大的為Smax,并首先將Smax組成的表首先導入,并將Smax組成的表標示為已導入;

      步驟3 如果剩余表的數(shù)量大于CA,則重復步驟1、步驟 2;

      步驟4 將剩余的表做最后一次導入。

      為了驗證算法的有效性,在步驟2中引入變量數(shù)據(jù)位置(data locality,DL)。在這一步驟的導入過程由于數(shù)據(jù)存放在相同節(jié)點,因此可以理解為這些數(shù)據(jù)的關聯(lián)查詢不需要網(wǎng)絡傳輸。假設Smax的組成為第 n行上的i、j、k……列,則該DL的值為:

      由式(3)可知,DL的值包括了所有需要標記為已導入的表的效用關系量,該值累加得到最后的DL值。當DL值越大,則意味著所需要的網(wǎng)絡傳輸數(shù)據(jù)越小。

      Sqoop導入的算法描述如下。

      算法 基于感知度的Sqoop導入算法

      輸入 ECT':關系效用表

      n:數(shù)據(jù)庫表的數(shù)量

      CA:每一個節(jié)點可以存儲的數(shù)據(jù)表分片的數(shù)量

      DL=0 :初始化DL值

      P=1

      輸出 數(shù)據(jù)表位置的集合{S1,S2,…,Sβ},β=n/CA

      由以上算法可知,該算法拆解部分的時間復雜度為n2,而總共需要完成n/CA次循環(huán),則總的時間復雜度為n3/CA。

      4 實驗與對比分析

      4.1 模擬實驗

      模擬實驗主要以原始的Sqoop與使用了基于關聯(lián)感知的Sqoop對DL值進行模擬比較。

      首先定義模擬實驗的相關數(shù)據(jù)如下。

      · 數(shù)據(jù)表大小:1~10 GB,指一個表的隨機大小值。

      · 數(shù)據(jù)表關聯(lián)性:1~1 000,指模擬數(shù)據(jù)庫日志中的關聯(lián)查詢書目。

      · 節(jié)點容量:2~50,指節(jié)點能夠存儲數(shù)據(jù)表分片的上限。

      · 表的數(shù)目:20~300,指數(shù)據(jù)庫中表的數(shù)量。

      · 節(jié)點數(shù)目:20~100,指數(shù)據(jù)節(jié)點的數(shù)量。

      如圖2所示,當取數(shù)據(jù)表的數(shù)目為100、節(jié)點容量為20、表的大小取隨機1~10 GB、關聯(lián)性取隨機1~500的時候,隨著節(jié)點數(shù)目的變化,其DL值的變化。

      從圖2可知,當數(shù)據(jù)節(jié)點很少的時候,使用關聯(lián)感知導入的效率并不占優(yōu),但隨著節(jié)點數(shù)目的變大,該算法的DL值的變化比較穩(wěn)定,而原始Sqoop會隨著節(jié)點數(shù)目變大,其DL值不斷變小。從第2.4節(jié)的分析可知,由于數(shù)據(jù)隨機存放在不同節(jié)點,因此,數(shù)據(jù)查詢的性能不斷降低,到了節(jié)點數(shù)為100的時候,關聯(lián)感知算法的性能達到了傳統(tǒng)算法的397%。

      4.2 實測比較

      實測環(huán)境使用Apache Ambari工具在實驗室局域網(wǎng)環(huán)境下搭建一個Hadoop集群,15臺PC,其中1臺為master節(jié)點,14臺為 slave節(jié)點。安裝Hive、MapReduce和Sqoop。為了凸顯網(wǎng)絡傳輸對性能的影響,將PC的網(wǎng)絡傳輸調為10 Mbit/s共享。使用蘇州銳創(chuàng)公司的運營Oracle數(shù)據(jù)庫作為導入的數(shù)據(jù)源,該數(shù)據(jù)源數(shù)據(jù)241 MB,分別進行傳統(tǒng)的Sqoop導入和AB_Sqoop導入,使用join操作進行關聯(lián)查詢,其實驗結果如圖3所示。

      從圖3可知,當數(shù)據(jù)查詢參與的數(shù)據(jù)表變多的時候,查詢的時間相對增大,而AB_Sqoop基本維持在Sqoop的一半時間,即使用AB_Sqoop能提高一半以上的性能。

      圖2 不同節(jié)點數(shù)的數(shù)據(jù)距離

      圖3 join操作的時間

      5 結束語

      基于Hadoop構建大數(shù)據(jù)的分析平臺是目前中小企業(yè)的共同選擇。在傳統(tǒng)的關系數(shù)據(jù)庫導入大數(shù)據(jù)平臺時,雖然Apache提供了Sqoop工具供數(shù)據(jù)的導入導出,但由于設計思想和數(shù)據(jù)查詢的方式不同,傳統(tǒng)的關系查詢應用會產(chǎn)生不利的影響,特別是join操作會激起消耗運算資源。本文的分析和實驗證明:將關聯(lián)性較大的數(shù)據(jù)表存放到相同節(jié)點或相鄰節(jié)點的做法可以有效地避免網(wǎng)絡傳輸帶來的性能影響。下一步需要進行的工作是考慮HDFS中數(shù)據(jù)副本對導入Hadoop后性能的影響。此外算法中節(jié)點容量上限的定義雖然簡化了節(jié)點存儲的問題,但實際情況中導入數(shù)據(jù)庫的過程不可能有一個空置的大數(shù)據(jù)平臺給用戶使用,需要更進一步考慮每個節(jié)點擁有的容量。

      [1]中 國 大 數(shù) 據(jù) 發(fā) 展 調 查 研 究 結 果 [EB/OL].(2015-07-29)[2015-09-01].http://zhishi.moojnn.com/?/article/262.Research reportofChina big data development [EB/OL].(2015-07-29)[2015-09-01].http://zhishi.moojnn.com/?/article/262.[2] Apache Sqoop[EB/OL].[2015-09-01].http://sqoop.apache.org/.

      [3]BALMIN A,KALDEWEY T,TATA S.Clydesdale:structured dataprocessingonHadoop [C]// 2012ACM SIGMOD International Conference on Management of Data,May 20-24,2012,Scottsdale,AZ,USA.New York:ACM Press,2012:705-708.

      [4]BALMIN A,KALDEWEY T,TATA S.Clydesdale:structured dataprocessingon MapReduce [C]//2012 International Conference on Extending Database Technology,March 27-30,2012,Berlin,German.New York:ACM Press,2012:15-25.

      [5]THUSOO A,SARMA J S,JAIN N,et al.Hive- a warehousing solution over a MapReduce framework [J].PVLDB,2009,2(2):1626-1629.

      [6]LEE R B,LUO T,HUAI Y,et al.YSmart:yet another SQL-to-MapReduce translator[C]//2011 International Conference on Distributed Computing Systems, June 20-24, 2011,Minneapolis,Minnesota,USA.New Jersey:IEEE Press,2011:25-36.

      [7]LYNDEN S,TANIMURA Y,KOJIMAL,et al.Dynamic data redistribution for MapReduce joins[C]//2011 IEEE International Conference on Coud Computing Technology and Science,November 29-December 1,2011,Athens,Greece.New Jersey:IEEE Press,2011:717-723.

      [8] ALPER O,MIREK R.Processing theta-joins using MapReduce[C].//2011 ACM SIGMOD International Conference on Management of Data,June 12-16,2011,Athens,Greece.New Jersey:IEEE Press,2011:949-960.

      [9]JIANG D W,TUNG A K H,CHEN G.Map-join-reduce:toward scalable and efficient data analysis on large clusters [J].IEEE Transactions on knowledge and Data Engineering,2011,23(9):1299-1311.

      An associated perception import method for big data

      GONG Huaiyu1,XU Jinsong2,WANG Pan2
      1.Jiyuan Branch of China Telecom Co.,Ltd.,Jiyuan 454650,China 2 Nanjing University of Posts and Telecommunications,Nanjing 210003,China

      Against the background of the existing database to the large data migration,Apache introduced the Sqoop as the main tool for the relational database to the big data migration.Sqoop simply cut the data table and randomly store it on diffe rent nodes.Being aimed at the problem of low efficiency of the query of the relationship between the Hadoop,a method of data importing and preprocessing was designed.To reduce the network transmission delay and improve the performance of the system,the high correlation degree was kept in the adjacent nodes.The contrast experiment shows that the performance of the data query can be improved greatly by the same or adjacent nodes.

      big data,Sqoop,Hadoop,NoSQL

      s:Jiangsu Province Project of Natural Science Foundation(No.BK2009426),Jiangsu Province Education Project of Natural Science Foundation(No.14KJD520005),2013 Six Talent Peaks Project in Jiangsu Province,2013 Information Security Special Funds of the National Development and Reform Commission,State Grid 2014 Science and Technology Project:Research and Application of Network Traffic Prediction and Smart Pipe Key Technologies for Electric Power Information Communication Network,2015 Industrialization,Education and Research Joint Prospective Project (No.BY2015011-02)

      TP393

      A

      10.11959/j.issn.1000-0801.2016044

      2015-09-01;

      2015-12-20

      江蘇省自然科學基金資助項目(No.BK2009426);江蘇省高校自然科學基金資助項目(No.14KJD520005);2013江蘇省六大人才高峰計劃基金資助項目;2013國家發(fā)展和改革委員會信息安全專項基金資助項目;國家電網(wǎng)公司2014年科技項目:電力信息通信網(wǎng)絡流量預測和管理智能化關鍵技術研究及其應用;2015江蘇省產(chǎn)學研前瞻性聯(lián)合研究項目(No.BY2015011-02)

      公懷予(1973-),男,中國電信股份有限公司濟源分公司工程師、總經(jīng)理,主要研究方向為大數(shù)據(jù)分析和流量經(jīng)營。

      徐勁松(1974-),男,博士,南京郵電大學通達學院副教授、教研室主任,主要研究方向為信息安全、云計算及大數(shù)據(jù)應用。

      王攀(1979-),男,南京郵電大學副研究員,主要研究方向為大數(shù)據(jù)分析和流量經(jīng)營。

      猜你喜歡
      關系數(shù)據(jù)庫數(shù)據(jù)表關聯(lián)性
      關系數(shù)據(jù)庫在高爐數(shù)據(jù)采集系統(tǒng)中的應用
      山東冶金(2022年2期)2022-08-08 01:51:30
      湖北省新冠肺炎疫情數(shù)據(jù)表
      黨員生活(2020年2期)2020-04-17 09:56:30
      基于列控工程數(shù)據(jù)表建立線路拓撲關系的研究
      四物湯有效成分的關聯(lián)性分析
      中成藥(2017年3期)2017-05-17 06:09:05
      如何準確認定排污行為和環(huán)境損害之間的關聯(lián)性
      CRP檢測與新生兒感染的關聯(lián)性
      基于索引結構的關系數(shù)據(jù)庫關鍵詞檢索
      圖表
      基于VSL的動態(tài)數(shù)據(jù)表應用研究
      河南科技(2014年24期)2014-02-27 14:19:25
      關于矩陣的關聯(lián)性
      合山市| 察雅县| 东海县| 镇江市| 郁南县| 华安县| 陆河县| 芒康县| 翁牛特旗| 额济纳旗| 朔州市| 七台河市| 桐城市| 崇阳县| 德安县| 临朐县| 德州市| 东辽县| 额济纳旗| 遂溪县| 松阳县| 怀仁县| 昭平县| 海阳市| 扬中市| 自治县| 泰兴市| 色达县| 长宁区| 福海县| 扎赉特旗| 囊谦县| 安义县| 都兰县| 靖江市| 新昌县| 莎车县| 灌南县| 德兴市| 宁明县| 海原县|