一、kettle是什么?

Kettle,简称ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),是一款国外开源的ETL工具,纯Java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定,对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少。kettle支持图形化的GUI设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现,其中最主要的我们通过熟练的应用它,减少了非常多的研发工作量,提高了我们的工作效率。

二、应用场景

春节期间,客服人员值班需要去查看数据报表,根据报表去对单据进行操作,但是这些报表数据量很大会影响到性能且特殊,一般情况下不需要用到,所以无需、也没必要上线至到系统里面,这样子就需要我们用sql来定期导这份报表并交付给用户,这个时候就需要用到kettle来替我们自动的实现此需求,而不是每天呆呆的打开电脑远程进行导报表然后发给用户。

三、实操

1、工具安装

工具包:kettle下载:https://community.hitachivantara.com/s/article/data-integration-kettle

Java1.8:kettle是纯java编写,所以也需要安装jdk,版本1.8 :https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

下载后双击安装,默认安装即可,然后配置境变量,

②    打开环境变量配置。计算机→属性→高级系统设置→高级→环境变量,在系统变量中配置。

配置JAVA_HOME。新建,变量名JAVA_HOME,变量值,jdk路径,我的路径是C:\Program Files\Java\jdk1.8.0_121,保存。

③    配置CLASSPATH。新建,变量名CLASSPATH,变量值,.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(第一个分号前前面有一个点)。

④    配置CLASSPATH。新建,变量名CLASSPATH,变量值,.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(第一个分号前前面有一个点)。

⑤    验证

⑥因为kettle主要是对数据库进行操作,所以需要提前将数据库的jar包放到lib文件夹下边,比如我要操作的库是mysql,就需要将mysql的jar包放在lib目录下(https://dev.mysql.com/downloads/connector/j/

2、运行kettle并编写程序

1、双击运行启动脚本spoon.bat就可以了

基础组件不进行详细介绍

2、在主对象树,右键新建一个转换

在核心对象,拉取一个输入功能的框,这里选择表输入,可以让我们输入sql生成的报表

3、输入表输入的步骤的名字,这里我命名叫做“表输入”,命名能清晰描述即可,然后输入要执行的sql

4、双击编辑信息填入要连接的数据库信息,然后测试,没问题的话点保存,有问题的话检查下信息是否填错。

5、到这里就定义好要输入的表了,接着就将这些sql所生产的报表进行字段选择确认、或者是将生产的字段转换都可以,所以选择一个字段选择

6、将表输入和字段选择连接起来,按ctrl可以进行连接

7、双击字段选择进行编辑信息,获取选择的字段,然后选择清除并增加所有,就可以将表输入那里获取的字段都添加进来,并且可以改字段名、长度、精度、这里默认即可

8、字段选择好了就要将字段、将数据输出出来,所以选一个Microsoft Excel 输出,然后连接字段选择,并进行编辑。

再选择内容,进行选择字段内容

9、左边工具栏选择作业里面的从结果获取文件,供我们获取执行好的文件进行后面的执行任务发送邮件用,选择好了并进行连接

10、然后运行

然后转换完成就会在我定义好的路径里面生产文件了

打开看看

到这里转换的部分就完成了,接下来就进行邮件发送了

10、新建一个作业,供发送邮件用

然后选择一个开始,表示这个任务的开始,再拉取一个转换,表示这这任务开始将我们需要转换成邮件的内容进行转换,然后进行连接

12、连接需要转换的文件,就是我们最开始创建的转换sql的那个文件

13、再拉起一个发送邮件,供我们发送邮件用,并编辑信息

多个邮箱时用空号隔开

填写发送的邮箱的信息

添加邮件信息

添加附件

至此,kettle的工作就完成了,现在在下一步步骤里面验证一下

三、设置定时任务

1、先看下路径存放位置

/data/kettle_file/material

/data/kettle_file/material/reports文件夹专门放生产的报表的

3、编写定时执行的脚本

4、执行一下脚本

5、设置定时任务,我是写在脚本的,kettle自带的没用过

每天早上9点发一次,22号的下午2点再单独发一次

6、查看下邮件,没问题;

kettle安装部署基本操作及实操文档的更多相关文章

  1. Linux Centos7.x下安装部署VNC的实操详述

    VNC (Virtual Network Console)是虚拟网络控制台的缩写.它 是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的.VNC 是在基于 UNIX和 Lin ...

  2. Linux Centos6.9下安装部署VNC的实操详述

    VNC (Virtual Network Console)是虚拟网络控制台的缩写.它 是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的.VNC 是在基于 UNIX和 Lin ...

  3. 安装部署VMware vSphere 5.5文档 (6-3) 安装配置AD域控制器

    部署VMware vSphere 5.5 实施文档 ########################################################################## ...

  4. 安装部署VMware vSphere 5.5文档 (6-4) 安装配置DB数据库

    部署VMware vSphere 5.5 实施文档 ########################################################################## ...

  5. 安装部署VMware vSphere 5.5文档 (6-6) 集群和vMotion

    部署VMware vSphere 5.5 实施文档 ########################################################################## ...

  6. 安装部署VMware vSphere 5.5文档 (6-5) 安装配置vCenter

    部署VMware vSphere 5.5 实施文档 ########################################################################## ...

  7. 白痴级教程,新手看过来,具详细实操文档 (word图片复制不过来,0202年了还有这样的不便利,下回研究一下,图片下次补)

    一.环境配置(win10): 1.配置cmd的python环境为arcmap10.2 自带的python解释器(2.7.3)(自带arcpy库) 具体操作: 1我的电脑右击属性,打开 (选中path点 ...

  8. 部署openstack的官网文档解读mysql的配置文件

    部署openstack的官网文档解读mysql的配置文件(使用与ubutu和centos7等系统) author:headsen chen  2017-10-12 16:57:11 个人原创,严禁转载 ...

  9. yum install mysql-community-server yum方式安装mysql(社区版实操)

    前言:rpm方式或者这种yum安装时比较简单的方式,但是不推荐,但是确实很着急的话,可以采用这种安装这种方式不利于后续对mysql的管理,如果是多实例或者是复杂的一些架构的话,还是推荐利用源码包编译方 ...

随机推荐

  1. __FILE__,__LINE__,__DATE__,__TIME__,__FUNCTION__的使用

    C/C++ 有5个常用的预定义宏,可以当作变量直接使用 __FILE__,__FUNCTION __,__LINE__,__DATE__,__TIME__. 注意是两个下划线. 其含义如下: __FI ...

  2. 洛谷$P2523\ [HAOI2011]\ Problem\ c$ $dp$

    正解:$dp$ 解题报告: 传送门$QwQ$ 首先港下不合法的情况.设$sum_i$表示$q\geq i$的人数,当且仅当$sum_i>n-i+1$时无解. 欧克然后考虑这题咋做$QwQ$. 一 ...

  3. $exLucas$学习笔记

    本来不打算写了的,,,但是感$jio$理解起来还是有点儿难度的来着,,,$so$还是瞎写点儿趴$QAQ$ $exLucas$主要有三步: 1)唯一分解$mod$并预处理$p^{k}$以内的阶乘 2)计 ...

  4. Stripe支付对接

    一.由于文档丢失原因,我就直接上代码了. 这个Stripe支付可以支持多个币种,我下面就采用"HDK"来参照支付先上一个支付效果图  提示:先上代码,在说明博主自己理解的流程. 一 ...

  5. # "可插拔式"组件设计,领略组件开发的奥秘

    从一个 Confirm 组件开始,一步步写一个可插拔式的组件. 处理一个正常的支付流程(比如支付宝购买基金) 点击购买按钮 如果风险等级不匹配则:弹确认框(Confirm) 用户确认风险后:弹出支付方 ...

  6. SpringCloud入门系列0-Nacos的安装与配置

    背景 工作有一些年头了,自从19年初彻底转了java(这又是另一篇心酸的故事),突然感觉自己荒废了好几年(不是说.net不好,而是回顾自己这几年做的很多东西都浮于表面,有时候弄成很忙的样子,回头看看自 ...

  7. 1z0-062 题库解析3

    The hr user executes the following query on the employees table but does not issue commit, rollback, ...

  8. 【Java并发基础】并发编程bug源头:可见性、原子性和有序性

    前言 CPU .内存.I/O设备之间的速度差距十分大,为了提高CPU的利用率并且平衡它们的速度差异.计算机体系结构.操作系统和编译程序都做出了改进: CPU增加了缓存,用于平衡和内存之间的速度差异. ...

  9. BigDecimal的加减乘除,比较,小数保留

    关于BigDecimal的一些常用基本操作记录 1        BigDecimal b1 = new BigDecimal("1.124"); 2        BigDeci ...

  10. 【转】vue1.0与2.0的一些区别

    一.生命周期钩子的差别 vue1.0的生命周期如下: vue2.0的生命周期如下: 用一张表格来做对比: 二.代码片段 在vue1.0中可以在template编写时出现: <template&g ...