文獻(xiàn)標(biāo)識碼: 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查詢方式來分析存儲在Hadoop分布式文件系統(tǒng)中的數(shù)據(jù):可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供完整的SQL查詢功能;可以將SQL語句轉(zhuǎn)換為MapReduce任務(wù)運(yùn)行,通過自己的SQL查詢分析需要的內(nèi)容。這套SQL簡稱Hive SQL,使不熟悉MapReduce的用戶可以很方便地利用SQL語言查詢、匯總和分析數(shù)據(jù)[1]。由于Hive在數(shù)據(jù)存儲和分析上的靈活性,眾多企業(yè)用它存儲重要數(shù)據(jù)。這些敏感的商業(yè)數(shù)據(jù)被大量企業(yè)內(nèi)部人員訪問和操作,一旦發(fā)生人為誤操作或違規(guī)操作,很容易導(dǎo)致數(shù)據(jù)的泄露?,F(xiàn)有大數(shù)據(jù)平臺上的數(shù)據(jù)安全防護(hù)方案缺乏對敏感數(shù)據(jù)靈活的訪問控制,難以對數(shù)據(jù)的生命周期及用戶操作行為進(jìn)行精確的追蹤溯源,無法提供對大數(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ù)的來源。國內(nèi)外學(xué)者在數(shù)據(jù)溯源技術(shù)上進(jìn)行了深入研究。在數(shù)據(jù)溯源模型方面,汪洪昕[3]提出了數(shù)據(jù)染色體溯源模型,更加完善地揭示數(shù)據(jù)傳播過程中的變化及數(shù)據(jù)的關(guān)系,并在Hadoop平臺中得以實(shí)現(xiàn)。郝鵬飛[4]通過對大數(shù)據(jù)模型分析平臺工作流特征分析,討論了基于Oozie模型工作流的數(shù)據(jù)溯源問題。
目前針對數(shù)據(jù)庫的數(shù)據(jù)溯源追蹤主要有兩種方法:(1)基于標(biāo)注的方法[5],此類方法雖然實(shí)施起來比較簡單,但需要額外的存儲空間且隨著處理的數(shù)據(jù)量增加其執(zhí)行效率會降低,難以直接應(yīng)用于維護(hù)著海量數(shù)據(jù)的Hive數(shù)據(jù)倉庫;(2)基于逆置函數(shù)的方法[6],此類方法需要的存儲空間較小,但不是所有的數(shù)據(jù)處理都可以逆置,且其溯源追蹤的性能完全取決于逆置機(jī)制。對于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ù)。
對于數(shù)據(jù)倉庫中數(shù)據(jù)溯源問題,柯潔[7]等人基于W3C的PROV模型對ETL過程的數(shù)據(jù)溯源進(jìn)行了深入分析,并提出了相應(yīng)的數(shù)據(jù)溯源算法。文獻(xiàn)[8-9]討論了數(shù)據(jù)倉庫中的數(shù)據(jù)譜系跟蹤問題,提供了譜系跟蹤算法以及溯源過程中屬性映射和轉(zhuǎn)換起源集的求解方法。但這些研究均針對傳統(tǒng)數(shù)據(jù)倉庫中的數(shù)據(jù)溯源,難以應(yīng)用于大數(shù)據(jù)環(huán)境下Hive的數(shù)據(jù)溯源。針對大數(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ù)存儲、溯源查詢語言等方面梳理了現(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ù)溯源中。
針對傳統(tǒng)數(shù)據(jù)溯源機(jī)制難以滿足Hive中大規(guī)模、復(fù)雜的數(shù)據(jù)處理問題,本文提出了基于有向無環(huán)圖(Directed Acyclic Graph,DAG)的數(shù)據(jù)溯源方法。通過對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)容請下載:http://theprogrammingfactory.com/resource/share/2000003062
作者信息:
杜 娟1,蘇秋月2
(1.61646部隊(duì),北京100192;2.四川大學(xué),四川 成都610065)