物理模型是指按照一定規則和方法,將邏輯模型中所定義的實體、屬性、屬性約束、關系等要素轉換為數據庫軟件所能夠識別的表關系圖(Table Relationship Diagram)的一種物理描述。
在關系建模中,您可以新建SDI層和DWI層兩個模型,模型最終是通過物理建模進行落地的。除了將邏輯模型轉換外為物理模型外,您也可以參考本章節直接新建一個物理模型。
本章節主要介紹以下內容:
- 物理模型設計時的考慮事項
- 新建物理模型
- 新建表并發布
物理模型設計時的考慮事項
- 物理模型要確保業務需求及業務規則所要求的功能得到滿足,性能得到保障。
- 物理模型要確保數據的一致性及數據的質量。
- 新業務或新功能增加時能夠以較少的改動或不改動就能夠滿足需求的擴展。
新建物理模型
1.在DataArts Studio控制臺首頁,選擇實例,點擊“進入控制臺”,選擇對應工作空間的“數據架構”模塊,進入數據架構頁面。

2.在數據架構控制臺,單擊左側導航樹中的“關系建模”。
3.在“關系建模”頁面,如果當前未創建過關系模型,系統會彈出“新建分層治理模型”提示框。如果不是首次創建,單擊加號按鈕新建模型。


4.在彈出窗口中配置如下參數,然后單擊“確定”。

下表為參數描述
| 參數名稱 | 說明 |
|---|---|
| 模型名稱 | 只能包含中文、英文字母、數字和下劃線。 |
| 數據連接類型 | 下拉選擇數據連接類型。 |
| 數倉分層 | 下拉選擇SDI或DWI分層。 SDI:Source Data Integration,又稱貼源數據層。SDI是源系統數據的簡單落地。 DWI:Data Warehouse Integration,又稱數據整合層。DWI整合多個源系統數據,對源系統進來的數據進行整合、清洗,并基于三范式進行關系建模。 |
| 描述 | 描述信息。支持的長度0~600字符。 |
新建表并發布
當您完成DLI/POSTGRESQL/DWS/MRS_HIVE類型的關系模型的創建之后,您就可以在關系模型中新建業務表。
1.在DataArts Studio數據架構控制臺,單擊左側導航欄的“關系建模”進入關系建模頁面。
2.選擇所需要建表的物理模型,單擊進入,然后單擊上方“新建”按鈕新建一個表。

3.在“新建表”頁面,根據頁面提示完成建表的配置。
1)填寫基本配置參數。

下表為基本配置
| 參數名稱 | 說明 |
|---|---|
| 所屬主題 | 單擊“選擇主題”選擇所屬的主題信息。 |
| 表名稱 | 表的名稱。只能包含中文、英文字母、數字、左右括號、中劃線和下劃線,且以中文或英文字母開頭。 |
| 表英文名稱 | 表的英文名稱。只能包含英文字母、數字、下劃線、$、{、},且不能以數字開頭。 |
| 數據連接類型 | - |
| 數據連接 | 選擇所需要的數據連接。同一個關系模型一般建議使用統一的數據連接。 如果您還未創建與數據源之間的數據連接,請前往DataArts Studio管理中心進行創建。 |
| 數據庫 | 選擇數據庫。 |
| 隊列 | DLI隊列。該參數僅DLI模型的表有效。 |
| Schema | DWS和POSTGRESQL的模式。該參數僅DWS和POSTGRESQL模型的表有效。 |
| 表類型 | DLI模型的表支持以下表類型: Managed:數據存儲位置為DLI的表。 External:數據存儲位置為OBS的表。當“表類型”設置為External時,需設置“OBS路徑””參數。OBS路徑格式如:/bucket_name/filepath。 DWS模型的表支持以下表類型: DWS_ROW:行存表。行存儲是指將表按行存儲到硬盤分區上。 DWS_COLUMN:列存表。列存儲是指將表按列存儲到硬盤分區上。 DWS_VIEW:視圖存表。視圖存儲是指將表按視圖存儲到硬盤分區上。 MRS_HIVE模型僅支持HIVE_TABLE。 |
| 數據格式 | 該參數僅DLI模型的表有效。DLI模型的表支持以下數據格式: Parquet:DLI支持讀取不壓縮、snappy壓縮、gzip壓縮的parquet數據。 CSV:DLI支持讀取不壓縮、gzip壓縮的csv數據。 ORC:DLI支持讀取不壓縮、snappy壓縮的orc數據。 JSON:DLI支持讀取不壓縮、gzip壓縮的json數據。 Carbon:DLI支持讀取不壓縮的carbon數據。 Avro:DLI支持讀取不壓縮的avro數據。 |
| 高級配置 | 設置自定義項,以對表進行描述。自定義項設置完成后僅可用于在表詳情中進行查看,無特殊需求時無需設置。 例如您需要標識該表的來源時,可以設置自定義項配置名為“來源”,值為對應的表來源信息。配置完成后可以在表詳情中查看該信息。 |
| 標簽 | 標簽是用戶自定義的標識,它可以幫助用戶對數據資產進行分類和搜索。添加標簽后,您就可以在DataArts Studio數據目錄模塊中通過標簽搜索相關的數據資產。 單擊 按鈕可以為表添加標簽,在彈出框中可以選擇一個或多個已有的標簽,或者輸入一個新的標簽名稱后按回車鍵。您也可以前往DataArts Studio數據目錄模塊的“標簽管理”頁面添加新的標簽,然后再返回此頁面,就可以在標簽的下拉列表中選擇新添加的標簽。 |
| 資產責任人 | 在下拉列表中選擇用戶,可以手動輸入名字或直接選擇已有的責任人。 |
| 描述 | 描述信息。支持的長度1~600字符。 |
2)在“表字段”頁面添加所需要的字段。

下表為表字段參數
| 參數名稱 | 說明 |
|---|---|
| 名稱 | 只能包含中文、英文字母、數字、左右括號、中劃線和下劃線,且以中文或英文字母開頭。 |
| 英文名稱 | 只能包含英文字母、數字、下劃線,且以英文字母開頭。 |
| 數據類型 | 設置字段的數據類型。如果在下拉列表中未找到所需要的數據類型,您可以參考管理配置中心章節中的“字段類型管理”添加數據類型。 |
| 數據標準 | 如果您已創建數據標準,單擊 按鈕可以選擇一個數據標準與字段相關聯。在“配置中心>功能配置”頁面中的“模型設計業務流程步驟>創建質量作業”勾選的情況下,將字段關聯數據標準后,表發布上線后,就會自動生成一個質量作業,每個關聯了數據標準的字段會生成一個質量規則,基于數據標準對字段進行質量監控,您可以前往DataArts Studio數據質量模塊的“質量作業”頁面進行查看。 如果您還未創建數據標準。 |
| 主鍵 | 選中時為主鍵。 |
| 分區 | 選中時為分區字段。 |
| 不為空 | 是否限制該字段不為空。 |
| 標簽 | 單擊 按鈕可以為表字段添加標簽。在彈出框中可以選擇一個或多個已有的標簽。如果尚未添加標簽,您也可以前往DataArts Studio數據目錄模塊的“標簽管理”頁面添加新的標簽。 在彈出框中,您也可以輸入一個新的標簽名稱然后按回車鍵。標簽名稱只能包含中文、英文字母、數字和下劃線,且不能以下劃線開頭。 |
| 描述 | 描述信息。 |
3)(可選)在“關系”頁面,單擊“新建”新建關系。
關系用于兩個父、子表(有時也稱為主、從表)之間的主外鍵關聯關系,即描述表與表是以何種形態關聯在一起,或者描述一個表本身的行為會對另外一個表產生何種影響。數據模型內表之間的關系尤為重要,必須要對其準確定義。否則,無法在數據模型中準確描述實際的業務規則,而且很大程度上破壞數據的一致性。
例如,對于根據3NF范式設計的“成績表”和“學生表”,成績表中的“學號”屬性為學生表的主鍵。則其關系為:
?子表:成績表
?子表字段FK:學號
?子對父:
?父表:學生表
?父表字段PK:學號
?父對子:

下表為新建關系參數說明
| 參數名稱 | 說明 |
|---|---|
| 名稱 | 通過名稱來描述該關系。 |
| 子表 | 單擊該字段可在下拉列表中選擇表。單擊 可設置當前表為子表。 例如,對于根據3NF范式設計的“成績表”和“學生表”,成績表中的“學號”屬性為學生表的主鍵。則子表應為“成績表”,對應父表應為“學生表”。 |
| 子表字段FK | 選擇子表的字段,FK表示外鍵Foreign Key。該子表的字段應為父表的外鍵。 例如,對于根據3NF范式設計的“成績表”和“學生表”,成績表中的“學號”屬性為學生表的主鍵。則此子表字段FK應為“成績表”的“學號”。 |
| 子對父 | :表示每條子表數據在父表中有且只有一條數據與之對應。 :表示每條子表數據在父表中最多有一條數據與之對應。 :表示每條子表數據在父表中可能有多條數據與之對應。 :表示每條子表數據在父表中至少有一條數據與之對應。 |
| 父對子 | :表示每條父表數據在子表中有且只有一條數據與之對應。 :表示每條父表數據在子表中最多有一條數據與之對應。 :表示每條父表數據在子表中可能有多條數據與之對應。 :表示每條父表數據在子表中至少有一條數據與之對應。 |
| 父表 | 選擇與所選子表對應的父表。 例如,對于根據3NF范式設計的“成績表”和“學生表”,成績表中的“學號”屬性為學生表的主鍵。則父表應為“學生表”,對應子表應為“成績表”。 |
| 父表字段PK | 選擇父表的字段,PK表示主鍵Primary Key。該父表的字段應為父表的主鍵。 例如,對于根據3NF范式設計的“成績表”和“學生表”,成績表中的“學號”屬性為學生表的主鍵。則此父表字段PK應為“學生表”的“學號”。 |
| 角色名稱 | 可以自定義一個角色名稱,用于標識該關系。 |
| 操作 | 單擊 可刪除一條關系。單擊 可編輯關系。 |
4)(可選)在“映射”頁面,單擊“新建”可以新建一個映射,通過新建映射設計當前表的數據來源。
?如果表中的字段數據來源于不同的關系模型,您需要創建多個映射。
當前支持表數據來源于不同連接類型的關系模型。在每個映射中,您只需要為來源于當前映射的字段設置源字段,其他字段可以不設置。
例如,假設當前表的前面5個字段和后5個字段數據來源于2個不同的模型,您可以新建如下兩個映射:
- map1 :設置“來源”為關系模型A的表table01,在“字段映射”中依次設置第1~5個字段的源字段為table01中含義相同的相應字段,后5個字段不用設置。
- map2 :設置“來源”為關系模型B的表table02,在“字段映射”中依次設置第6~10個字段的源字段為table02中含義相同的相應字段,前5個字段不用設置。
?如果表中的字段數據來源于同一個關系模型中的多個表,您可以新建一個映射。
在該映射的“源表”中,您可以將多個表設置Join,然后在“字段映射”區域依次為表中的字段設置源字段,所選擇的源字段應與表中的字段代表相同含義,一一對應。
例如,假設當前表的字段都來源于關系模型d1,第1個字段來源于表vendor,第2個字段來源于表payment_type,第3個字段來源于表rate,其余字段來源于dwd_taxi_trip_data。
您可以新建一個映射,如圖所示,設置表dwd_taxi_trip_data和vendor、payment_type、rate做Join,然后在字段映射中,依次設置源字段。
新建映射的參數說明,可以參考下表。

| 參數名稱 | 說明 |
|---|---|
| 映射名稱 | 只能包含中文、英文字母、數字和下劃線。 |
| 來源模型 | 在下拉列表中選擇一個已創建的關系模型。如果未創建關系模型,請參見物理模型設計進行創建。 |
| 源表 | 選擇數據來源的表,如果數據來源于一個模型中的多個表,可以單擊表名后的按鈕 為該表和其他表之間設置JOIN。1. 選擇一種“JOIN方式”,“JOIN方式”從左到右依次表示left JOIN、right JOIN、inner JOIN、outer JOIN。 2. 在“JOIN字段”中設置JOIN條件,JOIN條件一般選擇源表和JOIN表中含義相同的字段,單擊 或 按鈕增加或刪除JOIN條件。JOIN條件之間是and的關系。3. 單擊“確定”完成設置。 4. 設置JOIN后,如果想刪除JOIN表,單擊所需刪除的表名后的 按鈕就可以刪除該JOIN表。![]() |
| 字段映射 | 為來源于當前映射的字段,依次選擇一個含義相同的源字段。如果表字段來源于多個模型,您需要新建多個映射,每個映射中,您只需要為來源于當前映射的字段設置源字段,其他字段可以不設置。 |
在映射區域的右上角,單擊刪除按鈕,可以刪除指定的映射,單擊收起可以收起映射區域。
5)(可選)新建表的“表類型”為“DWS_VIEW”時,在“視圖定義”頁面,單擊“新建”可以新建一個視圖。

下表為視圖定義參數
| 參數名稱 | 說明 |
|---|---|
| 映射名稱 | 只能包含中文、英文字母、數字和下劃線。 |
| 源表 | 選擇數據來源的表,如果數據來源于一個模型中的多個表,可以單擊表名后的按鈕 為該表和其他表之間設置JOIN。1. 選擇一種“JOIN方式”,“JOIN方式”從左到右依次表示left JOIN、right JOIN、inner JOIN、outer JOIN。 2. 在“JOIN字段”中設置JOIN條件,JOIN條件一般選擇源表和JOIN表中含義相同的字段,單擊 或 按鈕增加或刪除JOIN條件。JOIN條件之間是and的關系。3. 單擊“確定”完成設置。 4. 設置JOIN后,如果想刪除JOIN表,單擊所需刪除的表名后的 按鈕就可以刪除該JOIN表。![]() |
| 字段映射 | 為來源于當前映射的字段,依次選擇一個含義相同的源字段。如果表字段來源于多個模型,您需要新建多個映射,每個映射中,您只需要為來源于當前映射的字段設置源字段,其他字段可以不設置。 |
在映射區域的右上角,單擊刪除按鈕,可以刪除指定的映射,單擊收起可以收起映射區域。
4.完成表的配置后,單擊“發布”,選擇審核人,再單擊“確認提交”提交審核。
5.等待審核人員審核。當審核人審批通過后,返回“關系建模”頁面可以查看表的“狀態”和“同步狀態”。
發布是一個異步操作,您可以單擊刷新按鈕刷新狀態。表發布并通過審核后,系統會依據“配置中心 > 功能配置”頁面中的“模型設計業務流程步驟”進行創建表、同步技術資產、同步業務資產等操作,在表的“同步狀態”一列中將顯示同步狀態。
- “同步狀態”若均顯示成功,則說明表發布成功。鼠標移至“同步狀態”中的圖標之上,若顯示“創建表: 創建成功”說明該表在對應的數據源下已經創建成功。
- “同步狀態”若顯示某一項或某幾項失敗,可以先刷新狀態。如果仍失敗,可以單擊“更多 > 發布歷史”,然后進入“發布日志”頁簽查看日志。
請根據錯誤日志定位失敗原因,問題解決后,再單擊“發布日志”頁面中的“重新同步”再次下發同步命令。如果仍同步失敗,請聯系技術支持人員協助解決。
按鈕可以為表添加標簽,在彈出框中可以選擇一個或多個已有的標簽,或者輸入一個新的標簽名稱后按回車鍵。您也可以前往DataArts Studio數據目錄模塊的“標簽管理”頁面添加新的標簽,然后再返回此頁面,就可以在標簽的下拉列表中選擇新添加的標簽。
按鈕可以選擇一個數據標準與字段相關聯。在“配置中心>功能配置”頁面中的“模型設計業務流程步驟>創建質量作業”勾選的情況下,將字段關聯數據標準后,表發布上線后,就會自動生成一個質量作業,每個關聯了數據標準的字段會生成一個質量規則,基于數據標準對字段進行質量監控,您可以前往DataArts Studio數據質量模塊的“質量作業”頁面進行查看。 如果您還未創建數據標準。
按鈕可以為表字段添加標簽。
:表示每條子表數據在父表中有且只有一條數據與之對應。
:表示每條子表數據在父表中最多有一條數據與之對應。
:表示每條子表數據在父表中可能有多條數據與之對應。
:表示每條子表數據在父表中至少有一條數據與之對應。
:表示每條父表數據在子表中有且只有一條數據與之對應。
:表示每條父表數據在子表中最多有一條數據與之對應。
:表示每條父表數據在子表中可能有多條數據與之對應。
:表示每條父表數據在子表中至少有一條數據與之對應。
可刪除一條關系。單擊
可編輯關系。
為該表和其他表之間設置JOIN。
或
按鈕增加或刪除JOIN條件。JOIN條件之間是and的關系。
按鈕就可以刪除該JOIN表。
為該表和其他表之間設置JOIN。
或
按鈕增加或刪除JOIN條件。JOIN條件之間是and的關系。
按鈕就可以刪除該JOIN表。