sql输出带颜色的字段_表输出步骤详解

表输出步骤常被用于将转换中的行集从内存持久化到数据库,对转换而言是行集被拿出去的感觉,故名为输出。步骤 配置信息如图1所示。

85120654ca8b6ecdf76730c9f99503da.png 

图1 :表输出插件整体信息 

下文依次解释各配置项的含义: 1、转换步骤名称 :步骤的名称,在单一的转换中,名称必须唯一。 2、数据库连接 :目标数据源的JDBC连接,右侧第一个“编辑”可以对数据库连接信息进行编辑;第二个“新建”按钮可以新建数据库连接;第三个“向导”按钮可以根据指引分步去建立数据库连接。 3、目标模式 :行集写入 数据的表的 Schema的名称。 可以点击右侧的“浏览”按钮,进行选择。 4、目标表 :行集写入数据的表名, 可以点击右侧的“浏览”按钮,进行选择 。如果激活了表分区(控件9),那么这里只是决定目标表的前缀。 5、提交记录数量 :批处理记录数量限制(注意必须填整数),设其值为n 。 如果n<0,那么插入后将不提交事务。 如果n等于0,Kettle将自动把n设置为最大整数(值为 2147483647 );如果n>0, 那么Kettle将判断是否可以采用批处理模式。如果可以,那么将采用JDBC批量处理的方式,每隔n行执行一次批处理、提交事务、清空批处理;如果不支持批处理,那么将逐行执行insert语句,并每隔n行提交一次事务。批处理模式性能更高,但需要多个条件同时满足:数据库支持批处理、不需要获取返回的主键字段值、没有在转换属性中激活使用唯一连接(转换/属性/杂项/使用唯一连接)。 例如图1中设置为100,那么Kettle将在100行、200行、300行 ......时提交事务,到底提交多少次由输入行集行数决定。 6、裁剪表 : 在插入数据之前清除目标表数据。注意这里采用的truncate而不是delete,用户需明白二者之间的区别。 7、忽略插入错误 :忽略插入时发生的异常。如果启用批量插入(第13个控件),则此功能不可用。此功能需谨慎使用,虽然错误日志能够记录20个以内的错误详情,但数据库的插入异常应当重视。 8、指定数据库字段 : 勾选 之后 ,才能设置 数据库字段与行集中的流字段建立对应关系。 具体操作是在下方数据库字段标签页中 通过 点击“获取字段”按钮 获取上一步输出的字段; 也可以 通过 点击“输入字段映射”按钮 自定义对应字段; 其中的表字段指的是所填写目标表的字段,流字段是指转换中输入行集输出的字段(如图2)。  

2f9d5dd18f410f34b529c50b230bba69.png

图 2 数据库字段标签页信息 9、表分区数据 :激活时可以启用逻辑分区,也就是某个字段的值决定该行的存储目标表。此控件必须与第10、11、12结合使用。 假设第4个控件填入目标表为t,第10个控件选择字段为c。

如果激活了每个月分区(控件11),那么将如果行的c字段月份值为202001,则该行存入表t_202001;如果行的c字段月份值为202002,则该行存入表t_202002......

如果激活了每个天分区(控件12),那么将如果行的c字段日期值为20200101,则该行存入表t_20200101;如果行的c字段日期值为20200102,则该行存入表t_20200102......

10、分区字段: 在下拉框中选择想要分区的字段。因为Kettle只支持按照月份或者天分区,所以该字段必须为日期类型。 11、每个月分区数据 :选择之后,以时间月为单位分区数据。 12、每天分区数据 :选择之后,以时间天为单位分区数据。 13、使用批量插入 :激活批量插入。激活条件下,性能更高。 14、表名定义在一个字段里? :如果激活,那么每一行数据插入的表名称由此字段值决定。这是一种灵活性更大的分区功能,避免上述只能支持按月、按天分区的局限性。所以本控件激活后,第10、11、12三个控件禁止选择。前提就是需要用户在表输出前,通过业务逻辑控制好需要写入的表名,并存入行集中的某个流字段中。 15、返回一个自动产生的关键字 :往表中插入行时,是否返回主键值。多数关系数据库都支持自增长字段,这些字段的值在插入数据库记录后,自动产生并增长。常见表设计均会采用这种逻辑主键。如果需要在插入数据库记录后,返回这个主键值以供后续处理,那么可以激活本控件。 16、自动产生的关键字的字段名称 :指定包含关键字的输出字段的字段名称。该字段将包含每一行插入后产生的主键值。所以必须激活第15个控件,此控件方可使用。 17、最下方的“SQL”按钮 :根据表字段设置生成自动创建输出表的 SQL脚本。确认脚本无误后,可以点击执行按钮,更新数据库表。

内部供稿 CCSAII037

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值