在 SPSS Modeler 流中,通常有多个导入和导出节点,其中多个导入节点可以从一个或多个关系数据库访存数据。 您可以使用watsonx.aiRuntime 创建一个SPSS Modeler批次作业,该作业也使用关系数据库中的多个数据源。
这些示例使用 IBM Db2 和 IBM Db2 Warehouse(在示例中称为 dashdb)。
连接到多个关系数据库作为批处理作业的输入
SPSS Modeler 流程中的导入节点数可能会有变化。 可以使用多达 60 或 70 个导入节点。 但是,在这些情况下,与数据库的不同连接数仅为几个,尽管通过这些连接访问的表名称各不相同。 此处描述的方法将重点放在数据库连接上,而不是指定每个表连接的详细信息。 批处理作业接受数据连接列表或 节点名称的引用,这些数据连接或引用被映射到 SPSS Modeler 流程导入节点中的连接名称。
该图显示如何将 SPSS 建模器流的三个输入节点组合到单个输出节点中,以将数据导出到另一个连接器。 将 SPSS 模型或流程保存到部署空间后,创建批量部署并为流程中的三个输入节点分别提供输入数据。 运行作业以生成用于部署的单个输出文件。
限制: 流中节点的连接引用将被从批处理作业接收到的引用覆盖。 但是,不会覆盖导入或导出节点中的表名。
带有示例的 SPSS Modeler 流
下图显示了一个典型的 SPSS Modeler 流程。 该流程在 SPSS Modeler 中使用多个连接器作为输入,并将数据导出到单个连接器作为输出。 在此示例中,通过连接到 3 连接器 (包括到 Db2 Warehouse (dashDB) 的一个连接和到 Db2 数据库的两个连接) 来配置模型。 导入节点从总共 40 个表中读取数据,其中包括来自 Db2 Warehouse 的 30 个表和来自两个 Db2 数据库的 5 个表。 导出节点将数据写入单个输出表 "表 X" ,该表可作为单个 Db2 连接导出。
示例
下列步骤演示如何创建连接以及识别表。
在项目中创建连接。
要运行 SPSS Modeler 流程,需要在项目中启动并为流程连接的三个数据库分别创建一个连接。
对于此示例,项目中的数据库连接名为
dashdb_conn
,db2_conn1
和db2_conn2
。配置 SPSS Modeler 流程中的数据资产节点以使用连接。
配置流程中的每个节点,以引用您创建的三个连接之一(
dashdb_conn
、db2_conn1
和db2_conn2
),然后为每个节点指定一个表。注: 您可以在作业运行时更改连接的名称。 将在作业运行时引用您在流中选择的表名。 无法覆盖或更改它们。将SPSS模型保存到watsonx.aiRuntime 资源库中。
保存模型时,提供输入和输出模式很有帮助。 它简化了在watsonx.aiStudio 用户界面创建批处理作业时识别每个输入的过程。 必须在输入模式的 节点名 字段中提供在 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 批量作业。
您可以通过watsonx.aiStudio 用户界面或 REST API 创建批处理作业。 如果模式与模型一起保存,watsonx.aiStudio 用户界面就可以很简单地接受来自模式中指定的连接的输入。 由于您已经创建了数据连接,因此在定义作业时,您可以为显示在watsonx.aiStudio 用户界面上的每个节点名称字段选择一个已连接的数据资产。
提交作业时创建的连接的名称可能与创建模型时使用的连接的名称不同。 但是,必须将其分配给 节点名 字段。
未提供模式时为模型创建作业
如果在保存模型时未在模型元数据中提供模式,那么必须手动输入 导入节点名 。 此外,您必须在watsonx.aiStudio 用户界面中为每个连接选择数据资产。 必须在导入/导出数据引用的 节点名 字段中提供 SPSS Modeler 流的数据资产导入节点中引用的连接。
为具有数据资产的作业指定连接
本代码示例演示了如何为使用 REST API(端点:/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": {}
}
}
父主题: 按框架列出的批处理部署输入详细信息