對 SPSS Modeler 工作使用多個資料來源
在 SPSS Modeler 流程中,通常會有多個匯入及匯出節點,其中多個匯入節點可以從一個以上關聯式資料庫提取資料。 瞭解如何使用 Watson Machine Learning ,從關聯式資料庫建立具有多個資料來源的 SPSS Modeler 批次工作。
本節中的範例使用 IBM Db2 和 IBM Db2 Warehouse,在範例中稱為 dashdb。
連接到多個關聯式資料庫作為批次工作的輸入
SPSS Modeler 流程中的匯入節點數可能會有所不同。 您可以使用最多 60 或 70 個。 不過,在這些情況下,資料庫的唯一連線數通常只是少數,雖然透過連線存取的表格名稱會有所不同。 這裡說明的方法著重於資料庫連線,而不是指定每個表格連線的詳細資料。 因此,批次工作將接受 節點名稱 對映至 SPSS Modeler 流程匯入節點中連線名稱的資料連線或參照清單。
例如,假設流程有 30 個節點,則只會使用三個唯一資料庫連線來連接至 30 個不同的表格。 在此情況下,您向批次工作提交三個連線 (C1、 C2和 C3)。 C1、C2 和 C3 是流程匯入節點中的連線名稱,以及批次工作輸入中的節點名稱。
當批次工作執行時,會透過對映節點名稱與匯入節點中的連線名稱來提供節點的資料參照。 此範例說明建立對映的步驟。
下圖顯示從建立模型到提交工作的流程:
限制:雖然流程中節點的連線參照將會被從批次工作接收的參照所置換,但是匯入或匯出節點中的表格名稱並不會被置換。
使用範例的部署實務範例
在此範例中,使用 40 個匯入節點和單一輸出來建置 SPSS 模型。 此模型具有下列配置:
- 與三個資料庫的連線: 1 Db2 Warehouse (dashDB) 和 2 Db2。
- 從 40 個表格中讀取匯入節點(Db2 Warehouse 中 30 個,每個 Db2 資料庫中 5 個)。
- 單一輸出表格寫入至 Db2 資料庫。
範例
下列步驟示範如何建立連線及識別表格。
在專案中建立連線。
若要執行 SPSS Modeler 流程,您可以在專案中開始,並為模型所連接的三個資料庫中的每一個建立連線。 然後,將流程中的每一個匯入節點配置為指向其中一個所連接資料庫中的表格。
在此範例中,專案中的資料庫連線名稱為
dashdb_conn、db2_conn1及db2_conn2。使用連線在 SPSS Modeler 流程中配置「資料資產」匯入節點。
配置流程中的每一個節點以參照您建立的三個連線 (
dashdb_conn、db2_conn1及db2_conn2) 之一,然後為每一個節點指定一個表格。附註: 您可以在工作執行時變更連線的名稱,但在工作執行時,會參照您在流程中選取的表格名稱; 您無法改寫或變更它們。將 SPSS 模型儲存至 Watson Machine Learning 儲存庫。
在此範例中,當您儲存模型時,提供輸入及輸出綱目非常有用,因為當您在 Watson Studio 使用者介面中建立並提交批次工作時,它會簡化識別每一個輸入的程序。 請注意,必須在輸入綱目的節點名稱欄位中提供 SPSS Modeler 流程的「資料資產」節點中所參照的連線。 若要尋找節點名稱,請按兩下流程中的「資料資產」匯入節點以開啟其內容:
附註:工作仍支援儲存不含綱目的 SPSS 模型,但您必須手動輸入 節點名稱 欄位,並在提交工作時提供資料資產。
此程式碼範例顯示如何在儲存模型時儲存輸入綱目 (端點 :POST /v4/models)。
{ "name": "SPSS Drug Model", "label_column": "label", "type": "spss-modeler_18.1", "runtime": { "href": "/v4/runtimes/spss-modeler_18.1" }, "space": { "href": "/v4/spaces/<space_id>" }, "schemas": { "input": [ { "id": "dashdb_conn", "fields": [] }, { "id": "db2_conn1 ", "fields": [] } , { "id": "db2_conn2", "fields": [] } ], "output": [{ "id": "db2_conn2 ","fields": [] }] } }附註: 每一個連線中的欄位數並不重要。 不會驗證或使用它們。 重要的是所使用的連線數目。為 SPSS 模型建立批次部署。
對於 SPSS 模型,批次部署工作的建立程序相同。 您可以使用在前一個步驟中建立的模型來提交部署要求。
提交 SPSS 批次工作。
您可以從 Watson Studio 使用者介面或透過使用 REST API 來提交批次工作。 如果綱目與模型一起儲存,則使用 Watson Studio 使用者介面可以很容易從綱目中所指定的連線接受輸入。 因為您已建立資料連線,所以您可以在定義工作時,為 Watson Studio 使用者介面中顯示的每一個 節點名稱 欄位選取已連接的資料資產。
在工作提交時建立的連線名稱可以不同於在建立模型時使用的連線名稱,但必須將各自的連線指派給 節點名稱 欄位。
未提供綱目時提交工作
如果在儲存模型時未在模型 meta 資料中提供綱目,則您必須手動輸入 匯入節點名稱 ,並在 Watson Studio 使用者介面中為每一個連線選取資料資產。 在 SPSS Modeler 流程的「資料資產」匯入節點中參照的連線必須在匯入/匯出資料參照的 節點名稱 欄位中提供。
工作資料連線類型可以是 data_asset 或 connection_asset。 如需程式碼範例,請參閱:
使用資料資產為工作指定連線
此程式碼範例示範如何為使用 REST API 及 data_asset (端點: /v4/deployment_jobs) 提交的工作指定連線。
{
"deployment": {
"href": "/v4/deployments/<deploymentID>"
},
"scoring": {
"input_data_references": [
{
"id": "dashdb_conn",
"name": "dashdb_conn",
"type": "data_asset",
"connection": {},
"location": {
"href": "/v2/assets/<asset_id>?space_id=<space_id>"
},
"schema": {}
},
{
"id": "db2_conn1 ",
"name": "db2_conn1 ",
"type": "data_asset",
"connection": {},
"location": {
"href": "/v2/assets/<asset_id>?space_id=<space_id>"
},
"schema": {}
},
{
"id": "db2_conn2 ",
"name": "db2_conn2",
"type": "data_asset",
"connection": {},
"location": {
"href": "/v2/assets/<asset_id>?space_id=<space_id>"
},
"schema": {}
}],
"output_data_reference": {
"id": "db2_conn2"
"name": "db2_conn2",
"type": "data_asset ",
"connection": {},
"location": {
"href": "/v2/assets/<asset_id>?space_id=<space_id>"
},
"schema": {}
}
}
指定具有連線資產之工作的連線
此程式碼範例示範如何為使用 REST API 及 connection_asset (端點: /v4/deployment_jobs) 提交的工作指定連線。
{
"deployment": {
"href": "/v4/deployments/<deploymentID>"
},
"scoring": {
"input_data_references": [
{
"id": "dashdb_conn",
"name": "dashdb_conn",
"type": "connection_asset",
"connection": {
"id": "<connection_id>"
},
"location": {},
"schema": {}
},
{
"id": "db2_conn1 ",
"name": "db2_conn1 ",
"type": "connection_asset",
"connection": {
"id": "<connection_id>"
},
"location": {},
"schema": {}
},
{
"id": "db2_conn2 ",
"name": "db2_conn2",
"type": "connection_asset",
"connection": {
"id": "<connection_id>"
},
"location": {},
"schema": {}
}],
"output_data_reference": {
"id": "db2_conn2"
"name": "db2_conn2",
"type": "connection_asset ",
"connection": {
"id": "<connection_id>"
},
"location": {},
"schema": {}
}
}
上層主題: 建立批次部署