文獻(xiàn)標(biāo)識(shí)碼: A
DOI: 10.19358/j.issn.2096-5133.2020.11.005
引用格式: 杜娟,,蘇秋月. 基于DAG的Hive數(shù)據(jù)溯源方法[J].信息技術(shù)與網(wǎng)絡(luò)安全,,2020,39(11):31-37.
0 引言
Hive是基于Hadoop的開源數(shù)據(jù)倉庫工具,,它提供了豐富的SQL查詢方式來分析存儲(chǔ)在Hadoop分布式文件系統(tǒng)中的數(shù)據(jù):可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供完整的SQL查詢功能,;可以將SQL語句轉(zhuǎn)換為MapReduce任務(wù)運(yùn)行,,通過自己的SQL查詢分析需要的內(nèi)容。這套SQL簡(jiǎn)稱Hive SQL,,使不熟悉MapReduce的用戶可以很方便地利用SQL語言查詢,、匯總和分析數(shù)據(jù)[1]。由于Hive在數(shù)據(jù)存儲(chǔ)和分析上的靈活性,,眾多企業(yè)用它存儲(chǔ)重要數(shù)據(jù),。這些敏感的商業(yè)數(shù)據(jù)被大量企業(yè)內(nèi)部人員訪問和操作,一旦發(fā)生人為誤操作或違規(guī)操作,,很容易導(dǎo)致數(shù)據(jù)的泄露?,F(xiàn)有大數(shù)據(jù)平臺(tái)上的數(shù)據(jù)安全防護(hù)方案缺乏對(duì)敏感數(shù)據(jù)靈活的訪問控制,難以對(duì)數(shù)據(jù)的生命周期及用戶操作行為進(jìn)行精確的追蹤溯源,,無法提供對(duì)大數(shù)據(jù)合規(guī)審計(jì)管理的支撐,。因此,如何提供有效的安全防護(hù)機(jī)制來保障Hive中數(shù)據(jù)的安全,,是目前研究的重點(diǎn),。
數(shù)據(jù)溯源也稱為數(shù)據(jù)血緣、數(shù)據(jù)譜系等,,數(shù)據(jù)溯源技術(shù)根據(jù)追蹤路徑重現(xiàn)數(shù)據(jù)的歷史,、狀態(tài)和演變過程,實(shí)現(xiàn)數(shù)據(jù)歷史檔案的追溯[2],。通過數(shù)據(jù)溯源能追蹤到異常發(fā)生的原因,,還能幫助人們確定數(shù)據(jù)倉庫中各項(xiàng)數(shù)據(jù)的來源。國(guó)內(nèi)外學(xué)者在數(shù)據(jù)溯源技術(shù)上進(jìn)行了深入研究,。在數(shù)據(jù)溯源模型方面,,汪洪昕[3]提出了數(shù)據(jù)染色體溯源模型,更加完善地揭示數(shù)據(jù)傳播過程中的變化及數(shù)據(jù)的關(guān)系,,并在Hadoop平臺(tái)中得以實(shí)現(xiàn),。郝鵬飛[4]通過對(duì)大數(shù)據(jù)模型分析平臺(tái)工作流特征分析,討論了基于Oozie模型工作流的數(shù)據(jù)溯源問題,。
目前針對(duì)數(shù)據(jù)庫的數(shù)據(jù)溯源追蹤主要有兩種方法:(1)基于標(biāo)注的方法[5],,此類方法雖然實(shí)施起來比較簡(jiǎn)單,但需要額外的存儲(chǔ)空間且隨著處理的數(shù)據(jù)量增加其執(zhí)行效率會(huì)降低,,難以直接應(yīng)用于維護(hù)著海量數(shù)據(jù)的Hive數(shù)據(jù)倉庫,;(2)基于逆置函數(shù)的方法[6],,此類方法需要的存儲(chǔ)空間較小,但不是所有的數(shù)據(jù)處理都可以逆置,,且其溯源追蹤的性能完全取決于逆置機(jī)制,。對(duì)于Hive數(shù)據(jù)倉庫中復(fù)雜的數(shù)據(jù)處理,要構(gòu)造一個(gè)良好的逆置機(jī)制難度較大,。Hive數(shù)據(jù)的溯源重點(diǎn)在于數(shù)據(jù)沿襲問題,而給定數(shù)據(jù)的數(shù)據(jù)沿襲問題可以概括為建立數(shù)據(jù)的血緣關(guān)系,,得到其產(chǎn)生過程以及源數(shù)據(jù),。
對(duì)于數(shù)據(jù)倉庫中數(shù)據(jù)溯源問題,柯潔[7]等人基于W3C的PROV模型對(duì)ETL過程的數(shù)據(jù)溯源進(jìn)行了深入分析,,并提出了相應(yīng)的數(shù)據(jù)溯源算法,。文獻(xiàn)[8-9]討論了數(shù)據(jù)倉庫中的數(shù)據(jù)譜系跟蹤問題,提供了譜系跟蹤算法以及溯源過程中屬性映射和轉(zhuǎn)換起源集的求解方法,。但這些研究均針對(duì)傳統(tǒng)數(shù)據(jù)倉庫中的數(shù)據(jù)溯源,,難以應(yīng)用于大數(shù)據(jù)環(huán)境下Hive的數(shù)據(jù)溯源。針對(duì)大數(shù)據(jù)環(huán)境,,文獻(xiàn)[10]提出了一種基于層的數(shù)據(jù)溯源架構(gòu),,其中包括大數(shù)據(jù)來源的捕獲及可視化,并且在溯源數(shù)據(jù)中引入了一種訪問控制機(jī)制,。文獻(xiàn)[11-13]總結(jié)了數(shù)據(jù)庫中的數(shù)據(jù)溯源技術(shù),,分析了在Hadoop環(huán)境下數(shù)據(jù)溯源面臨的研究挑戰(zhàn),并從數(shù)據(jù)溯源模型,、溯源數(shù)據(jù)存儲(chǔ),、溯源查詢語言等方面梳理了現(xiàn)有解決方案。Apache Atlas是Hadoop社區(qū)為解決Hadoop生態(tài)系統(tǒng)的元數(shù)據(jù)治理問題而產(chǎn)生的開源項(xiàng)目,,它為Hadoop集群提供了包括數(shù)據(jù)分類,、集中策略引擎、數(shù)據(jù)溯源,、安全和生命周期管理在內(nèi)的元數(shù)據(jù)治理核心能力[14],,因此可以將Apache Atlas引入到Hive數(shù)據(jù)溯源中。
針對(duì)傳統(tǒng)數(shù)據(jù)溯源機(jī)制難以滿足Hive中大規(guī)模,、復(fù)雜的數(shù)據(jù)處理問題,,本文提出了基于有向無環(huán)圖(Directed Acyclic Graph,DAG)的數(shù)據(jù)溯源方法,。通過對(duì)Apache Atlas進(jìn)行擴(kuò)展,,在Hive中實(shí)現(xiàn)了該數(shù)據(jù)溯源方法,并通過實(shí)驗(yàn)證明該方法可為Hive提供準(zhǔn)確,、高效的數(shù)據(jù)溯源機(jī)制,,也為數(shù)據(jù)安全審計(jì)提供了有力支撐。
本文詳細(xì)內(nèi)容請(qǐng)下載:http://forexkbc.com/resource/share/2000003062
作者信息:
杜 娟1,蘇秋月2
(1.61646部隊(duì),,北京100192,;2.四川大學(xué),四川 成都610065)