作为一个后端工程师,平时最主要的工作其实就是数据处理,也就是经常所说的增删改查。长时间做这些冗余的工作,再加上996的常态,时常会让人感到厌烦。那么后端工程师的最终归宿是什么呢?很多后端工程师都会感到迷茫,如果想要更进一步成为所谓的架构师,你会发现架构师所做的架构设计,其实也就是照搬互联网领域常用的一些架构模式,更有甚者就是那些ppt架构师,相信很多同学都有和我一样的体会,真正能够进行模式创新的往往是一些研究院的学者,所以要想成为架构师多读书是一个必要条件,但是真正落地的你会发现其实就是后端工程师。那么作为后端工程师,就只能进行增删改查吗?倘若能够运用一些工具替代工程师的增删改查工作,后端工程师不就得到了解放。

所以理想中的后端工程师应该是这样的,当有堆积的新需求新业务到来时,工程师使用组态工具进行数据处理,进行任务调度,生成接口。这些需求也就在极短的时间内完成了。剩余的工作就只需要交给前端工程师去对接接口。就可以将一个月的工作量在一天之内完成(这是我真实的工作经历)。这样的开发利器是值得每一个工程师拥有。所谓“授人以鱼不如授人以渔”,我乐于将我多年的经验分享给所有的工程师们,带着大家一步一步的去完成这个开发利器。这个利器就是kettle。

知识体系

整本小册的知识体系将按照以下的方式进行讲解,通过从基础的kettle组件学起,夯实基础之后,进而去完成数据集成平台的开发,最后进入进阶部分,手动开发kettle插件,以适应变化的业务。

  • kettle基础部分:主要讲解一些基础组件,通过讲解输入组件,也就是数据的来源,可以将各种各样格式的文件(txt,excel,csv,xml,json,js)进行输入,还可以查询数据库的表进行数据输入,olap输入,将各种途径的、各种样式的数据解析成标准的数据格式;
    输出组件则是将经过kettle处理完成后的数据,存于不同的存储介质。如,可将存储的数据存储到excel文件中,文本文件中,数据库了,elasticsearch中等;转换组件是一个数据处理组件,比如字符串的裁剪,数据映射,去重,增加序列,排序,扁平化,行转列。通过转换组件基本可以完成大部分的数据处理工作;查询组件可以认为是获取数据源的一种动态方式,比如从rest接口中获取数据,可通过http节点,rest节点来完成,也可以从webservice接口获取数据,还可以从数据库中获取数据,更厉害的是流查询。通过查询组件以及输入组件便可以处理从任何渠道获取的任何方式的数据。脚本组件则是一种补充,对转换组件功能的补充,脚本组件支持Java代码,JavaScript代码,规则引擎脚本,sql脚本,正则表达式等多种脚本。使得数据处理的功能更加强大。总之,学会kettle基础部分,便可以解决业务需求中绝大多数的数据处理问题。
  • 基于kettle的数据集成平台:这个部分是将kettle基础部分的内容搬到了线上,使其成为一个在生产环境中切实可用的的数据平台。主要分为服务池,作业池,资源池,资源库,执行策略模块。 服务池,是将kettle的转换功能作为服务接口,其实就是一个服务网关,通过rest、websocket、webservice方式对外提供服务,这个功能可以支持绝大多数的前后端对接功能。作业池,是用来完成任务调度功能的,同时也是流数据处理的一种快捷方式,比如可充当消息队列的客户端(生产者和消费者)。资源池,是通过本地的方式来保存kettle文件,也就是此文件是通过pdi开发后,上传到该平台。资源库,则是通过pdi的线上功能,直接将数据存到数据库中。执行策略,是作业池的一个辅助模块,为任务执行提供quartz配置。

  • kettle进阶:这是比较高级的一个部分,是在熟练kettle的基本知识后,并能熟练使用基于kettle的数据集成平台之后,在使用过程中你会发现,有些功能是不能实现的。比如想要通过平台对接一个websocket接口,目前kettle没有这样的组件,就需要通过编写插件的方式来完善kettle的功能和平台的功能。进阶部分主要讲解如何编写自定义插件,如何完成mqtt与websocket的结合。

读者收获

相信读者通过学习整本小册后,对kettle知识有了深入的了解,在以后的工作中,无论应对任何的业务需求,只要合理的使用kettle工具,基于kettle的数据集成平台,都能达到事半功倍的效果。当然,本人能力有限,如有什么错误,我会及时纠正,并希望和广大读者共同进步。

开篇-后端工程师的开发利器相关推荐

  1. java后端工程师平时开发或多或少会用到Myeclipse,那么它有哪些快捷键呢

    孙叫兽,前端全栈工程师,微信公众号:电商程序员,主页QQ群有Myeclipse安装包. 下载地址:http://www.genuitec.com/products/myeclipse/download ...

  2. java后端工程师平时开发或多或少会用到Intellij idea,那么它有哪些快捷键呢

    孙叫兽,前端全栈工程师,微信公众号:电商程序员,主页QQ群有Intellij idea安装包及注册码. 下载地址:https://www.jetbrains.com/idea/download/ ID ...

  3. java后端工程师平时开发或多或少会用到eclipse,那么它有哪些快捷键呢

    孙叫兽,前端全栈工程师,微信公众号:电商程序员,主页QQ群有eclipse安装包. 下载地址:https://www.eclipse.org/downloads/ Eclipse 是一个开放源代码的. ...

  4. 全栈工程师必备开发利器

    原址 https://blog.csdn.net/u012104219/article/details/79691713 团队协作软件 Teambition:团队协作工具创导者 有道云协作:企业知识管 ...

  5. python后端开发工程师做什么-如何面试Python后端工程师?

    更新:2020年5月10号 惭愧惭愧,我已经叛逃Python 4年了,加入了Java阵营,主要是大数据领域被Java.Scala占领了. 工作中真正的核心竞争力还是写出整洁的代码和架构,面向对象的思维 ...

  6. 猿创征文|后端开发工程师提升开发效率神器推荐

    简介 对于现在的后端工程师来说,并不仅仅局限于编写代码和解决bug,这两个要素了.如果你目前还只是忙碌的写代码和改bug的话,那要深度思考一下,我为什么日复一日的写这些重复代码?这样有何意义?或者说, ...

  7. 《给后端工程师的前端开发课程》笔记

    ASP.Net服务器控件 给后端工程师的前端开发课程 HTML和CSS工作模式 前端工作模式:BS HTML5基础标签学习 p:定义一个段落(paragraph) a:超链接 img:图片 div:块 ...

  8. java后端开发工程师_后端工程师与 Java 工程师的区别?

    本人多年 java 狗一枚,最近在准备面试跳槽,在翻看了 boss 直聘上很多招聘信息后发现很多感兴趣的岗位都是标注后端工程师的,一般 jd 都是标注 c++/java/goland 会一个就可以了, ...

  9. 后端工程师入门前端页面重构(二):心法 I

    本文由 KnewHow 发表在 ScalaCool 团队博客. 上一篇博客是我们<后端工程师入门前端页面重构>系列的第一篇,我们介绍了页面布局的口诀: 从左到右,从上到下,化整为零. 那么 ...

  10. python工程师-如何面试Python后端工程师?

    更新:2020年5月10号 惭愧惭愧,我已经叛逃Python 4年了,加入了Java阵营,主要是大数据领域被Java.Scala占领了. 工作中真正的核心竞争力还是写出整洁的代码和架构,面向对象的思维 ...

最新文章

  1. java.lang.NoSuchMethodError: org.springframework.core.io.ResourceEditor错误
  2. sql sever avg保留小数_《数据库系统概念》笔记 (一)SQL
  3. 两分钟用C#搭建IE BHO勾子, 窃取密码
  4. python图形化界面按钮_Python-PyQt5-图形可视化界面(3)--按钮--Qpushbutton
  5. 公式中表达单个双引号【】和空值【】的方法及说明
  6. NFC 验证平台搭建
  7. java的国际化怎么用_Java有关国际化使用实例
  8. Expression Blend实战开发技巧 第四章 从最常用ButtonStyle开始 - PathButton
  9. 【高校宿舍管理系统】第六章 用户管理和年级管理
  10. opencv-api adaptiveThreshold
  11. 实录 | 旷视研究院详解COCO2017人体姿态估计冠军论文(PPT+视频)
  12. BIND9源码分析之 多个view的情况下如何做dynamic update
  13. 第三章 ASP.NET MVC (模型绑定)
  14. 最新!Oracle/ MySQL/ MSSQL 三大数据库集体跳水。。
  15. 如何在ROS环境中解码.bag格式数据
  16. opencv学习(二十四)之腐蚀与膨胀
  17. 文件系统错误故障排除
  18. Oracle中的存储过程【Stored Procedure】和存储函数【Stored Function】
  19. Ubuntu16.04使用ninja编译安装LLVM
  20. 公交管理系统的设计与实现

热门文章

  1. 大白菜U盘PE重装系统
  2. app上架苹果市场流程
  3. [有限元方法基础理论] 质量集中有限元(谱元)
  4. 一文搞懂移动端单位em、rem、vh、vw
  5. 关于hping打流测试工具
  6. 微信小程序的基本操作
  7. JDK1.8u162以及JDK1.8所有历史版本官网下载地址
  8. 《数据驱动 从方法到实践》之 数据驱动的环节 学习总结
  9. oracle 11客户端精简版,oracle_11g精简版客户端配置
  10. github能访问但是ping不通