Creazione di un processo batch in SPSS Modeler con più origini dati
In un flusso di tipo " SPSS Modeler ", è comune avere più nodi di importazione ed esportazione, dove più nodi di importazione possono recuperare dati da uno o più database relazionali. È possibile utilizzare Watson Machine Learning per creare un processo batch SPSS Modeler che utilizzi anche più origini dati provenienti da database relazionali.
Gli esempi utilizzano IBM Db2, IBM e Db2 Warehouse, indicati negli esempi con l'abbreviazione " dashdb ".
Connessione a più database relazionali come input per un processo batch
Il numero di nodi di importazione in un flusso di SPSS Modeler può variare. Potresti usarne anche 60 o 70. Tuttavia, in questi casi il numero di connessioni distinte ai database è limitato, anche se i nomi delle tabelle a cui si accede tramite tali connessioni variano. Anziché specificare i dettagli per ogni connessione alle tabelle, l'approccio qui descritto si concentra sulle connessioni al database. I processi batch accettano un elenco di connessioni dati o riferimenti per nome del nodo, che vengono mappati ai nomi delle connessioni nei nodi di importazione del flusso di " SPSS Modeler ".
Il diagramma mostra come tre nodi di ingresso di un flusso del modellatore di dati « SPSS » vengano combinati in un unico nodo di uscita per esportare i dati verso un altro connettore. Dopo aver salvato il modello o il flusso di « SPSS » in uno spazio di distribuzione, occorre creare una distribuzione in batch e fornire i dati di input per ciascuno dei tre nodi di input presenti nel flusso. Esegui il processo per generare il file di output unico necessario per la distribuzione.
Limitazione: il riferimento di connessione per un nodo in un flusso viene sovrascritto dal riferimento ricevuto dal processo batch. Tuttavia, il nome della tabella nel nodo di importazione o esportazione non viene sovrascritto.
SPSS Modeler flusso con esempio
Il diagramma seguente illustra un flusso tipico dell' SPSS Modeler. Il flusso utilizza più connettori come input in « SPSS Modeler » ed esporta i dati verso un unico connettore come output. In questo esempio, il modello è configurato collegandosi a tre connettori, tra cui un collegamento al database Db2 Warehouse ( dashDB ) e due collegamenti al database Db2. I nodi di importazione leggono i dati da un totale di 40 tabelle, di cui 30 provenienti da Db2 Warehouse e 5 da due database di Db2. Il nodo di esportazione scrive i dati in un'unica tabella di output, la Tabella X, che può essere esportata come un unico file in formato * Db2.
Esempio
Questi passaggi illustrano come creare i collegamenti e identificare le tabelle.
Crea un collegamento nel tuo progetto.
Per eseguire il flusso " SPSS Modeler ", devi iniziare dal tuo progetto e creare una connessione per ciascuno dei tre database a cui il flusso si collega.
In questo esempio, le connessioni al database nel progetto si chiamano
dashdb_conn,db2_conn1, edb2_conn2.Configura i nodi "Data Asset" nel flusso " SPSS Modeler " per utilizzare le connessioni.
Configura ogni nodo del flusso in modo che faccia riferimento a una delle tre connessioni che hai creato (
dashdb_conn,db2_conn1, edb2_conn2), quindi specifica una tabella per ogni nodo.Nota: è possibile modificare il nome della connessione al momento dell'esecuzione del processo. I nomi delle tabelle selezionati nel flusso vengono utilizzati come riferimento durante l'esecuzione del processo. Non è possibile sovrascriverli o modificarli.Salva il modello " SPSS " nel repository " Watson Machine Learning ".
È utile specificare lo schema di input e di output quando si salva un modello. Semplifica il processo di identificazione di ciascun dato in ingresso quando si crea il processo batch nell'interfaccia utente di Watson Studio. I collegamenti a cui si fa riferimento nei nodi "Data Asset" del flusso " SPSS Modeler " devono essere indicati nel campo " Nome nodo" dello schema di input. Per individuare il nome del nodo, fai doppio clic sul nodo "Importazione risorsa dati" nel flusso per aprirne le proprietà:
Nota:SPSS I modelli salvati senza schemi sono ancora supportati per i processi, ma è necessario inserire manualmente i campi relativi al nome del nodo e specificare la risorsa dati al momento della creazione del processo.
Questo esempio di codice mostra come salvare lo schema di input quando si salva un modello (Endpoint:
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": [] }] } }Nota: il numero di campi in ciascuna di queste connessioni non ha importanza. Non sono convalidati né utilizzati. Ciò che conta è il numero di connessioni utilizzate.Crea la distribuzione in batch per il modello " SPSS ".
Per i modelli di tipo " SPSS ", la procedura di creazione del processo di distribuzione in batch è la stessa. È possibile creare la distribuzione utilizzando il modello creato nel passaggio precedente.
Creare processi batch c SPSS.
È possibile creare un processo batch dall'interfaccia utente di Watson Studio oppure utilizzando l'API REST. Se lo schema viene salvato insieme a un modello, l'interfaccia utente di Watson Studio semplifica l'accettazione degli input provenienti dalle connessioni specificate nello schema. Poiché hai già creato le connessioni ai dati, puoi selezionare una risorsa dati collegata per ciascun campo del nome del nodo visualizzato nell'interfaccia utente di Watson Studio mentre definisci il processo.
Il nome della connessione creata al momento dell'invio del processo può essere diverso da quello utilizzato al momento della creazione del modello. Tuttavia, deve essere assegnato al campo del nome del nodo.
Creazione di oggetti modello quando lo schema non è specificato
Se lo schema non è specificato nei metadati del modello al momento del salvataggio, è necessario inserire manualmente il nome del nodo di importazione. Inoltre, è necessario selezionare la risorsa dati nell'interfaccia utente di Watson Studio per ogni connessione. I collegamenti a cui si fa riferimento nei nodi di importazione delle risorse dati del flusso " SPSS Modeler " devono essere indicati nel campo " Nome nodo " dei riferimenti ai dati di importazione/esportazione.
I tipi di connessione per i dati di lavoro possono essere di tipo data_asset o di tipo connection_asset. Per esempi di codice, consultare:
- Specificare le connessioni per un'attività con una risorsa dati
- Specificare le connessioni per un processo utilizzando la risorsa di connessione
Specificare le connessioni per un'attività con una risorsa dati
Questo esempio di codice mostra come specificare le connessioni per un processo creato tramite l'API REST e data_asset (Endpoint: /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": {}
}
}
Specificare le connessioni per un processo utilizzando la risorsa di connessione
Questo esempio di codice mostra come specificare le connessioni per un processo creato tramite l'API REST e connection_asset (Endpoint: /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": {}
}
}