天天看點

資料治理(五):中繼資料管理

作者:Lansonli

#頭條創作挑戰賽#

中繼資料管理

一、大資料中為什麼要中繼資料管理

中繼資料(Metadata),通常的定義為"描述資料的資料"。中繼資料打通了源資料、資料倉庫、資料應用,記錄了資料從産生到消費的全過程。中繼資料管理是資料治理的核心。

資料的真正價值在于資料驅動決策,通過資料指導營運。通過資料驅動的方法判斷趨勢,幫住我們發現問題,繼而推動創新或産生新的解決方案。随着企業資料爆發式增長,資料體量越來越難以估量,我們很難說清楚我們到底擁有哪些資料,這些資料從哪裡來,到哪裡去,發生了什麼變化,應該如何使用它們。是以資料治理中的中繼資料管理成為企業級不可或缺的重要組成部分。中繼資料治理可以提供資料源管理、分析資料血緣關系、分析資料影響等,實作對複雜的資料環境監控管理,為企業提供安全可信的資料,為資料倉庫的運作與維護提供有效支撐。

簡單來說,資料是公司中非常有價值的資産,這些資料包含各種資料源,各種業務,各種處理層次,對于這些資産需要有序、高效、統一的管理,這就需要一個中繼資料管理系統,中繼資料管理是資料治理中非常重要的一個核心,中繼資料的一緻性、可追溯性是實作資料治理非常重要的一個環節。

二、中繼資料管理工具-Atlas

在大資料時代,目前最成熟的與 Hadoop 體系相容比較好的中繼資料治理平台就是 Apache Atlas。為尋求資料治理的開源解決方案,2015 年,Hortonworks 公司聯合其他廠商與使用者于發起資料治理倡議,然後,包含資料分類(資産目錄及資料字典)、集中政策引擎、資料血緣、安全和生命周期管理功能的 Atlas 應運而生。

Apache Atlas 是一個可伸縮和可擴充的核心基礎治理服務集合,使企業能夠有效地和高效地滿足 Hadoop 中的合規性要求,并允許與整個企業資料生态系統的內建。為組織提供開放式中繼資料管理和治理功能,用以建構其資料資産目錄,對這些資産進行分類和管理,并為資料科學家,資料分析師和資料治理團隊提供圍繞這些資料資産的協作功能。

Atlas 官網位址:Apache Atlas – Data Governance and Metadata framework for Hadoop

三、Atlas 架構原理

關于 Atlas 的架構原理,我們隻需要了解由哪些部分組成即可,Atlas 的架構核心元件如下:

資料治理(五):中繼資料管理
  • Metadata Sources:
  • Atlas 支援與許多中繼資料源的內建,将來還會添加更多內建。目前,Atlas 支援從 Hive、Sqoop、Storm、HBase 擷取和管理中繼資料。
  • Integration:
  • 使用者可以使用兩種方法管理 Atlas 中的中繼資料:
  • API:Atlas 的所有功能都可以通過 REST API 提供給最終使用者,允許建立,更新和删除類型和實體。它也是查詢和發現通過 Atlas 管理的類型和實體的主要方法。
  • Messaging:除了 API 之外,使用者還可以選擇使用基于 Kafka 的消息接口與 Atlas 內建。這對于将中繼資料對象傳輸到 Atlas 以及從 Atlas 使用可以建構應用程式的中繼資料更改事件都非常有用。如果希望使用與 Atlas 更松散耦合的內建,這可以允許更好的可擴充性,可靠性等,消息傳遞接口是特别有用的。
  • Apps:
  • Ranger Tag Based Policies: Apache Ranger 是針對 Hadoop 生态系統的進階安全管了解決方案,與各種 Hadoop 元件具有廣泛的內建。通過與 Atlas 內建,Ranger 允許安全管理者定義中繼資料驅動的安全政策,以實作有效的治理。
  • Atlas Admin UI: 該元件是一個基于 Web 的應用程式,允許我們發現和注釋中繼資料。Admin UI 提供了搜尋界面和 類 SQL 的查詢語言,可以用來查詢由 Atlas 管理的中繼資料類型和對象。Admin UI 使用 Atlas 的 REST API 來建構其功能。
  • Business Taxonomy:從中繼資料源擷取到 Atlas 的中繼資料對象主要是一種技術形式的中繼資料。為了增強可發現性和治理能力,Atlas 提供了一個業務分類界面,允許使用者首先定義一組代表其業務域的業務術語,并将其與 Atlas 管理的中繼資料實體相關聯。業務分類法是一種 Web 應用程式,目前是 Atlas Admin UI 的一部分,并且使用 REST API 與 Atlas 內建。
  • Core:
  • Atlas Core 包含以下幾個部分:
  • Ingest/Export:Ingest 元件允許将中繼資料添加到 Atlas。類似地,Export 元件暴露由 Atlas 檢測到的中繼資料更改,以作為事件引發,消費者可以使用這些更改事件來實時響應中繼資料更改。
  • Type System: Atlas 允許使用者為他們想要管理的中繼資料對象定義一個模型。該模型由稱為 "Type" 的定義組成。"類型" 的 執行個體被稱為 "實體" 表示被管理的實際中繼資料對象。類型系統是一個元件,允許使用者定義和管理類型和實體。由 Atlas 管理的所有中繼資料對象(例如 Hive 表)都使用類型進行模組化,并表示為實體。
  • Graph Engine:在内部,Atlas 通過使用圖模型管理中繼資料對象。以實作中繼資料對象之間的巨大靈活性和豐富的關系。圖引擎是負責在類型系統的類型和實體之間進行轉換的元件,以及基礎圖形模型。除了管理圖對象之外,圖引擎還為中繼資料對象建立适當的索引,以便有效地搜尋它們。
  • JanusGraph:目前,Atlas 使用 JanusGraph 圖資料庫來存儲中繼資料對象。 JanusGraph 使用兩個存儲:預設情況下中繼資料存儲配置為 HBase ,索引存儲配置為 Solr

四、Atlas 特性

1、中繼資料類型 & 執行個體

  • 各種 Hadoop 和非 Hadoop 中繼資料的預定義類型。
  • 能夠為要管理的中繼資料定義新類型。
  • 類型可以具有原始屬性,複雜屬性,對象引用;可以繼承其他類型。
  • 類型(type)執行個體(稱為實體 entities)捕獲中繼資料對象詳細資訊及其關系。
  • 可以更輕松地進行內建用于處理類型和執行個體的 REST API。

2、分類

  • 能夠動态建立分類 - 如 PII,EXPIRES_ON,DATA_QUALITY,SENSITIVE。
  • 分類可以包含屬性 - 例如 EXPIRES_ON 分類中的 expiry_date 屬性。
  • 實體(entities)可以與多個分類(classifications)相關聯,進而實作更輕松的發現和安全實施。
  • 通過血緣傳播分類 - 自動確定分類在進行各種處理時遵循資料。

3、血緣

  • 直覺的 UI,用于在資料流轉時,通過各種流程時檢視資料。
  • 用于通路和更新血緣的 REST API。

4、搜尋/發現

  • 直覺的 UI,按類型(type),分類(classification),屬性值(attribute)或自由文本搜尋實體。
  • 豐富的 REST API,可按複雜條件進行搜尋。
  • SQL 搜尋實體的查詢語言 - 域特定語言(DSL)。

5、安全和資料屏蔽

  • 用于中繼資料通路的細粒度安全性,實作對實體執行個體的通路控制以及添加/更新/删除分類等操作。
  • 與 Apache Ranger 內建可根據與 Apache Atlas 中的實體相關的分類對資料通路進行授權/資料屏蔽。例如:
  • 誰可以通路分類為 PII,SENSITIVE 的資料。
  • 客戶服務使用者隻能看到分類為 NATIONAL_ID 的列的最後 4 位數字。

繼續閱讀