表输出
表输出是将数据装载至数据库的表中。 为了方便使用数据库查询和统计学生的考试成绩,需要对“2020年1月月考1班数学成绩.xls”文件的数据,使用表输出组件,迁移和装载至MySQL中“demodb”数据库。
(1) 建立【表输出】转换工程。
(2) 设置【表输出】组件参数。
(3) 预览结果数据。
建立表输出转换工程的步骤如下。 (1) 创建转换工程和建立数据库连接。使用Ctrl+N快捷键,创建【表输出】转换工程,参考2.1小节的介绍,创建名称为“demodbConn”的数据库连接,将该连接设置为共享,并设置该连接能够访问到MySQL中的“demodb”数据库。
(2) 创建【Excel输入】组件,导入数据文件并浏览数据。在【表输出】转换工程中,创建【Excel输入】组件,设置参数,导入“2020年1月月考1班数学成绩.xls”文件,预览数据,如图所示。
3) 创建【表输出】组件并建立连接。在【表输出】转换工程中,单击【核心对象】选项卡,展开【输出】对象,选中【表输出】组件,并拖曳到右边工作区中。由【Excel输入】组件指向【表输出】组件,建立节点连接,如图所示。
双击【表输出】组件,弹出【表输出】对话框,如图所示,【表输出】组件的参数包含组件的基础参数,以及【主选项】和【数据库字段】两个选项卡参数。
组件的基础参数 在【表输出】对话框中,组件的基础参数说明如表所示。
参数名称 | 说明 |
步骤名称 | 表示表输出组件名称,在单个转换工程中,名称必须唯一。默认值为【表输出】的组件名称 |
数据库连接 | 表示数据库连接名称,在下拉框列表中选择一个现有的连接。如果修改现在的连接,单击【编辑…】按钮修改,如果没有连接,单击【新建…】或【Wizard…】按钮创建。默认值为当前工程中现有的、按名称排列在前的一个数据库连接名称 |
目标模式 | 表示数据库模式的名称。默认值为空 |
目标表 | 表示将数据写入到数据库中的表的名称。默认值为空 |
提交记录数量 | 表示向数据库提交批记录数量的大小。默认值为1000 |
裁剪表 | 表示是否在将第一行数据插入到表之前截断表。如果是在集群上运行转换,或使用此步骤的多个副本,那么必须在开始转换之前截断表。默认值为空 |
忽略插入错误 | 表示忽略所有插入错误,如过违反主键规则,那么最多记录20个警告,此选项不适用于是使用批量插入。默认值为空 |
指定数据库字段 | 表示是否选择数据库的字段,如果选择,那么在【数据库字段】选项卡参数中指定字段,否则默认插入所有字段。选择此参数,才能使用【数据库字段】选项卡中的【获取字段】【输入字段映射】按钮。默认值为空 |
在【表输出】对话框中,设置有关参数,将“2020年1月月考1班数学成绩.xls”文件中的数据输出至MySQL的“demodb”数据库中的“2020年1月月考数学成绩”数据表,步骤如下。 (1) 确定组件名称。【步骤名称】保留默认值“表输出”。 (2) 设置数据库连接。单击【数据库连接】下拉框,选择“demodbConn”。 (3) 设置目标表参数。【目标表】设置为“2020年1月月考数学成绩”。
执行SQL语句,生成数据表。单击【SQL】按钮,弹出【简单SQL编辑器】对话框,如图所示。
【主选项】选项卡参数 在【表输出】对话框中,【主选项】选项卡参数的说明如表所示,【主选项】选项卡参数的设置采用默认值。 。
参数名称 | 说明 |
表分区数据 | 表示数据是否是进行数据表分区方式。采用此方式,字段名称要有指定日期字段的值,在多个数据表上拆分数据。为了在这些表中插入数据,必须在运行转换之前手动创建数据表。默认值为空 |
分区字段 | 表示用于确定跨多个数据表分割数据的日期字段的值,此值用于生成日期数据表名称,并将数据插入到该数据表中。默认值为空 |
每个月分区数据 | 表示数据是否采用每月分区方式,使用此方式,数据表中使用的日期格式为yyyyMM |
每天分区数据 | 表示数据是否采用每天分区方式,使用此方式,数据表中使用的日期格式为yyyyMMdd |
使用批量插入 | 表示是否使用批量的方式插入数据,默认值为√ |
表名定义在一个字段里? | 表示数据表名称是否在字段里定义,默认值为√ |
包含表名的字段 | 表示包含数据表名称的字段,默认值为空 |
存储表名字段 | 表示数据表的名称存储在输出流中,默认值为空 |
返回一个自动产生的关键字 | 表示当向数据表插入一行数据时,是否返回一个关键字段。默认值为空 |
自动产生的关键字的字段名称 | 表示返回关键字段的名称,默认值为空 |
在【表输出】转换工程中,单击【表输出】组件,再单击工作区上方的 图标。预览进行表输出处理后的数据,如图所示。