規范性 |
命名規范檢查(表、視圖、工作流、字段) |
是否符合MaxCompute數倉建設規范管理指南中命名規范的表命名規范。
|
|
代碼格式和注釋規范性 |
是否符合MaxCompute數倉建設規范管理指南中的編碼規范。
|
|
表引用規范性 |
數據不允許跨層引用。 |
|
表更新策略規范 |
建議臨時表均為非分區表,正式表均為分區表。 |
|
是否支持重跑 |
代碼必須支持重跑。 |
|
源數據質量 |
非空值檢查 |
檢查所用字段是否存在空值,以及代碼對空值處理的策略是否正確。 |
|
字段枚舉值檢查 |
字段的枚舉值是否都在代碼考慮范圍內,是否有可能會出現新值。 |
|
主鍵檢查 |
物理主鍵或邏輯主鍵是否成立。 |
|
數據完整性檢查 |
代碼中引用的數據能否支撐實際需求。 |
|
字段間邏輯檢查 |
字段間的業務邏輯關系是否在數據上成立,例如余額=總的發放-總的回收。 |
|
代碼質量/BUG檢查 |
歷史拉鏈表檢查斷鏈/交叉鏈 |
使用標準SQL進行檢驗。 |
|
數據傾斜檢查 |
是否存在傾斜的情況,是否有大表join小表未用mapjoin等。 |
|
表分區選擇檢查 |
代碼對表分區的選擇是否正確。 |
|
關聯條件檢查 |
關聯條件是否正確,是否會產生意料外的結果,例如多對多關聯、笛卡爾積。 |
|
字段類型檢查 |
字段類型是否正確,例如:金額字段必須為X數據類型,編號字段必須為X數據類型。 |
|
執行效率檢查 |
單條SQL執行時間不超過30分鐘,單個腳本執行時間不超過60分鐘。 |
|
數倉特殊需求 |
臟數據檢查 |
檢查是否有臟數據。 |
|
增量/全量數據抽取規范 |
抽取時間大于X分鐘的,則考慮更改為增量抽取。 |
|
數倉抽取時間點檢查 |
數倉抽取時業務系統是否ready,抽取的數據是否完整。 |
|
指標特性檢查 |
細分指標趨勢檢查 |
例如會員拉鏈表記錄數相比前一天必須是正增長、當日累計值-上日累計值必須大于0。 |
|
不同粒度數據轉換正確性 |
例如細粒度向粗粒度匯總,通常使用最大/最高/最小/最低等過濾條件,如:支用層逾期天數轉換到客戶層指標(最高逾期天數)。最高逾期天數 = Max(支用層逾期天數)。 |
|
值域范圍檢查 |
檢查字段值的范圍是否正確,如:金額>=0,比率<=1,天數<=業務起始日期至今,還款日期>=放款日期。 |
|
代碼值分布檢查 |
從業務邏輯考量字段值的分布情況是否合理。 |
|
可累加值與不可累加值檢查 |
檢查可累加值和不可累加值的處理邏輯正確性,如:計算客戶數總計時需要做去重處理,金額則可以累加。 |
|