• kettle安装部署基本操作及实操文档


    一、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 FilesJavajdk1.8.0_121,保存。

     

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

     

    ④    配置CLASSPATH。新建,变量名CLASSPATH,变量值,.;%JAVA_HOME%lib;%JAVA_HOME%lib ools.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、查看下邮件,没问题;

     

  • 相关阅读:
    程序人生2008年(49)
    多种方式实现字符串/无符号数反向输出_栈_递归_头尾指针
    Ebusiness suite system service management ( EBS服务管理)
    文件系统FatFsR0.09a翻译(三):ff.h
    cocurrent request,program,process 并发请求,程序,进程的概念
    Laravel 5.* 执行seeder命令出现错误的解决方法
    Laravel修改配置后一定要清理缓存 "php artisan config:clear"!
    laravel构造函数和中间件执行顺序问题
    Laravel5.3使用学习笔记中间件
    laravel 是怎么做到运行 composer dumpautoload 不清空 classmap 映射关系的呢?
  • 原文地址:https://www.cnblogs.com/wudongyu/p/12179219.html
Copyright © 2020-2023  润新知