數據中台實戰之元數據


元數據

數據字典

  數據字典描述的是數據的結構信息

數據血緣

  數據血緣是指一個表是直接通過哪些表加工而來

數據特征

  而數據特征主要是指數據的屬性信息,比如儲存空間,訪問熱度,主題域

業界元數據中心產品

  開源的有Netflix的Metacat、Apache Atlas;
  商業化的產品有Cloudera Navigator。

Metacat

  多數據源集成型架構設計

 

 

 

 

 

 

  從上面Metacat的架構圖中,你可以看到,Metacat的設計非常巧妙,它並沒有單獨再保存一份元數據,而是采取直連數據源拉的方式,一方面它不存在保存兩份元數據一致性的問題,另一方面,這種架構設計很輕量化,每個數據源只要實現一個連接實現類即可,擴展成本很低。

Apache Atlas 實時數據血緣采集

血緣采集,一般可以通過三種方式:

  • 通過靜態解析SQL,獲得輸入表和輸出表;
  • 通過實時抓取正在執行的SQL,解析執行計划,獲取輸入表和輸出表;
  • 通過任務日志解析的方式,獲取執行后的SQL 輸入表和輸出表。

  第一種方式,面臨准確性的問題,因為任務沒有執行,這個SQL對不對都是一個問題。第三種方式,血緣雖然是執行后產生的,可以確保是准確的,但是時效性比較差,通常要分析大量的任務日志數據。所以第二種方式,我認為是比較理想的實現方式,而Atlas 就是這種實現。對於Hive 計算引擎,Atlas 通過Hook方式,實時地捕捉任務執行計划,獲取輸入表和輸出表,推送給Kafka,由一個Ingest 模塊負責將血緣寫入JanusGraph圖數據庫中。然后通過API的方式,基於圖查詢引擎,獲取血緣關系。對於Spark,Atlas 提供了Listener的實現方式,此外Sqoop、Flink 也有對應的實現方式。

元數據中心

 

總結   

  元數據中心設計上必須注意擴展性,能夠支持多個數據源,所以宜采用集成型的設計方式。數據血緣需要支持字段級別的血緣,否則會影響溯源的范圍和准確性。數據地圖提供了一站式的數據發現服務,解決了檢索數據,理解數據的“找數據的需求”。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM