從數據產品經理視角,聊聊數據處理

2 評論 11567 瀏覽 105 收藏 10 分鐘

數據處理是數據產品經理最為重要的一環,相比最后 報表展示、分析報告、數據驅動,這一環往往耗時長、體現價值低,卻牽一發而動全身。我們經常會聽到,同一個功能數據分析結果截然相反,追溯原因發現在數據處理過程中,存在錯誤等。

本篇文章將以數據產品的角度來看數據采集后數據流的處理過程;并講解一丟丟偏技術、但與數據產品產出息息相關的數據倉庫。

一. 數據處理過程

數據產品經理的工作中一大部分都是將不可估測的數據轉化為可見的報表、有結論意義的分析報告——也就是將數據從各種異構的數據源中、匯總,最終展示為報表、儀表盤、動態數據分析查詢、結論性的分析報告等等。

1. 有哪些異構數據源呢?

  • 服務端、客戶端用戶行為日志
  • 用戶的歷史信息,定性信息(e.g.性別,職業的用戶畫像數據),定量信息(e.g.近30天的某個興趣傾向程度)
  • 第三方等獲取的信息,e.g.爬蟲數據、人工整理的數據等等

2.?這信息大都需要二次加工、清洗,生成結構化的數據

  • 臟數據的清洗、整合,e.g.延遲數據的按照發生日歸納;
  • 生成基礎性的表,以提高數據的易用性,e.g.用戶基礎數據、行為數據的基礎表;
  • 生成可以直接應用于報表、分析的用戶&行為結構化業務應用表;

輕描淡寫的2個步驟,卻是影響報表展示、分析結論的關鍵點,也是數據產品經理最需要細心處理的地方。

二. 數據倉庫(Data Warehouse)

數據處理過程往往比較模糊,但“異構數據源->結構化的數據表->報表/分析報告”的過程中,我們常見的各種數據庫表就是數據倉庫的實體,如常見的hive,spark,Oracle等。那在數據產品經理日常數據處理中應該注意哪些數據倉庫知識點呢?

1. 數據倉庫分層

為什么要做分層呢?

  1. 更清晰的管理、追蹤數據(清洗的數據結構、明確的血緣關系):有助于我們去查找數據處理的整條鏈路;
  2. 通過建立通用的中間表,減少重復計算:一張通用的中間表,能夠有效提供能夠直接貢獻于下游業務數據表,以避免每次都從原數據中產出業務數據表;
  3. 清晰的數據倉庫分層,將能夠有助于我們分解數據處理過程:將復雜的數據->業務應用,拆解成多個步驟,每一層只處理單一的步驟;

數據分層具體是指?每一層應該注意什么呢?

操作數據層(ODS,Operational Data Store):該層級的數據,最接近數據源的原始面貌(內容和粒度與原始數據一致),通常是數據源直接經過ETL后,存儲于此。從原始數據到ODS層,不建議做復雜的數據清洗,以免破壞原始數據,引起不必要的排查成本。

建議僅進行——

  • 將json記錄的日志,映射到各字段中;
  • 作弊數據的清洗;
  • 數據轉碼:將編碼映射成具有真實含義的值
  • 數據標準化,e.g.把所有的日期都格式化成YYYY-MM-DD的格式;
  • 異常值修復,e.g.視頻播放表:(包含用戶id、視頻id、播主、播放時間等)。

如果一個表劃分為ODS層,那么一定要確認是否將原數據的有意義字段均清洗過來。

明細數據層(DWD,Data Warehouse Detail):對ODS層做一些業務層面的數據清洗和規范化的操作,e.g.用戶播放視頻的日志級表;

如果一個表劃分為DWD層,是否清晰、明確的記錄了業務層面的明細數據?

匯總數據層(DWS, Data Warehouse Summary):依據業務需求對ODS/DWD層的數據進行了匯總,e.g.帶有用戶畫像信息的播放視頻;

如果是DWS層的表,是否能夠有效、便利的服務于業務方向統計需求?

應用數據層(ADS,Application Data Store):業務需要進行的統計數據結果,e.g.各類型用戶的視頻播放統計。

如果是ADS層的表,是否能夠得到業務需要的統計數據?

維度表(DIM):存放基礎信息,如用戶屬性表-性別、年齡等等。

如果是DIM層的表,是否全面記錄了后續分析或統計需要用的各個維度?

除了固定為分層外,當然還有臨時表(TEM)。

阿里/華為的數據倉庫數據分級:操作數據層(ODS)、明細數據層(DWD)、匯總數據層(DWS)和應用數據層(ADS),維度表(DIM); 操作數據層、明細數據層、匯總數據層都是公共數據層。

此外,涉及表時,需要充分考慮這張表后續是哪個角色的同學使用,表是否足夠易用?是否內容冗余?是否安全?

  • 業務線的同學是否能夠通過幾條簡單的SQL語句,拿到數據結果?
  • 可以通過單張表格統計到數據還是需要多表關聯獲???
  • 單張表是不是內容冗余,是否會影響查詢效率?
  • 多表關聯時,是否會有業務理解上的坑,e.g.多表間的字段是一對一,一對多,還是多對多,如何讓使用者清晰的理解?
  • 表中是否涉及敏感的字段,比如金額等,使用群體是否有足夠的權限獲取這些信息?

2. 元數據管理

元數據及應用也是數據倉庫的重要組成部分,它是描述數據的數據(data about data),描述數據的屬性信息,可以幫助我們非常方便地找到他們所關心的數據。

元數據記錄了哪些信息?

  • 數據的表結構:字段信息、分區信息、索引信息等;
  • 數據的使用&權限:空間存儲、讀寫記錄、修改記錄、權限歸屬、審核記錄等其他信息;
  • 數據的血緣關系信息:血緣信息簡單的說就是數據的上下游關系,數據從哪里來到哪里去?我們通過血緣關系,可以了解到建立起生產這些數據的任務之間的依賴關系,進而輔助調度系統的工作調度,或者用來判斷一個失敗或錯誤的任務可能對哪些下游數據造成影響等等;而在數據排查過程中也可以幫助我們定位問題。
  • 數據的業務屬性信息:記錄這張表的業務用途,各個字段的具體統計口徑、業務描述、歷史變遷記錄、變遷原因等。
    這部分數據多是我們手動填寫,但卻能大大提升數據使用過程中的便利性。

3. 離線數據倉庫&實時數據倉庫

此外,根據數據實時性,數據倉庫可以分為離線數據倉庫、實時數據倉庫。

  • 離線數據倉庫主要記錄t-1以上的數據,以天、周、月數據計算為主;
  • 實時數據倉庫是隨著人們對實時數據展示、分析、算法的需求而出現的。

4. 總結

數據處理過程是數據產品經理 產出報表、分析報告耗時最久的部分,了解數據倉庫的概念&關鍵點,有助于我們清晰、有效的處理數據,提高工作效率,將更多的時間用于業務洞察。

相關數據產品文檔:

  1. 埋點技術
  2. 埋點通用的事件模型

 

本文由 @?cecil 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自 Pexels,基于 CC0 協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 大家期待已久的《數據產品經理實戰訓練營》終于在起點學院(人人都是產品經理旗下教育機構)上線啦!

    本課程非常適合新手數據產品經理,或者想要轉崗的產品經理、數據分析師、研發、產品運營等人群。

    課程會從基礎概念,到核心技能,再通過典型數據分析平臺的實戰,幫助大家構建完整的知識體系,掌握數據產品經理的基本功。

    學完后你會掌握怎么建指標體系、指標字典,如何設計數據埋點、保證數據質量,規劃大數據分析平臺等實際工作技能~

    現在就添加空空老師(微信id:anne012520),咨詢課程詳情并領取福利優惠吧!

    來自廣東 回復
  2. ??????

    回復