大數據:元數據(Metadata)


一、元數據概述

 1、元數據定義

  • 元數據:按傳統的定義,元數據就是關於數據的數據;

 

  • 元數據的用途:
    • 打通源數據、數據倉庫、數據應用,記錄數據從產生到消亡的全過程;
      • 主要記錄:數據倉庫中模型的定義各層級間的映射關系、監控數據倉庫中的數據狀態、監控 ETL 的任務的運行狀態;
      • 在數據倉庫系統中,元數據可以幫助數據倉庫管理員和開發人員,非常方便的  到他們所關系的數據,用於指導其進行數據管理和開發,提供工作效率;

 

  • 將元數據按用途的不同分為兩類:
    1. 技術元數據(Technical Metadata);
    2. 業務元數據(Business Metadata);

 1/1)技術元數據

  • 作用 / 用途:存儲關於數據倉庫系統技術細節的數據,用於開發和管理數據倉庫
  • 例:阿里常見的技術元數據:
  1. 分布式計算系統的存儲元數據
    • 如,MaxCompute 表、列、分區等:
      1. 記錄了表的表名、分區信息、負責人信息、文件大小、表類型,生命周期;
      2. 列的字段名、字段類型、字段備注、是否是分區字段等;
  2. 分布式計算系統的運行元數據
    • 如,MaxCompute 上所有作業運行等信息;
      • 類似於 Hive 的 Job 日志,包括作業類型、實例名稱、輸入輸出、SQL、運行參數、執行時間、最細粒度的 Fuxi Instance(MaxCompute 中 MR執行的最小單元)執行信息等;
  3. 數據開發平台中,數據同步、計算任務、任務調度等信息
    • 數據同步信息:數據同步的輸入輸出表和字段、同步任務本身的節點信息;
    • 任務調度信息:任務的依賴類型、依賴關系等,以及不同類型調度任務的運行日志等;
    • 計算任務信息:輸入輸出、任務本身的節點信息;
  4. 與數據質量和運維相關的元數據
    • 如任務監控、運維報警、數據質量、故障等信息,包括任務監控運行日志、告警配置及運行日志、故障信息等;

 

 1/2)業務元數據

  • 作業 / 用途:從業務角度描述了數據倉庫中的數據,提供了介於使用者和實際系統之間的語義層,使得不懂計算機技術的業務人員也能夠 “讀懂” 數據倉庫中的數據;
  • 阿里常見的業務元數據:
    1. OneData 元數據
      • 如,維度及屬性、業務過程、指標等的規范化定義,用於更好的管理和使用數據;
    2. 數據應用元數據
      • 如,數據報表、數據產品等的配置和運行元數據;

 

2、元數據的價值

  • 元數據最重要的應用價值,是數據管理、數據內容、數據應用的基礎;
  1. 數據管理方面
    • 為集團數據提供在計算、存儲、成本、質量、安全、模型等治理領域上的數據支持;
      • 如,在計算上可以利用元數據查找超長運行節點,對這些節點進行專項治理,保障基線產出時間;
  2. 數據內容方面
    • 為集團數據進行數據域、數據主題、業務屬性等的提取和分析,提供數據材料;
      • 如,可以利用元數據構建知識圖譜,給數據打標簽,清楚的知道現在有哪些數據;
  3. 數據應用方面
    • 打通了產品及應用鏈路,保障產品數據准確、及時產出;
      • 如,打通 MaxCompute 和應用數據,明確數據資產等級,更有效的保障產品數據;

 

3、統一元數據體系建設

  • 元數據建設的目標
    • 打通數據接入到加工,再到數據消費的整個鏈路,規范元數據體系與模型,提供統一的元數據服務出口,保障元數據產出的穩定性和質量;

 

  • 元數據體系建設的思路:(以阿里元數據體系  OneMata  為例)

  1. 首先梳理清楚元數據底層數據

    1. 對元數據做分類,較少數據重復建設,保障數據的唯一性;
      • 分類:計算元數據、存儲元數據、質量元數據、模型元數據、成本管理元數據等;
    2. 豐富表和字段使用說明,方便使用和理解;
  2. 根據元倉底層數據構建元倉中間層

    1. 依據 OneData 規范,建設元數據基礎寬表,也就是元數據中間層,打通從數據產生到消費的整個鏈路,不斷豐富中間層數據;
      • 如,MaxCompute 元數據、調度元數據、同步元數據、產品訪問元數據、服務器元數據、應用注冊元數據等;
    2. 基於元數據中間層,對外提供標准統一的元數據服務出口,保障元數據產出的質量;
  3. 應用

    1. 豐富的元數據中間層,能夠為集團數據提供在計算、存儲、成本、質量、安全、模型等治理領域上的數據支持,形成一套完整的 ROI 數據體系;
    2. 豐富的元數據中間層,還能為為集團數據進行數據內容、數據域、數據主題、業務屬性等的提取和分析提供了數據素材;

 

 

二、元數據應用

  • 數據的真正價值在於,數據驅動決策,通過數據指導運營;
    • 數據化運營:通過數據驅動的方法,判斷趨勢,從而展開有效行動,幫助發現問題,推動創新或解決方案的產生;
  • 元數據應用示例:

    1. 對於數據使用者,可以通過元數據指導其快速找到所需要的數據;
    2. 對於 ETL 工程師,可以通過元數據指導其進行模型設計、任務優化、任務下線等各種日常 ETL 工作;
    3. 對於運維工程師,可以通過元數據指導其進行整個集群的存儲、計算、系統優化等運維工作;

 

1、Data Profile

  • 核心思路為紛繁復雜的數據,建立一個脈絡清晰的血緣圖譜
  • 主要功能:通過圖計算、標簽傳播算法等技術,系統化、自動化的對計算與存儲平台上的數據,進行打標、整理、歸檔
    • 形象的說,Data Profile 實際承擔的是為元數據 “畫像” 的任務;

 

  • Data Profile 共有四類標簽:

    • 思路:數據之間的個性化,除了應用場景的不同之外,實際上在數據研發流程、保障登記、數據質量要求、安全等級、運維策略、警告設置上都會有差異;
    • 作用:節約研發人員的時間成本,同時對阿里內部的非研發人員來說,也可以更直觀的理解數據、利用數據,從而提升數據的研發效率;
    • 根據這種差異化,Data Profile 開發了四類標簽:
      1. 基礎標簽:針對數據的存儲情況、訪問情況、安全等級等進行打標;
      2. 數倉標簽:針對數據是增量還是全量、是否可再生、數據的生命周期來進行標簽化處理;
      3. 業務標簽:根據數據歸屬的主題域、產品線、業務類型,為數據打上不同的標簽;
      4. 潛在標簽:主要為了說明數據潛在的應用場景,如,社交、媒體、廣告、電商、金融等;

 

 

2、元數據門戶

  • 主要功能:數據搜索和數據管理;
  • 功能模塊:“前台”、“后台”;
  1. “前台” 產品數據地圖

    • 功能:定位消費市場,實現檢索數據、理解數據等 “找數據” 的需求;
    • 數據地圖
      • 服務對象:圍繞數據搜索,服務於數據分析、數據開發、數據挖掘、算法工程師、數據運營等,數據表的使用者和擁有者;
      • 服務內容:提供方便快捷的數據搜索服務,擁有功能強大的血緣信息及影響分析,利用表使用說明、評價反饋、表收藏級精品表機制,為用戶浮現高質量、高保障的目標數據;
        1. 如,在數據分析前,使用數據地圖進行關鍵詞搜索,幫助快速縮小范圍,找到對應的數據;
        2. 如,使用數據地圖根據表名直接查看表詳情,快速查閱明細信息,掌握使用規則;
        3. 如,通過數據地圖的血緣分析,可以查看每個數據表的來源、去向,並查看每個表及字段的加工邏輯;
  2. “后台” 產品數據管理

    • 功能:定位於一站式數據管理,實現成本管理、安全管理、質量管理等;
    • 數據管理平台:
      • 服務對象及內容:個人開發者、BU 管理者、系統管理員等用戶,提供個人和 BU 全局資產管理、成本管理、質量管理等;
        1. 針對個人開發者,主要包括計算費用和健康分管理、存儲費用和健康分管理,並提供優化建議和優化接口;
        2. 針對 BU 管理者和管理員,主要提供 BU、應用、集群等全局資產消耗概覽、分析和預測;

 

3、應用鏈路分析

  • 思路 / 功能
    • 配置數據間的 “血緣關系”,用戶可以通過元數據血緣,分析產品及應用的鏈路;通過血緣鏈路可以清楚的統計到某個產品所用到的數據在計算、存儲、質量上存在哪些問題;通過治理優化保障產品數據的穩定性;

 

  • 實例:業務需求
    • 對於某個數據計算任務或表,其重要程度如何?是否還有下游在使用?是否可以下線?
    • 阿里的很多數據產品,都依賴哪些 MaxCompute 表?對這些 MaxCompute 表是否需要根據應用的重要程度進行資源、運維保障?
  • 解決思路:
    • 通過元數據血緣來分析產品及應用的鏈路,通過血緣鏈路可以清楚的統計到某個產品所用到的數據在計算、存儲、質量上存在哪些問題,通過治理優化保障產品數據的穩定性;
  • 通過應用鏈路分析,產出 3 中血緣類型:表級血緣、字段血緣、表的應用血緣

 

  • 表級血緣主要有 2 中計算方式:

    1. 通過 MaxCompute 任務日志進行解析;
    2. 根據任務依賴進行解析;

 

  • 表的應用血緣解析:

    • 難點最大;
    • 按照應用和物理表的配置關系,可以分為配置型和無配置型:
      1. 配置型:

        • 如,對於數據報表、集市等應用,其數據源直接或間接使用 MaxCompute 數據,且有元數據配置依賴關系,通過配置元數據,可以獲取 MaxCompute 物理表、具體的報表、集市等應用的血緣關系;
        • 問題案例:對於生意參謀等數據產品,其數據源通過數據同步方式同步到 MySQL、HBase 等數據庫,間接使用 MaxCompute 數據,且無配置產品和 MySQL、HBase 等物流數據源的依賴關系,導致無法通過配置源數據解析 MaxCompute 數據和數據產品的關系;
        • 解決方案:主要通過統一的應用日志打點 SDK 來解決此類問題,可以做到配置化、應用無痕化;
      2. 無配置型:

        • 常見的應用鏈路分析應用:主要有影響分析、重要性分析、下線分析、鏈路分析、尋根溯源、故障排查等;

 

4、數據建模

  • 思路 / 業務場景:基於現有底層數據已經有下游使用的情況,可以通過下游使用的元數據指導數據參考模型;
    • 通過元數據驅動的數據倉庫模型建設,提高了數據倉庫建模的數據化指導,提升建模效率;
    • 下游使用情況:指查詢、關聯、聚合、過濾等操作;
      • 記錄下游使用情況的數據,就是輔助建設模型的元數據;
    • 操作:設置閾值,記錄下游對數據的使用情況,使用次數超過閾值的情況,將被用來參考建模;

 

 

  • 數據倉庫建模所使用的元數據:

    • 其中,查詢值 SQL 的 SELECT,關聯指 SQL 的 JOIN,聚合指 SQL 的 GROUP BY,過濾指 SQL 的 WHERE

    1. 表的基礎元數據
      • 包括下游情況、查詢次數、關聯次數、聚合次數、產出時間等;
    2. 表的關聯關系元數據
      • 包括關聯表、關聯類型、關聯字段、關聯次數等;
    3. 表的字段的基礎元數據
      • 包括字段名稱、字段注釋、查詢次數、關聯次數、聚合次數、過濾次數等;

 

  • 在星形模型設計過程中,可能類似於如下使用元數據:

    1. 基於下游使用中關聯次數大於某個閾值的表,或查詢次數大於某個閾值的表等元數據信息,篩選用於數據模型建設的表;
    2. 基於表的字段元數據,如,字段中的時間字段、字段在下游使用中的過濾次數等,選擇業務過程標識字段;
    3. 基於主從表的關聯關系、關聯次數,確定和主表關聯的從表;
    4. 基於主從表的字段使用情況,如,字段的查詢次數、過濾次數、關聯次數、聚合次數等,確定哪些字段進入目標模型;

 

5、驅動 ETL 開發

  • 思路:通過元數據,指導 ETL 工作,提高 ETL 的效率;
  • 實例場景:

    1. 通過 Data Profile 得到數據的下游任務依賴情況、最近被讀寫次數、數據是否可再生、每天消耗的存儲計算等,通過這些信息判斷數據是否可以下線;
    2. 如果根據一些規則判斷數據可以下線,則會通過 OneClick 觸發一個數據下線的工作任務流,數據 Owner 可能只需要點擊提交按鈕,刪除數據、刪除元數據、下線調度任務、下線 DQC 監控等一些列的操作就會自動在后台執行完成;

 


免責聲明!

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



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