# KNIME集成部署指南


# 介绍

传统的数据科学过程从原始数据开始,直到创建模型。该模型通常随后转入日常生产。集成部署不仅可以自动识别模型,而且可以识别所有相关的准备和后处理步骤,并在生产中以自动方式重新使用它们,而不必在不同的工具之间进行切换。

集成部署节点允许您捕获在生产环境中运行所需的工作流的片段,模型或库本身以及数据准备。这些捕获的子集会自动保存为具有所有相关设置和转换的工作流,并且可以在用于模型验证的KNIME Analytics Platform和用于模型部署的KNIME Server上随时运行。

在本指南中,我们将说明如何使用属于KNIME Integrated Deployment Extension的节点以及允许在不同环境中使用此功能的其他有用节点。

您可以在此网站部分 (opens new window)访问有关集成部署的更多材料 。

# 安装

您可以从以下位置安装KNIME Integrated Deployment Extension:

  • KNIME Hub:转到KNIME Hub上的 KNIME Integrated Deployment Extension页面 (opens new window) 。在这里,将黄色方形图标拖放到KNIME Analytics Platform的工作台上。
  • KNIME Analytics Platform:转到工具栏中的文件安装KNIME扩展…,然后在KNIME Labs扩展下找到KNIME Integrated Deployment,或在搜索栏中键入Integrated Deployment。

有关更多详细说明,请参阅 《 KNIME Analytics Platform安装指南》中的“ 安装扩展和集成”部分 (opens new window)

现在,节点在KNIME LabsIntegrated Deployment下的节点存储库中可用,如图1 (opens new window)所示。

02集成部署节点存储库

图1.节点存储库中的集成部署节点

# 创建工作流程

在本节中,我们将说明如何构建工作流,捕获一些片段,最后将它们组合成新的工作流。在这个新的工作流程中,您还可以存储输入和输出数据。

KNIME Hub (opens new window)上提供了本节中显示的所有工作流程。

# 捕获工作流程的片段

使用集成部署节点,您可以捕获所需工作流的片段。为此,您可以使用 Capture Workflow Start (opens new window)Capture Workflow End (opens new window)节点,如图2 (opens new window)所示 。

03捕获工作流部分

图2.捕获工作流的一部分

“捕获工作流开始”节点标记要捕获的工作流片段的开始。“捕获工作流结束”节点标记了要捕获的工作流片段的结尾。然后,这两个节点范围内的整个工作流片段都可以在“捕获工作流结束”节点的工作流输出端口获得。与属于范围的节点但不属于范围本身的节点具有出站连接的节点表示为静态输入,但未捕获。

图3中 (opens new window),显示了相应的捕获工作流的示例。有关如何生成捕获的工作流的说明,请参阅“导出捕获的工作流”部分 (opens new window)

03捕获工作流部分

图3.捕获的工作流程

# 捕获工作流结束节点的配置

# 输入数据

您可以将输入数据与捕获的工作流一起存储。除非您提供其他输入,否则在运行捕获的工作流时将默认使用这些数据。存储输入数据会将数据添加到捕获的工作流程中的“容器输入(表)”节点。这样,在将数据写出 (opens new window)部署到KNIME Server (opens new window)时,数据将与工作流一起保存,并且在本地 (opens new window)在KNIME Server上 (opens new window)执行工作流时可用。

存储输入表中,用鼠标右键单击捕获流程结束节点,选择配置... 从上下文菜单中。在打开的节点配置对话框中,如图4 (opens new window)所示,选中“*存储输入表”*选项。在这里,您还可以选择要与捕获的工作流一起存储的最大行数。

03捕获工作流结束配置

图4. Capture Workflow End节点配置对话框

# 在Capture Workflow节点中添加或删除输入或输出端口

在Capture Workflow Start和Capture Workflow End节点中,可以根据需要选择具有多少个不同类型的输入和输出端口,如图5 (opens new window)所示 。

03添加端口

图5.在Capture Workflow开始/结束节点之间添加/删除输入/输出端口

  • 要添加输入端口:
    1. 单击“捕获工作流开始/结束”节点左下角的三个点
    2. 从打开的上下文菜单中选择“添加捕获的工作流输入”端口
    3. 从打开的窗口的下拉菜单中选择端口类型
  • 删除输入端口:
    1. 单击“捕获工作流开始/结束”节点左下角的三个点
    2. 单击“删除捕获的工作流输入端口”

# 重命名捕获的工作流和输入/输出端口

在“捕获工作流结束”节点中,您可以更改捕获的工作流片段的名称以及输入和输出端口。右键单击捕获流程结束节点,选择*配置...*从上下文菜单中。在打开的节点配置对话框中,可以在“设置”选项卡中为捕获的工作流指定一个自定义名称,如图4 (opens new window)所示。要重命名输入和输出端口,请转至Input and Output IDs选项卡,如图6 (opens new window)所示。

03捕获工作流最终配置io端口

图6.“捕获工作流结束”节点配置对话框,“*输入和输出ID”*选项卡。

# 合并捕获的工作流片段

您可以使用多个Capture Workflow Start / End节点对来捕获工作流的多个片段,并将所有不同的捕获片段组合到一个新的工作流中。要组合捕获的不同片段,请使用“ 工作流组合器”节点 (opens new window)。“工作流组合器”节点可以将尽可能多的必要工作流模型作为输入,并生成组合的捕获工作流。要添加或删除输入模型端口,请单击工作流组合器左下角的三个点,然后在上下文菜单中选择添加(删除)工作流模型端口。有关捕获的工作流程的示例如图7 (opens new window)所示。

03组合工作流程

图7.捕获工作流的不同片段并将其合并到新的工作流中

# 输入/输出端口映射

一个工作流程片段的空闲输出端口连接到连续工作流程片段的空闲输入端口。但是,可以手动配置输出端口和输入端口的配对。

连接到Workflow Combiner节点的连续端口的工作流片段形成一对。对于每对,您可以选择是否以及如何将第一个工作流程片段的输出连接到后续工作流程片段的输入。默认情况下,每个工作流程片段的输入都会自动与前任的输出连接。如果无法应用默认配对,例如由于输入和输出数量不匹配或端口类型不兼容,则该节点需要手动配置才能执行。

如果默认配置不适用,或者您想手动进行配置,请右键单击该工作流组合器节点,选择*配置...*从上下文菜单中打开节点配置对话框中显示图8 (opens new window)

03工作流合并器配置

图8. Workflow Combiner节点配置对话框

在这里,您可以手动选择配对。例如,在第一个窗格 图8 (opens new window)示出了工作流的片段(之间的配对Preprocessed),其具有两个数据输出端口preprocessed_out1preprocessed_out2与工作流片段(String To Number),连接到工作流组合器节点的后续端口。从下拉菜单中,您可以选择将工作流片段的任何一个或``多个输出端口连接到Preprocessed工作流片段的输入端口 String To Number

请注意,仅显示兼容端口类型并且可以连接。

# 保存并执行捕获的工作流程

在本节中,我们将说明如何在本地或远程文件系统中或在KNIME Server上保存,部署和执行捕获的工作流。

KNIME Hub (opens new window)上提供了本节中显示的所有工作流程。

捕获的工作流程可以是:

  1. 使用Workflow Writer节点本地写入或写入文件系统
  2. 使用“将工作流部署到服务器”节点部署到KNIME服务器
  3. 通过Workflow Executor节点直接执行

# 导出捕获的工作流程

# 将捕获的工作流导出到本地工作空间

您可以使用Workflow Writer节点 (opens new window)在本地或将新捕获的工作流写入远程文件系统。将Workflow Writer节点编辑器连接到要编写的工作流的输出工作流模型端口(实心黑色方形端口),即Workflow Combiner节点或Capture Workflow End节点的输出端口,如图9 (opens new window)所示。

04本地写

图9.将捕获的工作流写入本地文件系统的示例工作流

现在,您可以打开Workflow Writer节点配置对话框,如图10 (opens new window)所示 。

04工作流程编写器配置

图10. Workflow Writer节点配置对话框

在这里,您可以设置:

  • 输出位置:您可以选择编写一个捕获的工作流,该工作流具有相对于本地文件系统,特定安装点或相对于当前安装点,当前工作流或当前工作流数据区域的特定路径。
  • 工作流:如果所选位置中已经存在同名工作流或失败,则可以选择覆盖工作流。您还可以为捕获的工作流指定一个自定义名称。
  • 部署选项:您可以在编写工作流,编写工作流和在资源管理器中打开它之间进行选择,也可以将工作流导出为knwf存档。

在“工作流编写器”节点配置对话框的“*输入和输出”*选项卡中,如图11 (opens new window)所示,您还可以选择将输入和输出节点添加到捕获的工作流。

04工作流编写器的“配置io”选项卡

图11.“ Workflow Writer”节点配置对话框,“*输入和输出”*选项卡

# 将捕获的工作流导出到远程文件系统

您也可以将Workflow Writer节点连接到远程文件系统,例如SharePoint,Amazon S3,Google Cloud Storage。首先,您需要对所选的远程文件系统进行身份验证,然后再连接至该文件系统。然后,右键单击Workflow Writer节点左下角的三个点,然后从上下文菜单中选择添加文件系统连接端口。将显示一个方形的固态青色连接端口,它可以连接到所选远程文件系统连接器节点的相对输出文件系统连接端口。SharePoint远程文件系统的示例工作流如图12 (opens new window)所示。

04写入共享点

图12.将捕获的工作流写入远程文件系统的示例工作流

现在,“工作流编写器”节点配置对话框在*“设置”选项卡的“**输出位置”*部分显示了远程文件系统,您可以选择将捕获的工作流保存到该文件系统上的某个位置。

请注意,如果要写入远程文件系统,则只能将工作流写入或导出为knwf存档,并且无法在KNIME Analytics Platform上以新的资源管理器选项卡提示其打开。

# 将捕获的工作流部署到KNIME Server

您可以按照以下步骤,将捕获的工作流通过“将工作流部署到服务器”节点部署 (opens new window)到KNIME Server :

  1. 使用“ KNIME服务器连接”节点建立与服务器的连接

  2. 通过方形的浅蓝色KNIME Server连接端口将KNIME Server Connection节点连接到Deploy Workflow to Server节点。

  3. 将Deploy Workflow to Server节点连接到要编写的工作流程的输出工作流程模型端口,即Workflow Combiner节点或Capture Workflow End节点的实心黑色方形输出端口,如图13 (opens new window)所示 。

    04部署服务器

    图13.将工作流部署到KNIME Server的示例工作流

  4. 打开部署工作流服务器配置对话框中,显示 如图14 (opens new window),通过右键单击该节点并选择 *配置...*从上下文菜单中。

    04部署工作流服务器配置

    图14.将工作流部署到服务器节点配置对话框

在“将工作流部署到服务器”节点配置对话框中,可以设置以下选项:

  • 在KNIME Server上选择文件夹:您可以在服务器文件系统上选择要将新捕获的工作流部署到的文件夹。
  • 工作流:如果所选位置中已经存在同名工作流或失败,则可以选择覆盖工作流。您还可以为书面工作流程指定一个自定义名称。
  • 部署选项:您可以选择创建快照并添加可选的快照注释,以便跟踪对服务器上的工作流程所做的更改。

在“将工作流部署到服务器”节点配置对话框的“*输入和输出”*选项卡中,如图15 (opens new window)所示,您还可以选择将输入和输出节点添加到工作流。这会将容器输入/输出(表)节点添加到部署到KNIME Server的捕获工作流中。

04部署工作流服务器“配置io”选项卡

图15.将工作流部署到服务器节点配置对话框,输入和输出选项卡

如果已通过调用工作流节点在服务器上执行了已部署到服务器的捕获工作流(请参阅执行部署到KNIME服务器的捕获部分 (opens new window)),则必须使用容器输入/输出(表)节点。

# 执行捕获到的部署到KNIME Server的工作流

您可以执行捕获的工作流程:

# 在本地执行捕获的工作流

您还可以使用“工作流程执行程序”节点 (opens new window)在本地执行工作 流程 (opens new window)

“工作流执行程序”节点只能执行从“工作流执行程序”节点所在的同一工作流中捕获的工作流。

节点端口与工作流的输入和输出端口匹配。将Workflow Executor节点连接到要编写的工作流的输出工作流模型端口,即Workflow Combiner节点或Capture Workflow End节点的输出工作流模型端口,以及在需要时将输入数据端口连接到数据表。图17中 (opens new window)显示了一个示例。

04在本地执行

图17.在本地执行捕获的工作流的示例工作流

您可以通过打开图18 (opens new window)所示的节点配置对话框,然后单击“ 自动调整端口”(应用时执行),来调整所需的输入和输出端口,以使其与要执行的工作流相匹配。

04工作流执行器配置

图18. Workflow Executor节点配置对话框