更新帮助文档

更新步骤是利用查询关键字在表中搜索行。如果行中设置的更新字段内容有差异,则更新行。如果设置的更新字段没有任何改变,则不进行任何操作,步骤配置信息如图1所示。

                           

 

                                                                                 图1 步骤配置信息

 

下文详细解释各控件的含义:

1、转换步骤名称:步骤的名称,在单一转换中,名称必须唯一。

2、数据库连接:读取数据的JDBC连接,右边第一个“编辑”可以对连接信息进行编辑;第二个“新建”按钮可以新建JDBC连接;第三个“向导”按钮可以根据指引分步去建立JDBC连接。

3.目标模式:输入的行集写数据的表Schema的名称。可以点击右边的“浏览”按钮,进行选择。

4.目标表:行集写入数据的表名,可以点击右边的“浏览”按钮,进行选择。

5.提交记录数量:批处理行集数量限制(注意必须填整数),设其值为n。如果n<0,那么更新后将不提交事务。如果n等于0,Kettle将自动把n设置为最大整数(值为2147483647);如果n>0,那么Kettle将判断是否可以采用批处理模式。如果可以,那么将采用JDBC批量处理的方式,每隔n行执行一次批处理、提交事务、清空批处理;如果不支持批处理,那么将逐行执行insert或update语句,并每隔n行提交一次事务。批处理模式性能更高,但需要多个条件同时满足:数据库支持批处理、不需要获取返回的主键字段值、没有在转换属性中激活使用唯一连接(转换/属性/杂项/使用唯一连接)。例如图1中设置为100,那么Kettle将在100行、200行、300行......时提交事务,到底提交多少次由输入行集行数决定。

6.批量更新:勾选此项,对流中的数据批量更新,每次更新数据量由“提交记录数量”决定。不勾选时,会逐条更新。

7.跳过查询:勾选此项,利用控件9中的查询关键字在表中搜索行,没有找到的行不进行任何操作。对找到的行若设置的“更新字段”内容有差异,则更新行。不勾选时,则关键字中目标表字段与流字段的数据值范围应保持相同,否则会报错。

8.忽略查询失败:勾选此项,利用查询关键字在表中搜索行,对没有找到的行数据与存在的行数据分别传入到不同的流中。:标志字段是对每行数据进行标识的字段取一个别名。

9.用来查询值的关键字:指定字段名和比较符的列表。点击“获取字段”按钮:从目标表和输入流中获取字段,并填充到关键字列表中。表字段为目标表中所获取的字段,流里的字段1和流里的字段2为输入流中获取的字段。当比较符选择为BETWEEN时,则选择流里的字段1为开始字段,流里的字段2为结束字段。当为其他比较符时,只能选择流里的字段1进行设置,否则会报错。可设置多个字段进行比较,当多个字段全部匹配为True时,才认定为匹配成功。:一般会用唯一键字段作为比较字段。

10.更新字段:指定要更新的表中的所有字段,表字段列为目标表中所获取的字段,流字段列为输入流中获取的字段。若有新数据时,则无法将流字段中的值按行集更新到表字段中。若为历史数据更新时,则根据更新列选项判断是否更新此行:集中流字段数据到表字段中。为“Y”时更新,为“N”时不更新。:此列不填则默认为N。点击右侧“获取和更新字段”按钮可获取目标表和输入流中的全部字段。点击“编辑映射”可更快捷的配置表字段和流字段的映射关系。

11.SQL按钮:根据更新字段设置生成自动创建输出表的SQL脚本。确认脚本无误后,可以点击执行按钮,更新数据库表。

 

文章原创首发于:https://ckettle.ccsaii.com.cn/help/StepPluginType/Update?s=csdn

更多CKettle内容,欢迎点击上述链接学习。