首先:ETL工程师实际上是一个特别简单的职位。
为什么简单?
ETL是数据仓库项目建设和日常维护的工作,ETL,它是提取、转换和装载的英文缩写。但在这个现实中,它使用了相应的工具和软件。至于如何提取、如何转换和如何装载,它们都与特定的业务相结合。
每天晚上8点抽取,a b转换成c,从A设备读a和b,计算成c后存储在W设备上。这就是ETL要干的事。特别简单。没有技术含量。但是工作量比较大。但工作量主要发生在初始阶段,因为未来自动化软件执行没有工作量。所以ETL这项工作的复杂性在于工程建设阶段,当工程建成成为自动化运维时。这样一来ETL工作并不难。
正是因为上面提到的,所以ETL工程师的技术性不高,主要的问题在于相关的ETL软件可以使用。其他的是业务问题。因为提取的频率和如何提取是由业务要求决定的。即使是如何转换也取决于业务需求,装载也取决于业务需求。所以这不是一个技术问题。
ETL工程师每天做什么
ETL就业范围广,如各大公司的开发部、研发部、科技部。一线城市,如(北京、上海、广州、深圳),其次是杭州、南京、武汉、成都、合肥、重庆、青岛等新一线城市。ETL工程师的月薪超过1万元,即使是普通的新手小白也是6-9k,工作内容分为:(数据集成、数据存储管理、数据挖掘设计、多维分析显示)
- 海量数据的ETL开发
- 参与数据仓库架构的设计与开发
- 参与数据仓库ETL流程优化及解决方案ETL相关技术问题
- 熟悉主流数据库技术,如:oracle、DB2、SQL sever等
- 精通ETL有一定的架构ETL开发经验,了解日常作业的部署和调度
- 熟悉ETL如:Kettle、TASKCTL、海豚调度、XXL-job等
ETL工具种类
现在ETL有上开源或商用付费版有很多类似的工具。
Kettle,xxl-job,oozie,Azkaban,TASKCTL,DolphinScheduler(海豚调度)等;
TASKCTL,Moia Comtrol,Comtrol-m等;
怎么办?
找一个简单的项目经验来包装自己;其次,关于ETL软件现在实际上可以在市场上下载试用版,你可以找到一个可以找到的。在这里,我个人推荐小白可以先 “TASKCTL或海豚调度这两种工具作为入门学习理解;
理由:以上2款工具是一个开放的调度平台,尤其是企业级应用的 TASKCTL,适应诸如Datastage、Informatic、kettle、一体机、大数据、存储过程java支持和扩展各种脚本任务程序,同时保证不同任务类型的统一应用,TASKCTL插件驱动机制用于控制操作,为了实现不同技术平台、不同运营类型的调度控制,金融、零售、制造、物流等近1000家龙头公司正在使用该产品 TASKCTL商业版是一种轻量级调度工具,旨在满足中小企业和个人项目级学习的需要;
如何转型自学?ETL
熟悉sql语言;简单的脚本(shell)使用一种编程ETL数据提取工具(kettle);会使用一种ETL操作自动排程工具(taskctl);熟练使用添加、删除添加主键索引,熟练使用时间格式转换,行转列转行,update会写的数据更新sql存储过程。
常用的关系数据库语言,包括mysql,sqlserver,oracle,db所以学习sql第一步是安装数据库和数据库管理工具(建议在这里使用数据库管理工具)navicat)
mysql安装包:Mysql8.0安装教程
安装包:https://pan.baidu.com/s/1Vwlsc7BF3MJd3SYsyLeKhw(提取码:886p)
oracle安装包:https://pan.baidu.com/s/12oDFAmqFH--6VXmo1dQZ5g(提取码:25p6)
navicat安装包:Navicat Premium 15.0安装教程
oracle使用时需要安装数据库jdk,jdk链接:https://pan.baidu.com/s/1-B-r7ZED09T9TLOAvk6RBQ(提取码:3ss8)
jdk安装后需要配置环境变量:JDK安装与环境变量配置
软件安装后,可以使用navicat链接这三个数据库。
sql首先要了解基本的查询语言,进一步完善kettle进行学习
第一步学习sql查询语言,大致了解数据库。
推荐mysql-3小时入门视频:https://www.bilibili.com/video/BV177411U7Yr/
SQL配套练习1:https://blog.csdn.net/mrbcy/article/details/68965271
SQL配套练习2:https://blog.csdn.net/flycat296/article/details/63681089
掌握ETL提取增量、全量、插入更新等方法;可集成excel,数据库,web接口,hive,spark等数据源;
这里推荐大家学习 TASKCTL安装简单Kettle也是永久免费的。
TASKCTL安装包:http://www.taskctl.com
TASKCTL学习视频:https://www.bilibili.com/video/BV1jz4y1y7nL
能写简单的shell例如,通过一个脚本shell脚本将五张表导入目标库。
https://www.bilibili.com/video/av31981602?p=15
最后
ETL工程师会发现有很多职位,所以我们不会在学习后找不到工作。进一步可以发展到大数据项目、数据产品经理或大数据产品经理。
转行到etl开发后,建议在半年内学习公司所需的知识和技术,熟悉公司业务,从第七个月开始学习大数据相关组件,学习半年后交付大数据工程师。
最后关于etl转行谈学习成本。etl开发学习的成本真的很低,基本上自学一个月就能开始找工作,但是学习后跟着我们 java开发和数据分析的工资基本相同。
与数据分析相比,市场需求更大,教育门槛更低。最后,一起努力。