2019-08-26

图灵学院java架构师-vip-【ETL工具讲解】
   

    鉴于有些公司对于ETL的使用比较多,但是网上这方面的知识又比较少故产生了本次的文章对于ETL的工具kettle的讲解。

1.ETL的定义

        ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。顾名思义,简单的来说ETL就是数据转移。

2.kettle工具介绍

    kettle工具是由java编写的一个数据迁移的工具,既然是用java编写那么jdk环境一定是缺不了的。需要相应jdk版本环境的支持。(鉴于有些朋友在使用kettle的同时也在使用其他需要jdk版本的软件,两个版本不一样的情况,这里给读者提供一个简便的方法不用配置kettle的电脑jdk相应的环境变量,这句话只用于理解,实际的操作是在kettle的启动文件中将path临时配置上所需要的jdk版本),如下图:笔者用惯老版本了一直没有更新,新版本是一样的操作方式。


3.kettle的JNDI

     jndi相信大家都知道这个是配置数据源的文件,将自己需要用到的数据源配置在其文件中用于kettle进行ktr具体操作时,选择数据源使用。后面会详细讲解在ktr作业中的使用。

4.kettle工具的简单使用及一些模块的介绍


这是一个比较常规的数据迁移流程,这个流程被job流程包含,job流程可以包含job流程,但是ktr作业不能包含job流程,相应步骤间的箭头黑色为无条件(及不管前面步骤是否结果为真,都会向后执行,就是前面步骤报错了也会执行后面步骤),相应步骤间的箭头绿色为有条件(及当前面执行结果为真,后面的步骤才能执行,就是前面报错了后面都执行不了了)。


在其中配置kettle工具的环境变量,其中配置的变量可以在整个工具中通过${变量名}来获取。

这部分是具体ktr可以放许多东西,存储过程、输入、输出、sql脚本等。



编辑数据源连接地址建议是这个配置的。

kettle大概的操作就是这样了,但是他的功能很强大不只是sql方面,对于存储过程、邮件、excel等都有较好的支持。各种小模块就需要大家多多使用学习啦,主要的操作都是一样的。

5.kettle在平时怎么简化工作

   笔者在项目组中是主要负责ETL这部分的,从开始的不会到慢慢的学习了很多。日常工作中因为正规的业务操作ETL大多情况下是不需要变更的。所以这部分的应用和简化笔者平时工作的情况是;有需求需要跟业务获取相应的业务基础数据,虽然这部分数据系统是有功能可以配置的,但是业务大大还是比较懒惰的,想让开发在升级的时候就将这些数据给他们配置好了。所以就需要给业务提供个Excel模板收集数据后,笔者这边编写对应的ETL脚本去解析excel再通过多个ETL脚本将数据进行润色之后生成所需要的表数据,然后到处insert语句就完成了这部分工作。这方面的需求还是比较多的,比写java代码解析excel在通过代码润色数据效率高了很多。(附带:可以将kettle的报错通过邮件发送给相应的人员,用于平时定位报错信息,有相应的模块进行更改,但是笔者比较懒惰(哈哈,程序猿懒惰感觉是好事,会想简便的方法来简化工作),将kettle的核心jar包更改了重新打包的,其中有个配置文件可以配置报错信息发送的邮箱等。这个读者可以自己研究下,不用看class文件,可以去找下配置文件更改下。)

6.kettle在正式环境的使用

现在项目大多都是部署在linux环境下的 所以以linux环境为例讲解。将软件部署安装在linux环境任意目录下即可(简易放到公司软件统一文件夹中好管理。),ETL脚本放到对应目录即可,ETL升级是不用重启服务器的。在linux环境下经常会应用到定时任务,在凌晨或者一个时间段执行数据转换的任务。

linux环境下键入crontab -e命令添加.sh定时任务,此时linux方面的小知识点不会的读者,去百度下看下contab的讲解就好啦。


相应的定时任务规定了特定的时间去执行这个命令。

/home/weblogic/ETL/Kettle3.2/kitchen.sh -file=/home/weblogic/ETL/sales/sales/SalesToMid/sendRepirdNo.kjb 2>&1 >> /home/weblogic/ETL/logs/SalesToMid/sendRepirdNo_$(date -d "today" +"%Y%m%d_%H%M%S").log

这个命令可以分为三部分 第一部分是使用kettle的kitchen.sh命令工具去执行第二部分sendRepirdNo.kjb数据转换流程,第三部分就是将控制台打印追加输出到一个log文件用于后期排查问题。

7.总结

   笔者第一次编写技术方面的文章,有很多词语用词可能不足,技术条理性还需要加强。希望大家通过这边文章能够对ETL有个初步的认识和对kettle工具的基本使用。工具大家要多使用那些模块就能很熟练。笔者会继续努力做出更好的文章。谢谢大家阅读。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容

  • 1.SQL语句分类 DDL数据定义语言 用于创建、修改、和删除数据库内的数据结构,如:1.创建和删除数据库(CRE...
    叁鎶阅读 458评论 0 0
  • 一、HTTP协议回顾: 1. HTTP协议概述 WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规...
    叁鎶阅读 310评论 0 0
  • //[kettle官方首页]Data Integration | Pentaho Communityhttp://...
    葡萄喃喃呓语阅读 5,068评论 0 21
  • 1.Retrofit2概述 Retrofit框架是Square公司出品的目前非常流行的网络框架.效率高,实现简单,...
    叁鎶阅读 466评论 0 0
  • 在只有电视机的小时候,最惬意的莫过于一家人吃过晚饭,坐在电视机前,看两集连续剧。听妈妈唠叨角色的善与恶,看到悲惨处...
    冬有扶苏阅读 447评论 0 7