定时任务之kettle设计器使用之一(quartz)
今天在写定时任务job的问题,涉及到了kettle 就是所谓的数据设计器 帮助我们进行数据转换,数据清洗。话不多说 简要上一个教程 教大家使用kettle我这个是我们公司自己设计的设计器是一款ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效、稳定、便捷。龙云设计器这个ETL工具集,它允许你管理来自不同数据库的不同数据,通过提供一个图形化的用户环...
今天在写定时任务job的问题,涉及到了kettle 就是所谓的数据设计器 帮助我们进行数据转换,数据清洗。
话不多说 简要上一个教程 教大家使用kettle
我这个是我们公司自己设计的
设计器是一款ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效、稳定、便捷。龙云设计器这个ETL工具集,它允许你管理来自不同数据库的不同数据,通过提供一个图形化的用户环境来描述你想做什么。设计器中有两种脚本:transformation和job,transformation完成针对数据的基础转换(生成转换会在目录下生成一个后缀名为ktr的转换文件),job则完成对整个工作流的控制(生成job会在目录下生成一个后缀名为kjb的作业文件)。
kettle基本都一样的
1.1连接资源仓库步骤:
注:红体字为设计器部分按钮,数据库连接时一定注意填写数据编码格式为utf-8,即图2.0.5操作
1.1.1选择菜单栏 工具 下拉选择 资源库 点击右侧 连接资源库 选项(或快捷键CTRL+R)看到如下图2.0.1
图2.0.1
1.1.2新建一个资源库连接,点击+号可看到如图2.0.2,有两种创建的资源仓库类型,分别为数据库类型和文件类型,本文选择数据库类型,打开如图2.0.3所示界面,开始新建数据库连接 点击 新建 弹出数据库信息界面图2.0.4 进行逐项填写(就是连接数据库的操作)本文连接的为本机的MySql数据库
图2.0.2 图2.0.3
图2.0.4
本步骤数据库连接值得注意的是 防止中文乱码问题 需手动设置一下统一为utf-8编码格式 点击 选项 输入如图2.0.5所示
图2.0.5
输入完毕后点击 测试 如图2.0.6,测试连接正常点击 确认 即成功连接数据库 回到如图2.0.7填写资源库其他信息
图2.0.6
图2.0.7
图2.0.8
点击创建或更新后显示如图2.0.8则表示创建设计库成功,点击完此对话框的确定按钮后还需点击图2.0.7的确定按钮,不然你之前的一系列操作就枉费了,成功创建完设计库,选择我们刚创建好的设计库 填写资源库的用户名和密码(此用户名和密码向负责人请求即可)如图2.0.9
图2.0.9
图2.1.0
填写完毕点击确定按钮看到如图2.1.0所示即表示连接资源库成功了
2.1设计设计器基本作业和转换案例及说明
2.1.1
简易案例一之新增转换将Excel文件的数据插入到数据库(Transformation):
转换要求:
a.准备Excel表数据如图3.0.0所示(Sheet1表)
b.准备数据库的接收表图3.0.1所示(本文使用mysql,具体根据你的需求进行选择性使用)
图3.0.0
图3.0.1
转换步骤a选择输入的文件:
点击如图2.1.0所示的新增转换(蓝体字)创建新的转换 打开左侧的核心对象状态栏,双击输入目录里的控件Excel输入,可看到控件移入右边的主菜单中(也可对控件进行拖拽,这样方便你将控件放置在菜单中合适的位置上,本文就使用拖拽控件)如图3.0.2所示,双击已经移入右边主菜单的Excel输入控件 可编辑此控件的属性信息如图3.0.3所示:
图3.0.2
图3.0.3
按照图片提示进行选择 文件 选择工作表(图3.0.4) 选择内容(图3.0.5) 选择字段(图3.0.6)
图3.0.4
图3.0.5
图3.0.6
转换步骤b:选择输出的表
选择核心对象目录 输出 表输出控件拖拽至右侧主菜单中,双击表输出控件编辑其属性如图3.0.7所示
图3.0.7
编辑完主选项后如图3.0.7所示后,开始编辑数据库字段设置如图3.0.8所示
图3.0.8
然后我们按住Shift键拖拽剪头从Excel输入到表输出,这里我们就完成了一个简单转换 可是遇到问题了,我们的输入数据中存在重复的数据(图3.0.9),那么我们不做处理,输出也会存在,可是这不是我们想要的最终结果 那我们便要对数据进行一系列处理
图3.0.9
转换步骤c:增加数据处理转换
选择核心对象目录 转换 排序记录控件拖拽至右侧主菜单编辑其属性如图3.1.0
(注:有人提疑问为什么直接不选择去除重复记录控件,注意一下 去除重复记录控件的处理前提是相邻记录行,所以我们要先对数据排序)
图3.1.0
完成后点击确定,再选择去除重复记录控件 编辑其属性如图3.1.1
图3.1.1
编辑结束过后按照顺序进行流程连接如图3.1.2所示
图3.1.2
再运行转换前要先保存哦!到此一个从文件到库的转换成功完成,让我们看看数据库test表是否已经是我们需要的数据了如图3.1.3所示
图3.1.3
2.1.2
简易案列二之新增转换将数据库的数据导入至文件中(Transformation)
转换要求:
a:准备一个输入表数据如图3.2.0所示
图3.2.0
b:准备要接收数据的文件目录(不需要创建文件,只需要路径即可,系统会自动创建文件的)我们这里就确定目录为下:
\E:\longclound\longcloud-DTDesigner\Folder\file.txt
转换步骤a:
选择核心对象 输入 表输入控件拖拽至右侧菜单编辑控件属性如图3.2.1所示
图3.2.1
编辑完毕 点击确定
转换步骤b:将蔬菜的单价和数量相乘获取总价
选择核心对象 转换 计算器控件编辑如图3.2.2所示
编辑完点击确定按钮
再选择核心对象 输出 文本文件输出控件如图3.2.2所示
图3.2.2
文件路径个扩展名选择完毕后选择内容如图3.2.3所示
图3.2.3
内容编辑完点击确定选择字段按钮进行编辑如图3.2.4所示
图3.2.4
编辑完毕点击确定开始进行流程连接如图所3.2.5所示,保存转换进行调试运行,
成功后即可看见文件如图3.2.6所示
图3.2.6
那么到此从库到文件的简单输出转换就完成了
简单转换案列到此结束
好了 ,陆续后期上难的数据转换和作业!!!
更多推荐
所有评论(0)