# KNIME组件指南


# 介绍

在本指南中,我们介绍组件和元节点。

组件和元节点都是从包装工作流构建的。

组件实际上是您创建的KNIME节点,这些节点具有捆绑功能,具有其自己的配置对话框和其自身的复合视图。另一方面,元节点是工作流一部分的容器,可帮助构建更清洁和结构化的嵌套工作流。

在本指南中,我们说明了如何创建组件和元节点,如何为组件创建复合视图和配置对话框以及如何使用它们。

# 组件与元节点

组件是包含子工作流的节点,可让您捆绑功能以进行共享和重用。组件封装和抽象功能,可以具有自己的配置对话框和自定义的交互式复合视图。您可以使用它们来隐藏工作流程中的某些复杂性,也可以在其他工作流程或同一工作流程的不同部分中重复使用它们,或者可以通过KNIME Server或KNIME Hub与他人共享它们。此外,组件及其组合视图还用于定义Web应用程序工作流中的页面,这些页面一旦通过KNIME Server进行部署,便可以通过KNIME WebPortal进行访问。

与组件相比,元节点仅用于更好地组织工作流程:您可以将较大的工作流程的一部分纳入其中,然后将其折叠成一个元节点,以隐藏工作流程功能的这一部分。

主要区别在于:

# 创建组件和元节点

要将节点封装到组件中或将一组节点折叠到一个元节点中,请执行以下步骤:

  1. 通过以下任一方式选择节点:

    1. 用鼠标在工作流编辑器中的节点上拖动一个矩形
    2. 按住“ Ctrl”按钮并选择单击它们的节点
  2. 右键单击选择和选择创建组件...或者创建元数据节点... 在显示的上下文菜单图1 (opens new window)

    02创建组件

    图1.创建组件或元节点

  3. 在打开的对话框中为组件或元节点命名,如图2 (opens new window)所示。

    02名称组成

    图2.给组件或元节点命名

  4. 单击OK,您将在工作流编辑器中看到新组件或新的元节点,而不是单个节点,如图3 (opens new window)所示。

    02新组件元节点

    图3.工作流编辑器中新创建的组件和元节点

基于进出组件的连接,组件和元节点将出现适当的输入和输出端口。请注意,将节点折叠为组件或元节点会重置节点。

# 设置组件和元节点

您可以更改组件和元节点的不同设置,例如名称,输入和输出端口的数量及其类型。此外,您可以更改元数据,描述并自定义组件的图标。在本节中,我们将向您介绍如何设置和重新配置组件和元节点。

# 设置组件

要更改组件的设置,首先右键单击该组件,然后在上下文菜单中,显示如图4 (opens new window),选择组件设置...

03上下文菜单

图4.组件的上下文菜单

现在,将打开图5 (opens new window)所示 (opens new window)的对话框。

03设置组件

图5.安装组件对话框

在这里您可以:

  • 更改组件名称

  • 通过点击添加输入和输出端口*添加...*按钮并选择打开的对话框,在所示的端口类型图6 (opens new window)

    03添加端口

    图6.向组件添加新端口

  • 通过单击“*删除”*按钮来删除现有的输入和输出端口。请注意,必须先从组件内部删除所有来回端口的连接,然后才能删除它。

  • 使用向上向下按钮更改输入和输出端口的顺序。更改端口的顺序不会影响工作流程的任何功能,但是通常可以避免交叉连接,从而改善工作流程的外观。

# 编辑组件说明

由于每个组件都是真实的KNIME节点,因此您还可以更改其描述,提供输出端口和输入端口的名称和描述,以及自定义组件图标。为此,请右键单击该组件,然后在上下文菜单中转到“组件” →“打开”,或者单击“ Ctrl” +双击该组件来**打开它。如果默认情况下激活了Description面板(如图7 (opens new window)所示),则可以在KNIME工作台的右侧找到它。否则,您可以通过KNIME工具栏中的查看描述来激活它。

03组件说明

图7.组件的描述面板

单击右上角的笔图标进行更改:

  • 描述:您可以在此处插入组件的描述
  • 组件图标:您可以拖放一个正方形图像文件(最小大小为16x16的png格式),然后从下拉菜单中选择节点类型,如图8 (opens new window)所示 ,以设置背景色。
  • 输入和输出端口的名称和描述:输入和输出端口的名称也将在工作流编辑器中组件的输入和输出端口悬停时显示。

03更改组件说明

图8.更改组件的描述面板

# 重新配置元节点

要更改元节点的设置,右键单击它并选择元数据节点→ *重新配置......*从上下文菜单中。在打开的对话框中,如图9 (opens new window)所示, 您可以更改元节点名称,以及添加或删除任何类型的输入和输出端口。

03重新配置元节点

图9.重新配置元节点对话框

要将组件或元节点中的节点返回到其原始的未折叠状态,请右键单击该组件或元节点,然后在上下文菜单中选择Component(或Metanode)→ Expand。要将组件更改为元节点,请在“组件”下 选择“转换为元节点”。同样选择相反的方向将元节点转换为组件,选择Metanode转换为组件

相反,不能手动更改元节点的描述,它由其名称和包含相应描述的节点类型列表组成。

# 组件和元节点的执行状态

与常规KNIME节点类似,可以配置和执行组件。如何创建组件配置对话框将在“自定义组件配置对话框”部分中 (opens new window)进行说明 。组件使用交通信号灯指示其执行状态,与 KNIME Workbench指南的“工作流编辑器和节点”部分 (opens new window)中所示的节点相同 。在组件中,为了访问输出端口上的数据,必须成功执行封闭的子工作流程的每个节点,因此要有“绿色”交通灯。

元节点也可以执行,这意味着将构建构成其包含的子工作流的节点。但是,由于元节点只是工作流一部分的容器,因此无法对其进行配置。元节点的状态由不同的图标指示:绿色的勾号和黄色的手表,分别指示该元节点是否已执行。

在元节点中,靠近输出端口的点将指示该端口的输出是否为:

  • 可访问(“绿色”点),表示已成功执行构建连接到该输出端口的子工作流分支的所有节点
  • 已连接但为空(“黄色”点),表示连接到该输出端口的子工作流分支未产生输出
  • 断开连接(“红色”点),表示该端口未连接到任何子工作流的节点。
图标 子工作流程 输出量
组件
03组件绿色 03组件绿色wf 成功执行
03成分黄 03组件黄色wf 已配置 所有输出已连接
03组件红色Redx 03组件红色redx wf 执行失败 包含未连接的输出
03组件redx 03组件redx wf 执行失败 一个分支失败
元节点
03中继节点绿色 03 metanode绿色wf 成功执行 所有可用输出
03中继节点黄色 03元节点黄色wf 已配置子工作流的所有节点 所有连接的输出
03中继节点红色绿色 03元节点红色绿色wf 子工作流的所有节点均被执行 包含未连接的输出(“红色”点)
03中继节点黄色绿色 03元节点黄色绿色wf 执行子工作流的所有节点 一个分支失败,并且相应的输出为空(“黄色”点)

# 更改组件中的流变量范围

在组件内部创建的流变量具有局部作用域,并且仅在组件内部可用。未在组件内部创建的流变量仅在组件外部可用。

要更改此设置,您需要专门允许flow变量退出或输入组件:

  1. 右键单击处于执行状态的组件,然后 从上下文菜单中选择ComponentOpen

  2. 如果要在本地创建流变量以退出组件,请在组件内部右键单击“组件输出”节点,或者在“组件输入”节点上单击以允许外部创建的流变量在组件内可用

  3. 在打开的窗口的右窗格中的Include列中添加所需的流变量,如图10 (opens new window)所示。

    03出口流量变量

    图10. Component Output节点配置对话框

# 自定义组件配置对话框

组件的设计方式是,用户可以从外部对其进行配置,而不必保存和共享组件,而无需更改其内部节点的配置。这是通过使用配置节点来完成的,这些节点通过组件配置对话框帮助将必要的设置暴露给外部。

在本节中,我们说明如何使用“配置”节点为组件创建自定义配置对话框。

# 配置节点

配置节点可以为工作流中的其他节点提供输入参数。如果在组件内部使用一个或多个Configuration节点,则该组件的配置对话框将在其自定义配置对话框中显示您在其内部创建的所有这些配置选项。

配置节点支持不同类型的用户输入,例如字符串输入,整数输入,在列表中选择一个值等等。您可以在节点库中的“工作流抽象” →“ *配置”*类别下找到所有可用的Configuration节点,如图11 (opens new window)所示。

04个配置节点

图11.节点存储库中的配置节点

它们分为两类,如表2所示 (opens new window)

图标 小部件名称 用户输入 输出量
输入节点
04布尔值 布尔型 布尔值 选中=真 未选中=假
04弦 接受任何用户输入
04整数 整数 整数值 整数
04双 浮点数字
04日期时间 约会时间 日期和时间(作为字符串)(或从日历表单中选择的日期和时间)。
04凭证 证书 用户凭证(用户名和密码),供以后在经过身份验证的节点中使用。 凭证流变量
04本地文件浏览器 本地文件浏览器 选择一个或多个本地文件。 带有选定项目路径的表(如knime://协议)。 第一路径也作为流量变量输出。
04存储库文件选择器 储存库文件选择器 选择一个或多个本地文件,工作流或文件夹。 带有选定项目路径的表(如knime://协议)。 第一路径也作为流量变量输出。
04清单框 列表框 单独的字符串输入 具有一列字符串值的数据表
选择节点
04单选 单选 选择可用值。可用的选择取决于节点的配置。
04多项选择 多项选择 多项选择 带有选择项的数据表
04栏选择 列选择 栏名
04值选择 价值选择 列中的值
04柱过滤器 列过滤器 从数据表中选择列 带有选定列的数据表
04标称行过滤器 标称行过滤器 列中的值 根据选择的值对行进行过滤的数据表

例如,图12 (opens new window)显示了“值选择配置”节点的配置对话框,您可以在其中定义输入标签,描述,默认选择选项和一些视觉属性。在下一部分中 (opens new window),如果在组件内部使用了“配置”节点,则还可以在此处定义输出流变量的名称和缺省值以及其他设置,以控制自定义对话框的外观。

04值选择配置对话框

图12.“值选择配置”节点的“配置”对话框

如果Configuration节点的流量变量输出已连接到另一个节点,则该节点可以访问Configuration节点的流量变量输出,如图13 (opens new window)所示 。在配置节点中创建的流变量作为输出,然后将用于覆盖连接的节点的设置。要了解如何执行此操作,请参阅 《 KNIME流控制指南》中的“用流变量覆盖设置”部分 (opens new window)。“配置”节点的输出值要么是在“配置”节点配置对话框中定义的默认值,要么对应于用户在自定义组件配置对话框中提供的值。

04组件工作流程

图13.用用户定义的值配置节点

该工作流程也可以在KNIME Hub上找到 (opens new window)

# 组件配置对话框

组件中包含的配置节点代表一个自定义的配置对话框。

创建组件后,如图13 (opens new window)所示,右键单击该组件,然后从上下文菜单中选择“配置”以打开配置对话框(如图14 (opens new window)所示),并配置组件的参数。

04组件配置对话框

图14.组件配置对话框

您还可以在一个组件中组合不同的Configuration节点,并具有一个更复杂的组件配置对话框,可以在其中配置不同的参数。

# 组件复合视图

除了自定义配置对话框外,组件还可以具有自己的自定义复合视图。组合视图包含作为组件一部分的Widget节点,Interactive Widget节点和View节点的交互式视图。

根级别上的所有组合视图还定义了一个Web应用程序,可通过KNIME WebPortal (opens new window)访问 。

要检查在KNIME分析平台的组合来看,作为输出视图中的任意KNIME节点,右键单击相应部件并选择交互视图:... 执行后。

您还可以自定义复合视图的布局。有关如何执行此操作的更多详细信息,请参阅“复合视图 (opens new window)布局”部分 (opens new window)

在下一节中,我们将说明如何使用Widget节点,Interactive Widget节点和View节点来构建自定义的复合视图。

# 小部件节点

窗口小部件节点(类似于配置节点) (opens new window) 可以为工作流中的其他节点提供输入参数。但是,与配置节点不同,窗口小部件节点在组合视图中显示为窗口小部件。在打开的窗口中检查KNIME Analytics Platform中的组合视图时,可以调整参数,并且在窗口的右下角:

  • 单击“应用” 为工作流的当前执行设置这些参数
  • 从“*应用”*按钮旁边的下拉菜单中选择“应用为新默认值”,以将这些参数设置为Widget节点的新默认参数。
  • 单击关闭,然后选择放弃更改,临时应用设置或将设置应用为新的默认值
  • 从“*关闭”*按钮旁边的下拉菜单中选择“关闭并丢弃”,“*关闭并应用”*或“关闭并应用”作为新的默认值

此外,通过KNIME WebPortal将工作流部署到KNIME服务器时,它们允许您设置工作流执行的参数。

您可以在节点存储库中的“工作流抽象” →“ 窗口小部件”类别下找到所有可用的窗口小部件节点。

它们分为以下四个类别:

  • 输入:您可以使用此类别中的小部件将不同类型的参数输入到工作流程中。例如,您可以输入整数,字符串,布尔值,双精度数,列表,还可以输入其他格式,例如日期和时间或凭证。它们显示在表3中 (opens new window)
图标 小部件名称 用户输入 输出量
输入节点
05布尔值 布尔型 布尔值 选中=真 未选中=假
05弦 接受任何用户输入
05整数 整数 整数值 整数
05双 浮点数字
05日期时间 约会时间 日期和时间(作为字符串)(或从日历表单中选择的日期和时间)。
05证书 证书 用户凭证(用户名和密码),供以后在经过身份验证的节点中使用。 凭证流变量
05文件上传 上传文件 使用临时文件夹将文件上传到服务器。 上载文件的路径
05文件选择器 文件选择器 选择一个或多个远程文件,工作流或文件夹。 带有选定项目路径的表(如knime://协议)。 第一路径也作为流量变量输出。
05列表框 列表框 单独的字符串输入 具有一列字符串值的数据表
05滑块 滑杆 滑块上的值
  • 选择:您可以使用此类别中的小部件从可用值列表中选择输入值。例如,您可以从数据表中选择特定的列,从数据集中包括或排除多个列,或者选择所选列的值以过滤数据表。您还可以从列表中选择单个或多个值,或者从数据集的单个列中选择单个值。它们显示在表4中 (opens new window)
图标 小部件名称 用户输入 输出量
选择节点
05单选 单选 选择可用值。可用的选择取决于节点的配置。
05多项选择 多项选择 多项选择 带有选择项的数据表
05列选择 列选择 栏名
05值选择 价值选择 列中的值
05柱过滤器 列过滤器 从数据表中选择列 带有选定列的数据表
05标称行过滤器 标称行过滤器 列中的值 根据选择的值对行进行过滤的数据表
  • 输出:您可以使用这些小部件来生成下载文件的链接或显示图像或动态文本。它们显示在表5中 (opens new window)
图标 小部件名称 用户输入 输出量
输出节点
05文件下载 档案下载 流变量,用于存储绝对文件路径
05图像输出 影像输出 KNIME图片 SVG或PNG图像
05文字输出 文字输出 任何文字 字符串或HTML内容
  • 过滤器:您可以使用这些小部件在视图布局中触发交互式过滤器事件。在下一节 (opens new window)中,将更详细地说明这些交互式窗口小部件节点。

您可以在组合视图中排列不同的Widget节点,将它们封装到一个组件中,理想情况下,您可以调整要注入到工作流中的不同参数。

# 查看节点

您可以使用“视图”节点将数据可视化为图表,图表,表格,或可视化自己的JavaScript代码生成的视图。它们在视图JavaScript下的节点存储库中可用,如图15 (opens new window)所示。

05查看节点存储库

图15.节点存储库中的View节点

这些节点也可以在一个组件中组合在一起,以构建复合视图和仪表板。

16 (opens new window)个不同的View节点组成的组件的一个示例如图16 (opens new window)所示。

05组件视图

图16.组合了不同View节点的组件的子工作流程

当执行这样的组件和打开相对交互视图:... 在KNIME分析平台,交互式仪表盘等所示的一个图17 (opens new window) 将出现。可以按照“复合视图 (opens new window)布局”部分 (opens new window)中的说明调整布局, (opens new window) 并可以使用Widget节点 (opens new window)添加不同的元素,如文本或图像。

05综合图

图17.组合了不同View节点的组件的组合视图

# 交互式小部件节点

交互式Widget节点是特殊的Widget节点,可以将其与View节点组合在一起以构建复合视图,在这里您可以交互地过滤连接到它们的View节点中可视化的数据,并作用于集成的不同元素上在复合视图中。

# 交互式范围滑块过滤器小部件

此“交互式窗口小部件”节点在组合视图中显示一个滑块。您可以在节点配置对话框中根据滑块和范围以及不同的配置和设置来定义要过滤的列。

KNIME Hub (opens new window)上提供了有关如何使用此Interactive Widget节点的 示例,如图18 (opens new window)所示。

05 wf交互式范围滑块过滤器小部件

图18.使用交互式范围滑块过滤器节点的示例组件

交互式合成视图的两个快照如图19 (opens new window)所示。可以使用滑块调整过滤和绘制的值的范围。

05交互式范围滑块过滤器小部件输出

图19.使用“交互式范围滑块过滤器”节点的组件的交互式复合视图的两个可能的快照

# 交互式价值过滤器小部件

此Interactive Widget节点在组合视图中显示了一个过滤器。您可以定义将值过滤到的列。您还可以为此窗口小部件具有不同的配置,例如选择一个或多个值以及其他设置,您可以在节点配置对话框中进行配置。

KNIME Hub (opens new window)上提供了有关如何使用此Interactive Widget节点的 示例,如图20 (opens new window)所示。

05 wf交互式值过滤器小部件

图20.使用交互式范围滑块过滤器节点的示例组件

交互式合成视图的两个快照如图21 (opens new window)所示。使用顶部的include / exclude元素调整包含或排除和绘制的所选列的值。

05交互式值过滤器小部件输出

图21.使用Interactive Value Filter节点的组件的交互式复合视图的两个可能的快照

# 剧情节点

您还可以访问已实现绘图视图并准备使用的View节点。

首先导航到文件安装KNIME扩展......并安装 KNIME Plotly下延伸KNIME实验室扩展

现在,您可以在KNIME Labs → *JavaScript Views(Labs)*下的节点存储库中找到Plotly节点,如图22 (opens new window)所示。

05个节点

图22.节点存储库中可用的Plotly节点

# 复合视图的布局

至少包含一个Widget或JavaScript视图节点的任何组件都可以定义一个布局。可以在“节点用法和布局” 窗口的“可视布局”选项卡中编辑布局,可以通过打开组件并单击顶部工具栏中的布局编辑器按钮来访问该布局,如图23 (opens new window)所示。

06组件布局工具栏

图23.工具栏中的布局编辑器按钮

# 视觉布局编辑器

可视布局编辑器允许您使用拖放网格来创建和调整布局。

  • 布局由一个或多个行组成。每行最多可包含十二列。
  • 当一行中有多列时,可以调整列的大小
  • 可以将一个或多个视图添加到列中
  • 默认情况下,小部件和视图在定制视图中的位置从上到下遵循组件子工作流中相应节点的位置。

可视布局编辑器(如图24 (opens new window)所示)由左侧面板组成,左侧面板显示了组件中尚未添加到布局中的所有Widget和View节点的列表,以及右侧的布局的交互式预览。

06组件布局编辑器

图24.组件的可视布局编辑器

要添加视图,请将其从左面板(1)拖动到布局预览中的所需位置。

要添加列,请在布局预览中单击“ +”按钮(2)。

要调整列的大小,请单击并在列之间移动调整大小手柄(3)。

要添加行,请将行模板(4)从左侧面板拖动到布局预览中的所需位置。您可以选择不同的模板,例如1列,2列,3列,也可以稍后添加和删除列。

要删除视图,列或行,请使用垃圾桶按钮(5)。仅当列和行为空时(即不包含小部件或视图),此功能才可用。

要将视图移到另一列,请将其拖到布局预览中。完整的行也可以通过拖动来移动。

请注意,可以嵌套。列可以包含行以及视图,这些嵌套行可以包含列,行和视图,等等。

您还可以调整视图的高度。每个视图都有默认的尺寸设置,可以通过布局预览中的齿轮图标(6)进行更改。可以基于视图或纵横比的大小(的内容的自动高度之间进行选择16:94:3square)。使用自动高度时,可以定义最小和最大像素大小。

# 旧版标志

在“*节点用法和布局”*窗口的“*视觉布局”*选项卡的左侧,有 一个“*使用旧模式”*按钮(图24中的 (opens new window)(7))可用。

从KNIME Analytics Platform 4.2版开始,改进了Widget节点的用户界面。

使用KNIME Analytics Platform 4.2版创建组件时,默认情况下停用旧模式。这意味着可以通过Widget节点新改进的用户界面来可视化组合视图。

相反,对于使用KNIME Analytics Platform 4.1及更早版本中的小部件节点创建的组件,默认情况下将激活旧模式。组合视图将具有以前的用户界面,如KNIME Analytics Platform 4.1及更早版本中所示。

始终可以选中或取消选中组件布局中的“*使用旧模式”*复选框,并使用旧的或新的“小部件”节点可视化组合视图。

# 进阶版面配置

布局结构以JSON格式保存,高级用户可以在“*高级布局”*选项卡中直接进行编辑。

视觉布局编辑器生成的JSON格式示例如图25 (opens new window)所示 。

06组件布局编辑器高级

图25. JSON格式的组件高级布局

# 行(1)

行是可以定义的最外面的元素,并且是布局容器内的第一个元素。JSON结构的外层是一个行数组。行包含许多布局列。

要进一步自定义行,您可以添加可选字段。通过additionalClasses 提供一个类名数组可以附加到创建的HTML行元素上,additionalStyles(2)是在该元素上直接插入CSS样式命令的选项。例如,要在一行和另一行之间创建视觉分隔符,可以添加底部边框:

“” additionalStyles“:[”边框底部:细实灰;]

组件的定制视图输出中出现的灰线如图26 (opens new window)所示。

06组件布局附加视图

图26.具有附加样式的组件的定制视图输出

# 专栏(3)

列是行内的布局元素,它确定其组件的宽度。要定义宽度,请使用1到12之间的数字。12表示占用宽度的100%,而6表示宽度的50%。这样,可以通过提供组件的相对宽度来定义组件并排的布局。例如,如果要以相等的列宽水平布置三个组件,则使用一行三列,每列的宽度为4。如果特定行的宽度总和大于12,则将多余的列包装到新列上线。

# 响应式布局(4)

还可以定义列的多个宽度,以便它们可以适应屏幕尺寸。使用此选项,可以实现响应式布局。

定义列,使用的响应宽度至少widthXS和一个或多个以下的字段:widthSMwidthMDwidthLG

列的内容可以是以下任意一项的数组:。另一组行,提供创建嵌套布局的可能性。常规HTML内容,用于将纯HTML元素插入到layout中。节点引用,用于嵌入启用JavaScript的KNIME节点的内容。

至于行,也可以使用可选字段additionalClasses和进一步自定义列 additionalStyles

# HTML内容

通过将类型的内容元素html放在列中,可以将纯HTML包含在布局中。要插入内容,请使用单个字段 value

例如:

[...]
“内容”:[{
    “ type”:“ html”,
    “ value”:“ <h2>在布局中定义的标题</ h2>”
  }]
[...]

# 查看内容(5)

要将KNIME节点的内容嵌入布局中,可以使用type的content元素view。该元素具有多种自定义内容的大小和行为的方式,这在[tab-available-fields]中进行了说明 (opens new window)

Referencing the node is done by the field nodeID (6), which takes the ID-suffix of the node as a string argument. If nodes exist inside the component which are not referenced by the layout, a warning message appears underneath the editor. Errors will also be issued for referencing nodes twice or referencing non-existing nodes.

The content of each is wrapped in its own iframe element, allowing to encapsulate the implementation and avoid reference and cross-scripting issues. As iframe elements do not adapt to the size of their content automatically, you need to resize them to achieve the desired behavior. To achieve this result you have the following options:

  1. Size-based methods: This method uses an iframe-resizer library (opens new window) to resize the iframe according to the size of its contents. You will need to explicitly or implicitly set a concrete size for the content. You can determine the size using different approaches, as explained on the iframe-resizer GitHub page (opens new window). Size-based resize methods all start with the prefix View in the JSON structure.
  2. 基于长宽比的方法:如果将节点视图设置为适应其父级大小,而不是隐式提供大小,则基于大小的方法将无法正常工作。为了使这些视图在布局中占据适当的空间,可以使用纵横比设置。在这里,宽度被视为布局中该位置处可用水平空间的100%,高度根据给定的比例计算。基于长宽比的调整大小方法以aspectRatioJSON结构中的前缀开头。
  3. 手动方法:您还可以在适当的时间触发手动调整大小的事件。这要求节点的实现本身进行适当的调整大小调用。

在下表中显示了可个性化view 内容(7)的可用字段列表。

栏位名称 说明/可能的值
nodeID 被引用节点的ID后缀
minWidth iframe通过设置最小宽度(以像素为单位)来限制的大小。
minHeight iframe通过设置最小高度(以像素为单位)来限制的大小。
maxWidth iframe通过设置最大宽度(以像素为单位)来限制的大小。
maxHeight iframe通过设置最大高度(以像素为单位)来限制的大小。
resizeMethod 用于正确确定iframe运行时大小的resize方法。可以是任何以下值:viewBodyOffsetviewBodyScrollviewDocumentElementOffsetviewDocumentelementScrollviewMaxviewMinviewGrowviewLowestElementviewTaggedElementviewLowestElementIEMaxaspectRatio4by3aspectRatio16by9aspectRatio1by1manual
autoResize 布尔型仅适用于基于大小的调整大小方法。使用此选项可以启用或禁用窗口大小或DOM更改时自动调整大小。请注意,始终会进行初始调整大小。
resizeInterval 数字仅适用于基于大小的调整大小方法。设置检查是否需要调整大小的时间间隔。默认值为32(ms)。
scrolling 布尔型仅适用于基于大小的调整大小方法。启用或禁用内的滚动条iframe。默认值为false
sizeHeight 布尔型仅适用于基于大小的调整大小方法。根据内容高度启用或禁用大小自适应。默认值为true
sizeWidth 布尔型仅适用于基于大小的调整大小方法。根据内容宽度启用或禁用大小自适应。默认值为false
resizeTolerance 数字仅适用于基于大小的调整大小方法。设置内容大小需要更改的像素数,然后才能iframe触发调整大小。默认值为0
additionalClasses 添加到HTML容器元素的其他类的数组。
additionalStyles 添加到HTML容器元素的其他CSS样式声明的数组。

# 父传统模式(8)(9)

所述parentLayoutLegacyMode(8)被激活(true),以允许所有小部件包含在使用的组件节点遗留模式 (opens new window)。也可以从旧版模式中取消设置每个单独的Widget节点,将选项(9)设置useLegacyModefalse

# 节点使用情况选项卡

布局编辑器的第一个选项卡是“节点使用率”选项卡。在这里,您可以选择要在复合视图中显示的窗口小部件节点,在“ WebPortal /组件视图”列中选中/取消选中它们。

最佳实践是避免使用Quickform节点,而应使用 Configuration节点 (opens new window)Widget节点 (opens new window)。但是,如果您在组件中使用Quickform节点并且想要隐藏它们,则可以在“节点使用”选项卡中进行操作。

在“ *WebPortal /组件视图”*列中选中或取消选中该节点以显示它或从复合视图中 (opens new window)隐藏它。在“*组件对话框”*列中选中或取消选中该节点以显示它或将其从配置对话框中 (opens new window)隐藏。

# 流式执行组件

您可以定义组件的执行模式,例如,在子工作流中,顺序和如何将数据从一个节点传递到另一个节点。安装KNIME流执行(Beta)扩展程序后,在每个组件配置对话框中,您都可以找到“*作业管理器选择”*选项卡。并非所有节点都支持流执行。但是,流执行可以应用于组件内部的整个子工作流。请注意,不可流式节点仍可以是组件内部子工作流的一部分,该子工作流以流模式执行。它们将仅在默认执行模式下执行。

要显示哪些节点支持流执行:

  • 单击节点存储库右上角的箭头
  • 在打开的菜单中,选择显示其他信息。现在,有关流执行能力的信息将显示在节点名称旁边,如图27 (opens new window)所示。
  • 如果在菜单中选择*“仅显示可流传输节点”*,则仅可流传输节点将出现在节点存储库中。

07节点回购附加信息

图27.某些节点在节点存储库中具有附加信息

KNIME流执行(Beta)是KNIME Labs扩展下的扩展。导航到安装文件- >安装KNIME扩展...

该执行可以在默认模式或流模式下执行,这将在下一部分中介绍。

# 默认执行

在默认执行模式下,工作流中的操作逐个节点执行。在处理完一个节点的整个输入数据之后,数据将从一个节点传递到另一个节点。传递到下一个节点的数据集是中间输出表,您可以通过在工作流中间打开节点的输出表来检查该表。 如果在任何配置对话框中打开“*作业管理器选择”*选项卡,然后查看“作业管理器选择” <>,那么将根据默认执行模式执行节点操作。

# 流执行

在流执行模式中,一旦有数据就将数据从一个节点传递到另一个节点。也就是说,不必一次处理所有数据,但是可以将它们分为多个批处理,这些批处理一个接一个地流化。因此,由于仅关注传输中的行并且不存储中间表,因此流执行模式导致更快的内存中执行。

要将默认执行切换为流执行,请在组件或节点配置对话框的“*作业管理器选择”*选项卡下选择“简单流”。如果流执行选项不适用于该节点,则您只会在菜单中看到该选项。<>

在这里,对于流执行模式,您还可以选择要流的批处理的大小,如图28 (opens new window)所示。

较大的值将减少同步,并具有更好的运行时间,而较小的值将确保传输的数据较少。

07块大小

图28.流执行模式和块大小选择

# 流式执行组件

如果使用流模式执行组件,则内部的子工作流始终会完全执行。组件内部节点的中间输出表不可用,因为它们没有存储。每一批数据通过子工作流的可流式传输节点逐一流式传输。如果它们到达不可流式处理的节点,它们将被存储在那里,直到所有批次都被流式处理为止。然后将它们再次分为几批,并传递到下一个可流式节点。

组件图标显示,同时无论是三个绿色右尖括号上右下角虚线黑色箭头在组件子工作流示出的节点 >>>,如果它们是可流传送的,或红色X,如果它们不是,如图图29 (opens new window)。节点之间的连接上方显示的数字是指已通过该特定连接的记录数。

07流执行

图29.组件内部的流执行

# 共享组件

组件封装了可以作为您的个人定制KNIME节点重用的功能,以执行您经常重复执行的任务,或者您可以简单地存储它们以供自己进一步重用。它们也可以通过KNIME Hub和KNIME Server与他人共享。

在工作流程中创建组件后,如果要在其他工作流程中重复使用它,则可以将其复制粘贴到新的工作流程中。但是,通过这种方式,一个工作流程中组件的更改不会触发其他工作流程。您可以通过共享和链接组件来获取要应用于其他组件的组件更改。

要共享组件,右键单击它,选择组件→*共享...*从上下文菜单,并选择在打开的窗口中显示的共享组件的目的地图30 (opens new window)

在这里您可以选择:

  • 共享组件的安装点
  • 包含或排除最终随组件一起出现的输入数据。
请注意,如果包含输入数据,则有权访问组件本身的每个人都可以访问它们。

08股成分

图30.另存为共享组件窗口

# 共享本地工作区中的组件

如果选择将组件保存在本地工作区中,则可以从本地KNIME Analytics Platform安装中访问该组件。

# 在KNIME服务器上共享组件

如果将组件保存到KNIME服务器,则可以从KNIME服务器客户端访问它。有关更多详细信息,请参阅《KNIME Explorer用户指南》 (opens new window)

# 在KNIME集线器上共享组件

您也可以在KNIME Hub中 (opens new window)保存和共享组件。在这里,您可以共享到私人空间中,从而可以访问它们并登录到您的KNIME Hub配置文件,也可以共享到公共空间中,与KNIME社区共享您的组件。

# 链接类型

链接类型定义检查更新时工作流如何查找共享组件。

选择组件的目标位置后,将打开一个对话框,要求您选择要使用的链接类型。

您有以下可能性:

  • 创建绝对链接:工作流连接到共享组件的绝对位置
  • 创建相对于安装点的链接:工作流基于文件夹结构连接到共享组件,在该文件夹结构下,工作流位于其中。如果将工作流程部署到KNIME服务器,则还必须部署共享组件,并且保持从安装点到组件的路径相同。
  • 创建相对于工作流程的链接:共享组件和使用其实例的工作流程之间的连接基于工作流程和共享组件之间的文件夹结构
  • 不创建与共享实例的链接:创建共享组件,但不将当前实例链接到该共享组件。
所选的链接类型用于当前实例,并且用作同一共享组件的所有其他实例的默认链接类型,稍后再创建。

选择正确的链接类型后,单击OK,共享组件将出现在KNIME Explorer中,如图31 (opens new window)所示。

08本地共享组件

图31.保存在本地工作空间中的共享组件

# 使用共享组件

要在工作流中使用共享组件,可以将其拖放到工作流编辑器中。左下角的绿色箭头(如图32 (opens new window) 所示)表示该组件已链接到共享组件。您可以将组件用作KNIME节点,使用封装在其中的功能,例如配置它或可视化其输出或交互式视图。

08实例组件

图32.工作流中共享组件的实例

# 编辑共享组件的实例

为了检查某个实例的链接类型,或自定义为一个特定的实例,右键单击该实例,然后选择组件更改链接类型... 从上下文菜单中。将打开图33 (opens new window)所示的对话框,您可以在其中选择新的链接类型。

08更改链接类型

图33.更改共享组件实例的链接类型

当您打开共享组件的实例时,背景为灰色,您无法进行任何更改。

为了能够编辑实例,您需要首先将其与共享组件断开链接。右键单击实例,然后选择ComponentDisconnect Link

您还可以触发对共享组件的更改,将更改后的实例覆盖到共享组件。右键单击更改的实例,选择ComponentShare,选择共享的组件位置并覆盖它。要查找组件的第一个实例的位置,请右键单击当前实例,然后从上下文菜单中选择“组件” →“在资源管理器中选择”。这将在KNIME Explorer面板中突出显示共享组件。

要检查所用组件的实例是否是链接的共享组件的最新版本,请右键单击当前实例,然后选择ComponentUpdate Link。如果有更新可用,则会打开一个对话框,询问是否应更新当前组件。

# 编辑共享组件

您可以编辑一个共享组件,直接从KNIME Explorer中打开它,方法是双击它,然后按“ ctrl”,或右键单击它,然后从上下文菜单中选择“打开”。现在,您可以更改组件中包含的子工作流,添加或删除节点,更改单个节点的参数或更改组合可视化的布局。按“ ctrl +” s或从工具栏中选择文件保存来保存更改。

# 更新链接的组件

您可以选择自动更新最终在工作流程中重用的链接组件。首次打开使用共享组件实例的工作流时,会提示一个对话框,您可以在其中选择是否要检查这些组件的更新。您也可以决定在以后的案例中不再显示该消息,并选择KNIME Analytics Platform记住您的选择。始终可以通过FilePreferences更改选择。在打开的窗口的左窗格中,转到KNIMEKNIME GUI,然后从工作流加载时更新链接的组件选项的下拉菜单中选择首选设置 ,如图34 (opens new window)所示。。

08首选项更新链接的组件

图34.首选项窗口,用于设置链接组件的更新

# Web应用程序的组件

当将包含组件的工作流保存到KNIME Server并通过KNIME WebPortal执行时,将在一页或多页中引导您完成该过程。每个页面对应于工作流程中的一个组件。

通过KNIME WebPortal将工作流部署到KNIME Server时,工作流根级别上包含Widget节点和View节点的组件将可视化为Web应用程序。

# 小部件节点

您可以使用组件内的Widget节点 (opens new window)来构建复合视图,该复合视图将在KNIME WebPortal上显示为网页。使用Widget节点是为了设置特定的配置,例如,从数据表的特定列中选择一个值作为过滤依据。然后,您可以在网页中输入特定参数的值,然后继续执行工作流程。这些值被注入到工作流程中,并用于参数化其执行。

# 交互式小部件节点和视图节点

您可以在组件内使用Interactive Widget节点 (opens new window)View节点 (opens new window)来构建复合视图,该复合视图将在KNIME WebPortal上显示为网页。使用View节点意在构建特定的可视化效果,例如表格,图表和绘图,这些可视化内容显示为网页。交互式窗口小部件节点也可以与“视图”节点一起排列,以便直接在网页上与可视化进行交互。

您可以 在《KNIME WebPortal用户指南》的“ (opens new window)为KNIME WebPortal创建工作流”部分 (opens new window)中找到有关如何使用KNIME WebPortal以及如何构建特定工作流的其他说明 。