前言:本站為你精心整理了連接算法應用煤礦安全論文范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
1.1連接算法在大數據分析應用中,連接是必不可少的一項操作。連接算法通常用于合并2個或多個數據集信息,而連接條件是基于這些數據集共同的一些屬性信息。以2個表連接為例,設現有數據表為R(a,b),S(b,c),表R與表S的關聯屬性為b,對表R和表S做連接操作,根據條件R.b=S.b,即可找出2個表中滿足條件的元組,達到合并2個表的目的。
1.2Bloom過濾器Bloom過濾器是一種空間效率很高的隨機數據結構,它主要應用于判斷一個元素是否屬于某個集合。Bloom過濾器是一個包含m位的bitArray,其初始值均為0,它利用k個相互獨立的哈希函數將集合元素映射到{1,2,…,m}范圍內的k個位置上,其對應位置被置為1。在判斷某個元素是否屬于集合時,將該元素進行同樣的k次哈希運算,若其對應值不全為1,則該元素不是集合中元素;若其對應值全部為1,則認為該元素為集合中元素。但Bloom過濾器存在一定的誤判率,如圖1所示,X1顯然不是集合中元素,而X2可能是結合中元素,也可能恰好為一個誤判元素。
1.3基于Bloom過濾器的星型連接算法星型連接是一種典型的多路連接,它是將一個事實表同多個維度表進行連接的操作。基本的星型連接是將事實表與每個維度表分別進行連接操作,再把所有產生的中間結果進行合并得到最終結果。大量中間結果造成巨大的磁盤I/O開銷,降低了執行效率。基于Bloom過濾器的星型連接算法是在Map階段建立n個BF(Ri.Xi)Bloom過濾器以及n個BF(R0.Xi)Bloom過濾器,其中i=1,2,…,n。在執行星型連接操作時,利用過濾器BF(Ri.Xi)對事實表R0進行過濾操作,利用過濾器BF(R0.Xi)分別對維度表R1,R2,…,Rn進行過濾操作。這樣可在Map階段消除事實表中無連接操作的元組以及大量中間結果。在Reduce階段,只需執行一次Reduce任務便可完成連接操作。
2連接算法在煤礦安全生產中的應用
在煤礦安全生產過程中,瓦斯濃度、甲烷濃度、一氧化碳濃度、采區溫度、粉塵濃度、通風量之間都有著很高的關聯性。煤礦安全生產監測系統將采集到的數據存儲到數據庫中。在對各因素進行相關性分析時,需對各個數據表進行連接操作,根據連接操作結果可分析出影響煤礦安全生產各因素之間的關系。例如,對頂板壓力、溫度以及甲烷濃度3個數據表進行連接操作,由連接結果可知,當頂板壓力不穩定、溫度過高、甲烷體積分數大于0.1時,采區處于不安全狀態,此時監測系統應發出高危險等級的報警。而通過對粉塵濃度與通風量的數據表連接結果可知,在粉塵濃度急劇增大時需要減少系統的通風量才能保證煤礦生產的安全性。在MapReduce中利用基于Bloom過濾器的星型連接算法對煤礦安全生產數據表進行連接操作,事實表R。
3試驗結果分析
試驗環境是擁有30個配置完全相同的計算節點的分布式計算平臺。在各個節點中均安裝Hadoop包作為MapReduce計算環境。試驗數據為煤礦安全生產過程中產生的6組真實數據集,表1描述了該6組數據的詳細信息。在MapReduce框架中,分別用星型算法(StarJoin)和基于Bloom過濾器的星型連接算法(BFStarJoin)對煤礦安全生產數據集進行測試分析,比較其在連接過程中占用空間的大小和運行時間的長短,分別得出算法的空間性能和執行效率,基于Bloom過濾器的星型連接算法在進行連接操作時占用空間遠遠低于星型算法,其空間性能大幅度提升。由圖5可知,基于Bloom過濾器的星型連接算法在對煤礦安全生產數據集進行分析時有著更好的執行效率。
4結語
利用大數據技術對煤礦安全生產數據進行分析,基于Bloom過濾器的星型連接算法可以將所需分析的煤礦生產過程中各因素所對應的數據表進行有效連接。與傳統連接算法相比,該算法在空間性能和執行效率上均有大幅度提升,提高了MapReduce對煤礦生產數據進行連接操作時的處理能力,提升了煤礦安全生產水平。
作者:黃偉力劉影單位:河北工程大學