天天看點

數倉建設

  1. 資料抽取
  2. 資料處理

           1). 資料清洗

    • 機關統一,比如金額機關統一為元
    • 字段類型統一
    • 注釋補全
    • 空值用預設值或者中位數填充
    • 時間字段格式統一,如2020-10-16,2020/10/16,20201016統一格式為2020-10-16
    • 過濾沒有意義的資料

         2). 資料模組化-次元模組化

               包含次元和名額,面向資料分析,最終目的是提高查詢效率。最常用的是星型模型。

    • 事實表

                   存儲有事實記錄的表,如使用者記錄,包含了引用的次元和業務過程的度量,事實表的記錄在不斷的動态增長,度量比如訂單總金額、差額、比率

    • 次元表

                    儲存了次元的屬性值,可以跟事實表做關聯,相當于将事實表中經常出現的屬性抽取、規範出來用一張表管理,比如地區、商品分類等。次元表可以為多                      個事實表重用,減少重複工作。

    • 星型模型

                    一個事實+多個次元表,事實表和次元表通過主外健關聯。事實表周一級次元。

    • 雪花模型

                   事實表周圍多級次元。

    • 模型 = 事實表 + 次元表

      Kimball:架構是自下向上,即從資料集市(主題劃分) -> 資料倉庫  -> 資料抽取,是以需求為導向的,一般 使用星型模型

      業務模型  領域模型  邏輯模型  實體模型

         3). 資料模組化-模組化原則

    •  高内聚和低輯合

                    将業務相近或者相關、粒度相同的資料設計為一個邏輯或者實體模型:将高機率同時通路的資料放一起,将低機率同時通路的資料分開存儲。

    • 核心模型與擴充模型分離

                   建立核心模型與擴充模型體系,核心模型包括的宇段支援常用的核心業務,擴充模型包括的字段支援個性化或少量應用的需要 ,不能讓擴充模型的宇段過                     度侵人核心模型,以免破壞核心模型的架構簡潔性與可維護性。

    • 公共處理邏輯下沉及單一

                   越是底層公用的處理邏輯越應該在資料排程依賴的底層進行封裝與實作,不要讓公用的處理邏輯暴露給應用層實作,不要讓公共邏輯多處同時存在。

    • 成本與性能平衡

                   适當的資料備援可換取查詢和重新整理性能,不宜過度備援與資料複制。

    • 資料可復原

                  不改變處理邏輯,不修改代碼的情況下重跑任務結果不變

    • 一緻性

                  字段命名及定義必須一緻

    • 命名清晰、可了解

                  表命名需清晰、一緻,表名需易于使用方了解

       4). 名額定義

    • 基礎名額

             主要是指不能再拆解的名額,通常表達業務實體原子量化屬性的且不可再分的概念集合,如訂單數。

            單個基礎名額詞根+修飾詞

    • 複合名額
              建立在基礎名額之上,通過一定運算規則形成的計算名額集合,如人均費用=總費用/人數。
    • 派生名額

             指的是基礎名額或複合名額與次元成員,統計屬性,管理屬性等相結合産生的名額,如最近7天醫生接單量=醫生在過去7天一共接到的訂單。

             多個基礎名額詞根+修飾詞

    • 需求分析調研(資料調研,需求調研,業務調研):明确口徑,評估排期,需求正規流程送出
    • 名額管理:完善名額命名規範,名額同名同義,名額與業務強相關,明确名額構成要素
    • 模型設計:完善開發流程規範,标準化業務調研,知識庫文檔集中管理,建立模型評審機制
    • ETL開發:ODS->DWD->DW->DWS->ADS
    • 資料驗證:制定資料測試标準
    • 任務排程:規範化排程參數配置
    • 上線管理
  1. 資料可視化