全部文档
文档中心数据流功能数据控件&节点处理系列控件

处理系列控件

处理控件是将数据流内流管道的数据传入指定的数据源的能力控件,如【MySQL处理】可以将前序节点穿给他的批次数据存入指定的MySQL数据库中。

处理系列控件随着处理方式的不同而不同,大体上可以分为4类:

写入类处理控件指的是将流管道内的批次数据以一定的匹配逻辑写入指定的数据源中的能力控件。 写入系列的核心逻辑就是一个INSERT动作,把前序节点获得的所有数据全部写入指定数据源的数据表中。 流管道的数据目前有两种格式,一种是标准格式(AVRO),一种是JSON格式,写入数据时,不同格式的数据需要用不同的处理方法。

  • 数据是通过字段名称来匹配的,流管道数据中的字段名与指定数据源数据表中的字段名相同时,该字段下的数据才会被写入;

  • 如果前序节点有多个,则会依次执行写入动作,即所有前序节点的数据都会被写入,非前序节点的数据无法操作; 【注】:图中,MySQL读取1、3、4均为MySQL写入的前序节点,但MySQL读取2不是

  • 如果没有前序节点,流管道中数据为空时,则不执行写入动作,但是不报错,其表现应与没有任何字段名匹配的逻辑一样。

  • 具体的写入动作由数据库去真正执行,数据流本身只做请求和调用工作,如果本身数据库被锁或无法写入,则数据流会在执行中报错。

更新类处理控件指的是以流管道内的批次数据为基础,通过UpdateKey去判定和匹配符合条件的数据,将流和目标数据表的字段名相同的符合条件的数据进行更新。 更新系列的核心逻辑就是把流文件中的数据内容,更新至指定数据库的数据表中。 更新条件是通过UpdateKey来确认的,具体逻辑如下图: 更新后,表2的表数据为:

  • 数据是通过字段名称来匹配的,流管道数据中的字段名与指定数据源数据表中的字段名相同时,该字段下的数据才会被更新;

  • 如果前序节点有多个,则会依次执行更新动作,即所有前序节点的数据都会进行更新,非前序节点的数据无法操作;

  • 如果没有前序节点,流管道中数据为空时,则不执行更新动作,但是不报错,其表现应与没有任何字段名匹配的逻辑一样。

更新插入和更新的逻辑基本一样,主要区别有以下2点:

  • 更新插入类的控件不通过UpdateKey来完成匹配逻辑,而是通过目标数据表的主键字段;

  • 更新插入类的控件在通过主键匹配成功时,会更新同名字段的数据,匹配不成功时,会将该条数据插入目标表。

删除类的处理控件指的是将目标数据源中和流管道内数据一模一样的数据进行删除的能力控件。 删除系列的核心逻辑就是把指定数据库的数据表内符合条件的数据删除。 删除条件是通过流文件数据来判定的,简单理解就是,在指定数据库的数据表中查找包含流文件的数据的数据内容,找到了就删除对应行数据。 删除的匹配逻辑也是通过UpdateKey来确认的,只不过这里的UpdateKey是流数据中的全部字段,具体逻辑如下图: 节点执行后,表2中第一行与第四行数据会被删除。

  • 数据是通过字段名称来匹配的,流管道数据中所有字段的字段名与指定数据源数据表中全部或部分字段的字段名相同时,才会执行删除动作;

  • 如果流管道数据和指定数据源数据的字段名称相同,但字段顺序不同,依旧判定为匹配成功;

  • 如果前序节点有多个,则会依次执行删除动作,即所有前序节点的数据都会进行匹配,非前序节点的数据无法操作,只要符合任一前序节点的数据匹配条件,就会执行删除操作;

  • 如果没有前序节点,流管道中数据为空时,则不执行删除动作,但是不报错,其表现应与判定失败的删除逻辑一样。

处理系列控件基本是按上述的处理逻辑执行的,并没有很多具体的配置项。 处理控件的基础配置、流程配置和正常控件的配置内容相同,详见《数据控件&节点·节点属性配置》。 以【MySQL处理】节点为例,其配置项会随着[处理类别]的值的不同而不同。

当[处理类别]的值为”写入”时,则表示当前控件为写入类控件。 该类控件共有2个配置项,分别是[数据源]和[数据表名称]。

数据源是用来选择当前【MySQL处理】节点所对应的数据源的配置项。 该配置项是一个必填的单项下拉框组件,点击字段空白处即可展开下拉选项,其中所有的下拉选项,均显示为已配置数据源的名称,显示顺序与数据源展示区域的数据源显示区域保持一致。

数据表名称是用来配置当前【MySQL处理】节点处理对象的数据表的配置项。 该配置项是一个必填的单行文本组件,点击字段空白处即可开始编辑。组件进入编辑状态后,会根据已选的[数据源]在下拉菜单中罗列可选的数据表名称。

当[处理类别]的值为”更新”时,则表示当前控件为更新类控件。 该类控件共有3个配置项,分别是[数据源]、[数据表名称]和[匹配字段]。

数据源是用来选择当前【MySQL处理】节点所对应的数据源的配置项。 该配置项是一个必填的单项下拉框组件,点击字段空白处即可展开下拉选项,其中所有的下拉选项,均显示为已配置数据源的名称,显示顺序与数据源展示区域的数据源显示区域保持一致。

数据表名称是用来配置当前【MySQL处理】节点处理对象的数据表的配置项。 该配置项是一个必填的单行文本组件,点击字段空白处即可开始编辑。组件进入编辑状态后,会根据已选的[数据源]在下拉菜单中罗列可选的数据表名称。

匹配字段是用来匹配流管道内数据和目标表数据是否相同的筛选条件配置项。 该配置项是一个必填的多行温拌,点击字段空白处即可开始编辑,如果有多个字段,则需要用英文半角的都好对其进行区分。

当[处理类别]的值为”更新插入”时,则表示当前控件为更新插入类控件。 该类控件共有2个配置项,分别是[数据源]、[数据表名称]。

数据源是用来选择当前【MySQL处理】节点所对应的数据源的配置项。 该配置项是一个必填的单项下拉框组件,点击字段空白处即可展开下拉选项,其中所有的下拉选项,均显示为已配置数据源的名称,显示顺序与数据源展示区域的数据源显示区域保持一致。

数据表名称是用来配置当前【MySQL处理】节点处理对象的数据表的配置项。 该配置项是一个必填的单行文本组件,点击字段空白处即可开始编辑。组件进入编辑状态后,会根据已选的[数据源]在下拉菜单中罗列可选的数据表名称。

当[处理类别]的值为”更新插入”时,则表示当前控件为更新插入类控件。 该类控件共有2个配置项,分别是[数据源]、[数据表名称]。

数据源是用来选择当前【MySQL处理】节点所对应的数据源的配置项。 该配置项是一个必填的单项下拉框组件,点击字段空白处即可展开下拉选项,其中所有的下拉选项,均显示为已配置数据源的名称,显示顺序与数据源展示区域的数据源显示区域保持一致。

数据表名称是用来配置当前【MySQL处理】节点处理对象的数据表的配置项。 该配置项是一个必填的单行文本组件,点击字段空白处即可开始编辑。组件进入编辑状态后,会根据已选的[数据源]在下拉菜单中罗列可选的数据表名称。

回到顶部

咨询热线

400-821-9199

我们使用 ChatGPT,基于文档中心的内容以及对话上下文回答您的问题。

ctrl+Enter to send