迁移和装载

表输出

表输出是将数据装载至数据库的表中。 为了方便使用数据库查询和统计学生的考试成绩,需要对“2020年1月月考1班数学成绩.xls”文件的数据,使用表输出组件,迁移和装载至MySQL中“demodb”数据库。

(1) 建立【表输出】转换工程。

(2) 设置【表输出】组件参数。

(3) 预览结果数据。

建立表输出转换工程的步骤如下。 (1) 创建转换工程和建立数据库连接。使用Ctrl+N快捷键,创建【表输出】转换工程,参考2.1小节的介绍,创建名称为“demodbConn”的数据库连接,将该连接设置为共享,并设置该连接能够访问到MySQL中的“demodb”数据库。

(2) 创建【Excel输入】组件,导入数据文件并浏览数据。在【表输出】转换工程中,创建【Excel输入】组件,设置参数,导入“2020年1月月考1班数学成绩.xls”文件,预览数据,如图所示。

迁移和装载_第1张图片

 3) 创建【表输出】组件并建立连接。在【表输出】转换工程中,单击【核心对象】选项卡,展开【输出】对象,选中【表输出】组件,并拖曳到右边工作区中。由【Excel输入】组件指向【表输出】组件,建立节点连接,如图所示。

双击【表输出】组件,弹出【表输出】对话框,如图所示,【表输出】组件的参数包含组件的基础参数,以及【主选项】和【数据库字段】两个选项卡参数。

迁移和装载_第2张图片

 组件的基础参数 在【表输出】对话框中,组件的基础参数说明如表所示。

参数名称

说明

步骤名称

表示表输出组件名称,在单个转换工程中,名称必须唯一。默认值为【表输出】的组件名称

数据库连接

表示数据库连接名称,在下拉框列表中选择一个现有的连接。如果修改现在的连接,单击【编辑…】按钮修改,如果没有连接,单击【新建…】或【Wizard…】按钮创建。默认值为当前工程中现有的、按名称排列在前的一个数据库连接名称

目标模式

表示数据库模式的名称。默认值为空

目标表

表示将数据写入到数据库中的表的名称。默认值为空

提交记录数量

表示向数据库提交批记录数量的大小。默认值为1000

裁剪表

表示是否在将第一行数据插入到表之前截断表。如果是在集群上运行转换,或使用此步骤的多个副本,那么必须在开始转换之前截断表。默认值为空

忽略插入错误

表示忽略所有插入错误,如过违反主键规则,那么最多记录20个警告,此选项不适用于是使用批量插入。默认值为空

指定数据库字段

表示是否选择数据库的字段,如果选择,那么在【数据库字段】选项卡参数中指定字段,否则默认插入所有字段。选择此参数,才能使用【数据库字段】选项卡中的【获取字段】【输入字段映射】按钮。默认值为空

在【表输出】对话框中,设置有关参数,将“2020年1月月考1班数学成绩.xls”文件中的数据输出至MySQL的“demodb”数据库中的“2020年1月月考数学成绩”数据表,步骤如下。 (1) 确定组件名称。【步骤名称】保留默认值“表输出”。 (2) 设置数据库连接。单击【数据库连接】下拉框,选择“demodbConn”。 (3) 设置目标表参数。【目标表】设置为“2020年1月月考数学成绩”。

 执行SQL语句,生成数据表。单击【SQL】按钮,弹出【简单SQL编辑器】对话框,如图所示。

迁移和装载_第3张图片 

【主选项】选项卡参数 在【表输出】对话框中,【主选项】选项卡参数的说明如表所示,【主选项】选项卡参数的设置采用默认值。 。

参数名称

说明

表分区数据

表示数据是否是进行数据表分区方式。采用此方式,字段名称要有指定日期字段的值,在多个数据表上拆分数据。为了在这些表中插入数据,必须在运行转换之前手动创建数据表。默认值为空

分区字段

表示用于确定跨多个数据表分割数据的日期字段的值,此值用于生成日期数据表名称,并将数据插入到该数据表中。默认值为空

每个月分区数据

表示数据是否采用每月分区方式,使用此方式,数据表中使用的日期格式为yyyyMM

每天分区数据

表示数据是否采用每天分区方式,使用此方式,数据表中使用的日期格式为yyyyMMdd

使用批量插入

表示是否使用批量的方式插入数据,默认值为√

表名定义在一个字段里?

表示数据表名称是否在字段里定义,默认值为√

包含表名的字段

表示包含数据表名称的字段,默认值为空

存储表名字段

表示数据表的名称存储在输出流中,默认值为空

返回一个自动产生的关键字

表示当向数据表插入一行数据时,是否返回一个关键字段。默认值为空

自动产生的关键字的字段名称

表示返回关键字段的名称,默认值为空

 

在【表输出】转换工程中,单击【表输出】组件,再单击工作区上方的 图标。预览进行表输出处理后的数据,如图所示。

迁移和装载_第4张图片 

 

你可能感兴趣的:(ETL-kettle,数据库,java,mysql)