品質規則模板常用於抽象品質規則配置中邏輯一致或相似的邏輯,可以提升後續配置品質監控規則的效率。Dataphin內建支援20+品質規則模板,並支援通過自訂SQL的方式靈活拓展,以滿足企業的品質監控訴求。本文為您介紹如何建立品質規則模板。
許可權說明
超級管理員、品質管理員支援建立、複製、編輯及刪除規則模板。
所有使用者支援引用規則模板。
針對不同對象支援的操作許可權有所差異,詳情請參見規則模板操作許可權。
建立規則模板
在Dataphin首頁,在頂部功能表列中選擇治理 > 資料品質。
在左側導覽列選擇品質監控 > 規則模板,在規則模板頁面,單擊資料表頁簽,單擊建立規則模板按鈕。
在建立規則模板對話方塊中,配置參數。
參數
描述
基本資料
模板名稱
自訂規則模板名稱,不能超過64個字元。
模板類型
配置模板所屬的類型,便於後續引用時快速尋找。支援自訂規則模板的類型包括:有效性、一致性、及時性和自訂SQL。
有效性包括資料標準碼錶參照對比(需開通資料標準模組)、碼錶參照對比、欄位格式校正、欄位範圍校正、欄位長度校正。
一致性包括單欄位商務邏輯一致性比較、兩表欄位統計值一致性比較、兩表欄位商務邏輯一致性比較、單表欄位統計值一致性比較、跨源兩表欄位統計值一致性比較。
及時性包括單表時間欄位比較、兩表時間欄位比較、時間函數比較。
自訂SQL包括自訂統計指標校正和自訂資料詳情校正。
不同類型模板的使用情境,請參見模板類型說明。
資料來源類型
模板需要指定支援的資料來源類型,避免不同資料來源文法結構不一致導致規則定義不生效或校正結果異常產生誤警示。支援定義2種類型:
通用:校正條件和具體的資料來源無關,所有類型均可以使用相同的校正語句,例如:完整性模板。
特定類型:規則定義僅對特定資料來源類型生效,需要選擇具體的資料來源類型。配置後僅支援在指定資料來源類型的監控對象下建立品質規則時引用當前定義的模板。
描述
自訂規則模板描述。不超過128個字元。
模板配置
一致性
當模板類型選擇為一致性時,不同模板所需填寫的模板配置參數不同,具體如下。
單表欄位商務邏輯一致性比較:
識別運算式:輸入SQL運算式函數。例如
${total_sales}=${unit_price}*${sales_volume}。說明識別運算式支援使用函數,但需要注意執行時的資料庫需要支援該函數。
支援多個欄位之間的商務邏輯的校正。如總銷售額=單價*銷售數量,校正總銷售額是否出錯可以用
${total_sales}=${unit_price}*${sales_volume}。運算式中的
${total_sales}等變數需要指定實際的表欄位,並在執行時會被替換為實際的表欄位。
兩表欄位統計值一致性比較/單表欄位統計值一致性比較:
統計方式:可統計欄位分組個數、欄位最大值、欄位重複率等,詳情請參見資料表參數配置。
兩表欄位商務邏輯一致性比較:
商務邏輯:輸入SQL運算式函數。例如
${T1.total_sales}=${T2.unit_price}*${T2.sales_volume}。說明支援多個欄位之間的商務邏輯的校正。如總銷售額=單價*銷售數量,校正總銷售額是否出錯可以用
${T1.total_sales}=${T2.unit_price}*${T2.sales_volume}。運算式中的
${T1.total_sales}等變數需要指定實際的表欄位,並在執行時會被替換為實際的表欄位,最多支援雙表。
跨源兩表欄位統計值一致性比較:
統計方式:可統計欄位分組個數、欄位最大值、欄位重複率等,詳情請參見資料表參數配置。
資料來源類型:選擇該物理表的資料來源類型,包括MaxCompute、MySQL、Oracle、Microsoft SQL Server、PostgreSQL、SAP HANA、AnalyticDB for PostgreSQL、ClickHouse、IBM DB2、Hologres、DM(達夢)、StarRocks、Hive、ArgoDB、Lindorm。
資料來源:選擇該物理表所屬的資料來源。
選擇比較表:選擇物理表中需要比較的表及該物理表需要比較的欄位。
有效性
當模板類型選擇為有效性時,不同模板所需填寫的模板配置參數不同,具體如下。
資料標準碼錶參照對比(需開通資料標準模組):
碼錶:選擇在資料標準下發行狀態的碼錶,如需建立碼錶,請參見建立和管理標準代碼(碼錶)。
碼錶參照:根據此處選擇的參照值和欄位值進行比較,可選代碼值、代碼名稱、代碼英文名。
碼錶參照對比:
資料來源類型:選擇資料來源類型。
資料來源:選擇對應資料來源類型的資料來源。
說明為了效能考慮,跨資料來源最多隻會讀取1000條碼錶資料進行對比,建議碼錶和被檢驗表在同一資料來源。
跨資料來源對比欄位會被自動轉換為string類型, 部分特殊欄位類型可能會出現異常情況。建議碼錶中的欄位類型和校正欄位類型都是string或其他相同類型。
碼錶:選擇目標碼錶。
碼錶名稱:輸入碼錶名稱,作為品質規則配置時的提示資訊。
碼錶參照欄位:選擇碼錶中對應的參照欄位。
說明碼錶參照表是判斷某個欄位是否在碼錶中,需要選擇一個對比的欄位。例如判斷使用者詳情表裡的使用者ID是否都是註冊使用者。
碼錶過濾條件:設定分區表的過濾條件,對資料進行過濾。
欄位格式校正:
內容識別形式:可選擇識別運算式、Regex、字串匹配(%)、開頭是、中間是、結尾是,運算式用於匹配符合規則的資料。
內容識別形式-識別運算式:輸入SQL運算式函數。例如
${column}>0,其中${column}為內建參數。內容識別形式-Regex:在輸入框中輸入Regex。例如您需要匹配所有名稱中帶有test,則Regex定義為
.*test.*。內容識別形式-字串匹配(%):標準的like運算式,使用%代表萬用字元,如匹配a開頭的資料,輸入a%即可。
內容識別形式-開頭是:輸入待匹配字串,會自動按照模式在尾部拼接%,例如:a%。
內容識別形式-中間是:輸入待匹配字串,會自動按照模式在開頭和尾部拼接%,例如:%a%。
內容識別形式-結尾是:輸入待匹配字串,會自動按照模式在開頭拼接%,例如:%a。
說明識別運算式支援使用函數,但需要注意執行時的資料庫需要支援該函數。
欄位範圍校正:
範圍類型:根據實際業務選擇。
文本:用於對文本有效性進行驗證,需要確保校正欄位為文本類型。需設定範圍範圍,支援枚舉或區間設定。選擇枚舉值的校正樣本:對比張三和李四,產生的校正SQL為
x in ("張三", "李四")。數值:用於對數值有效性進行驗證,需要確保校正欄位為數實值型別。需要設定範圍範圍,支援枚舉或區間設定。選擇枚舉值的校正樣本:對比3、6、9,產生的校正SQL為
x in (3, 6, 9)。日期:用於對日期有效性進行驗證,需要確保校正欄位為日期類型(date)。
時間戳記:用於對時間戳記有效性進行驗證,需要確保校正欄位為時間戳記類型(timestamp)。
自訂:用於對多種格式進行校正,同時支援使用函數,填寫的內容會直接下發到資料來源執行。
需設定範圍範圍,支援枚舉或區間設定。
選擇枚舉值的校正樣本:對比3、6、9產生的校正SQL為
x in (3, 6, 9)。選擇區間設定的校正樣本:範圍範圍為最小值y1~最大值y2;假設被對比欄位是x,則最後校正SQL為
x >= y1 and x <= y2。說明自訂時的欄位格式,例如10和"10"在不同資料來源中執行結果可能不同。
需要保證所使用函數在校正品質的資料來源有效。
欄位長度校正:
欄位長度:設定長度範圍。支援枚舉或區間設定。
選擇枚舉值的校正樣本:對比3、6、9產生的校正SQL為
x in (3, 6, 9)。選擇區間設定的校正樣本:範圍範圍為最小值y1~最大值y2;假設被對比欄位是x,則最後校正SQL為
x >= y1 and x <= y2。
及時性
當模板類型選擇為及時性-單表時間欄位比較、及時性-兩表時間欄位比較、及時性-時間函數比較時,對應的參數如下所示。
校正項:基於校正欄位定義運算式。校正項的內建參數為
${column})。比較項:比較時間的運算式,內建
${column}、${bizdate}參數。基於比較欄位定義運算式,
${column}為比較項內建參數,例如:${column}、substr(${column})。日期函數比較選擇
${bizdate},則會被識別為業務日期。
時間容差:設定校正項減去比較項的值。取單位項小數點前的值,不做四捨五入。例如發貨日期和下單日期需要在同一天,則校正項 - 比較專案可設定為小於1天。
自訂SQL
當模板類型選擇為自訂SQL時,不同模板所需填寫的模板配置參數不同,具體如下。
自訂統計指標校正:即自訂需要校正的指標加工口徑,結果需是數值,如:校正當日銷售額。
自訂SQL:自訂SQL指標的統計邏輯,程式碼範例如下:
單表查詢
select sum(${t1.c1}) from ${t1} where ds=${bizdate};子查詢
select sum(${t1.c1}) from (select ${t1.c1} from ${t1} where ds=${bizdate}) a;多表查詢
select sum(${t1.c1}) from ${t1} join ${t2} on $[t1.id]=$[t2.id] where $[t1.ds]=${bizdate};
自訂資料詳情校正:通過自訂SQL指定正常、異常資料內容的定義口徑,可配置總行數SQL、異常行數SQL、異常資料SQL。
總行數SQL:必填,定義總行數指標的SQL統計邏輯,結果需是數值,填寫後可以配置正常率、異常率等統計指標。總行數程式碼範例如下:
select count(*) from ${t1} where ds=${bizdate};異常行數SQL:必填,定義異常行數指標的SQL統計邏輯,結果需是數值,且需有異常資料的判斷條件,填寫後可以對異常行數進行統計;填寫總條數後同時可以統計異常率。異常行數程式碼範例如下:
select count(*) from ${t1} where ds=${bizdate} and ${t1.c1}<0;異常資料SQL:選填,定義異常資料指標的SQL統計邏輯(單個欄位),填寫後支援使用異常歸檔功能。異常資料程式碼範例如下:
select ${t1.c1} as dataphin_quality_error_data from ${t1} where ds=${bizdate} and ${t1.c1}<0;
解析變數:單擊解析變數按鈕,系統將對自訂SQL的變數欄位進行解析,並可以為變數欄位添加展示名和說明,支援最多輸入128個字元。
變數說明將作為品質規則配置時變數名旁邊的提示說明,便於填寫變數值。變數t1預設為當前校正表,不進行解析。
說明SQL支援多表查詢及子查詢。
支援固定的表名和欄位名;Dataphin表支援使用專案名引用物理表或使用板塊名引用邏輯表。
支援使用變數代替表名或欄位名。
指定表:單擊編輯框中的填入表名1,快捷輸入表名變數
${t1}-${t5}。最多指定5張資料表,不區分大小寫。指定某張表的欄位:單擊編輯框中的僅填入表1的欄位名1,快捷輸入該表的欄位名變數
${t1.c1}。指定表+欄位:單擊編輯框中的填入表名1+欄位名1,快捷輸入表名+欄位名變數
$[t1.c1]。
僅支援上述變數寫法,其他變數形式將統一被解析為校正表的欄位變數,如${t6}、${table1}、${a.b}等,請避免使用其他Variant 運算式。
參數配置
填寫品質規則的set參數,不超過1024個字元。例如:
set hive.execution.engine=mr。說明參數設定僅針對MaxCompute、Hive類型資料表的品質規則生效,其他類型的資料表引用該模板配置品質規則時會忽略該參數配置。
針對基於該模板建立的所有品質規則生效,您可以在預覽SQL中查看最終執行的SQL語句。
單擊預覽SQL,可查看規則模板的SQL預覽。
說明在模板中,若有較多配置欄位未填寫,可用變數形式表示,如:${table1}、${column1}。
單擊確定,完成模板的建立。
查看規則模板列表

地區 | 描述 |
①篩選及搜尋區 | 您可以根據模板的名稱模糊搜尋,可以快捷篩選我負責的模板,也可以根據模板類型、模板來源、資料來源類型、模板負責人進行精確篩選。 |
②列表區 | 為您展示規則模板的名稱、模板描述、模板類型、模板來源、模板負責人、更新時間、資料來源類型資訊。同時,不同類型的模板支援不同的操作。 自訂模板(Dataphin資料表、全域資料表):支援查看引用、編輯、添加品質規則、查看模板詳情、複製、轉交、刪除操作。 系統模板(Dataphin資料表、全域資料表、指標):查看引用、編輯模板參數、添加品質規則操作。 系統模板(資料來源、即時元表):支援查看引用、添加品質規則操作。
|
後續步驟
完成規則模板建立後,您可根據規則模板配置品質規則。更多資訊,請參見建立品質規則。