Criando uma tarefa em lote do SPSS Modeler com diversas origens de dados

Em um fluxo SPSS Modeler, é comum ter diversos nós de importação e exportação, em que diversos nós de importação podem estar buscando dados de um ou mais bancos de dados relacionais. Você pode usar watsonx.ai Runtime para criar um trabalho em lote SPSS Modeler que também use várias fontes de dados de bancos de dados relacionais.

Nota:

Os exemplos utilizam IBM Db2, IBM e Db2 Warehouse, referidos nos exemplos como dashdb.

Conectando-se a diversos bancos de dados relacionais como entrada para uma tarefa em lote

O número de nós de importação em um fluxo do SPSS Modeler pode variar. Você pode usar de 60 ou 70. No entanto, o número de conexões distintas para bancos de dados nesses casos são apenas alguns, embora os nomes de tabelas que são acessadas por meio de conexões variem... Em vez de especificar os detalhes para cada conexão de tabela, a abordagem descrita aqui focaliza as conexões com o banco de dados. Os trabalhos em lote aceitam uma lista de conexões de dados ou referências por nome do nó que são mapeadas para nomes de conexão nos nós de importação do fluxo do SPSS Modeler.

O diagrama mostra como três nós de entrada para um fluxo do modelador do SPSS são combinados em um único nó de saída para exportar os dados para outro conector Depois de salvar o modelo ou fluxo do SPSS em um espaço de implantação, você cria uma implantação em lote e fornece dados de entrada para cada um dos três nós de entrada no fluxo. Execute a tarefa para gerar o arquivo de saída único para a implementação.

Fluxo da criação de modelos para a criação de empregos

Limitação: A referência de conexão para um nó em um fluxo é substituída pela referência recebida da tarefa em lote. Entretanto, o nome da tabela no nó de importação ou exportação não é substituído.

Fluxo do SPSS Modeler com exemplo

O diagrama a seguir mostra um fluxo típico do SPSS Modeler. O fluxo usa vários conectores como entrada no SPSS Modeler e exporta dados para um único conector como saída. Neste exemplo, o modelo é configurado conectando a 3 conectores, incluindo uma conexão com o Db2 Warehouse (dashDB) e duas conexões com bancos de dados Db2 . Os nós de importação leem dados de um total de 40 tabelas, que inclui 30 tabelas do Db2 Warehouse e 5 tabelas de dois bancos de dados Db2 . O nó de exportação grava dados em uma única tabela de saída, Tabela X, que pode ser exportada como uma única conexão Db2 .

SPSS Modeler fluxo com várias entradas

Exemplo

Essas etapas demonstram como criar as conexões e identificar as tabelas.

  1. Crie uma conexão em seu projeto

    Para executar o fluxo SPSS Modeler, inicie o projeto e crie uma conexão para cada um dos três bancos de dados aos quais o fluxo se conecta.

    Para este exemplo, as conexões do banco de dados no projeto são denominadas dashdb_conn, db2_conn1e db2_conn2.

  2. Configure os nós do Data Asset em seu fluxo do SPSS Modeler para usar as conexões.

    Configure cada nó em seu fluxo para fazer referência a uma das três conexões que você criou (dashdb_conn, db2_conn1 e db2_conn2) e, em seguida, especifique uma tabela para cada nó.

    Nota: é possível alterar o nome da conexão no momento da execução da tarefa.. Os nomes de tabela selecionados no fluxo são referenciados quando a tarefa é executada. Você não pode sobrescrever ou alterá-los.
  3. Salve o modelo SPSS no repositório de tempo de execução watsonx.ai.

    É útil fornecer o esquema de entrada e saída quando você salva um modelo. Isso simplifica o processo de identificação de cada entrada quando você cria o trabalho em lote na interface do usuário do watsonx.ai Studio. As conexões que são referenciadas nos nós do Data Asset do fluxo do SPSS Modeler devem ser fornecidas no campo nome do nó do esquema de entrada. Para localizar o nome do nó, dê um duplo clique no nó de importação de Ativo de Dados em seu fluxo para abrir suas propriedades:

    Nome do nó de importação do Ativo de Dados

    Nota:

    Os modelos SPSS que são salvos sem esquemas ainda são compatíveis com trabalhos, mas você deve inserir os campos nome do nó manualmente e fornecer o ativo de dados ao criar o trabalho.

    Este exemplo de código mostra como salvar o esquema de entrada quando você salva um modelo (Ponto de extremidade: 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: O número de campos em cada uma dessas conexões não importa. Eles não são validados ou usados. O que é importante é o número de conexões que são usadas.
  4. Crie a implementação em lote para o modelo SPSS.

    Para os modelos SPSS , o processo de criação do job de implementação de lote é o mesmo. Você pode criar a implantação com o modelo que foi criado na etapa anterior.

  5. Crie SPSS.

    Você pode criar um trabalho em lote a partir da interface de usuário do watsonx.ai Studio ou usando a API REST. Se o esquema for salvo com um modelo, a interface de usuário do watsonx.ai Studio simplifica a aceitação de entrada das conexões especificadas no esquema. Como você já criou as conexões de dados, pode selecionar um ativo de dados conectado para cada campo de nome de nó que é exibido na interface de usuário do watsonx.ai Studio à medida que você define o trabalho.

    O nome da conexão que é criada no momento do envio da tarefa pode ser diferente daquele usado no momento da criação de modelo Entretanto, ele deve ser designado ao campo nome do nó .

Criação de trabalhos para modelos quando o esquema não é fornecido

Se o esquema não for fornecido nos metadados de modelo no momento em que o modelo for salvo, deve-se inserir o nome do nó de importação manualmente Além disso, você deve selecionar o ativo de dados na interface de usuário do watsonx.ai Studio para cada conexão. Conexões que são referenciadas nos nós de importação de Ativo de Dados do fluxo SPSS Modeler devem ser fornecidas no campo nome do nó das referências de dados de importação / exportação.

Especificando as conexões para uma tarefa com um ativo de dados

Este exemplo de código demonstra como especificar as conexões para um trabalho criado usando a API REST (Ponto de extremidade: /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": {}
                                    }
         }