表输入(Table output)介绍:
Table output步骤常被用于将转换中的行集从内存持久化到数据库,对转换而言是
行集被拿出去的感觉,故名为输出。可以限制提交记录数量和指定插入的目标表
字段
Use batch update for inserts :激活批量插入。激活条件下,性能更高。默认为勾选状
态
Ingore insert errors :忽略插入时发生的异常,有报错时整个转化就停止。如果启用批量插入,则此功能不可用。此功能需谨慎使用,虽然错误日志能够记录20个以内的错误详情,但数据库的插入异常应当重视
Specify database fields :指定字段跟数据库表字段的映射关系,当没勾选时根据字段名称进行自动配对
Truncate table :插入数据前清空表,注:这里采用的truncate而不是delete
Partition data over tables :激活时可以启用逻辑分区,也就是某个字段的值决定该行
的存储目标表
Partitioning field :在下拉框中选择想要分区的字段。因为Kettle只支持按照月份或者天分区,所以该字段必须为日期类型。
Partition data per month :选择之后,以时间月为单位分区数据
Partition data per day :选择之后,以时间天为单位分区数据
Is the name of the table defined in a field :如果激活,那么每一行数据插入的表名称由
此字段值决定。这是一种灵活性更大的分区功能,避免上述只能支持按月、按天分区的局限性。
SQL :当目标库没有此表时会生成对应的建表语句,当有字段修改添加时也会有对应的SQL
Return auto-generated kye :往表中插入行时,是否返回主键值。多数
关系数据库都支持自增长字段,这些字段的值在插入数据库记录后,自动产生并
增长。常见表设计均会采用这种逻辑主键。如果需要在插入数据库记录后,返回
这个主键值以供后续处理,那么可以激活本控件。
Name of auto-generated key field:指定包含关键字的输出字段的字段名称。该字段将包含每一行插入后产生的主键值