
先對資料分個類
企業資料管理的内容及範疇通常包括交易資料、主資料以及中繼資料。
(1)交易資料:用于紀錄業務事件,如客戶的訂單,投訴記錄,客服申請等,它往往用于描述在某一個時間點上業務系統發生的行為。
(2)主資料:主資料則定義企業核心業務對象,如客戶、産品、位址等,與交易流水資訊不同,主資料一旦被記錄到資料庫中,需要經常對其進行維護,進而確定其時效性和準确性;主資料還包括關系資料,用以描述主資料之間的關系,如客戶與産品的關系、産品與地域的關系、客戶與客戶的關系、産品與産品的關系等。
(3)中繼資料:即關于資料的資料,用以描述資料及其環境的結構化資訊,便于查找、了解、使用和管理資料。
什麼是中繼資料管理
我們前面講解的技術和平台都在解決主資料和交易資料的采集、加工、存儲、計算等問題。但面對海量且持續增加的各式各樣的資料時,你一定想知道資料從哪裡來以及它如何随時間而變化?采用Hadoop必須考慮資料管理的實際情況,中繼資料與資料治理成為企業級資料湖的重要部分。
所謂中繼資料管理其實通俗來講就兩點:
(1)把各個元件(一般是存儲)的中繼資料收集起來統一管控
(2)利用這些收集的中繼資料去實作各種上層應用以滿足各種資料治理場景(數組資産目錄、資料分類、搜尋與血緣等等)
Atlas是什麼
Apache Atlas是Hadoop社群為解決Hadoop生态系統的中繼資料治理問題而産生的開源項目,它為Hadoop叢集提供了包括 資料分類、集中政策引擎、資料血緣、安全和生命周期管理在内的中繼資料治理核心能力。可以幫助企業建構其資料資産目錄,對這些資産進行分類和管理,并為資料分析師和資料治理團隊,提供圍繞這些資料資産的協作功能。
Atlas不盡緻力于管理共享中繼資料、資料分級、審計、安全性以及資料保護等方面,同時努力與Apache Ranger整合,用于資料權限控制政策。
Apache Atlas是hadoop的資料治理和中繼資料架構,它提供了一個可伸縮和可擴充的核心基礎資料治理服務集,使得 企業可以有效的和高效的滿足Hadoop中的合規性要求,并允許與整個企業的資料生态系統內建。
Atlas架構與原理
Atlas 是一個可伸縮且功能豐富的資料管理系統,深度內建了 Hadoop 大資料元件。簡單了解就是一個跟 Hadoop 關系緊密的,可以用來做中繼資料管理的一個系統,整個結構 圖如下所示:
Atlas核心功能分層及說明
內建Hive
內建原理
驗證Hive中繼資料采集效果
(1)先檢視Atlas裡是否有Hive中繼資料
(2)進入Hive建立一個庫表
create database if not exists foo;
(3)再次進入Atlas檢視中繼資料
曆史中繼資料處理
在上線Atlas之前Hive可能運作很久了,是以曆史上的中繼資料無法觸發hook,是以需要一個工具來做初始化導入。
Apache Atlas提供了一個指令行腳本 import-hive.sh ,用于将Apache Hive資料庫和表的中繼資料導入Apache Atlas。該腳本可用于使用Apache Hive中的資料庫/表初始化Apache Atlas。此腳本支援導入特定表的中繼資料,特定資料庫中的表或所有資料庫和表。
導入工具調用的是對應的Bridge:org.apache.atlas.hive.bridge.HiveMetaStoreBridge執行導入腳本任意找一台安裝過Atlas client的節點,執行如下指令:
注意:一定要進入atlas使用者,因為Atlas的Linux管理賬戶是atlas,其他賬戶下可能會報沒有權限的錯誤。
腳本執行過程中會要求輸入Atlas的管理者賬号/密碼(admin/admin%123),看到如下資訊就成功了: