【0 基础转型】1 个月成为大数据 ETL 工程师:轻松月入过万
首先:ETL 工程师其实是一个特别简单的岗位。
为什么简单?
ETL 就是数据仓库项目建设和日常维护中的一种工作,ETL,就是抽取、转换、装载的英文缩写。但是这个现实中都是使用相应工具软件的。至于怎么抽取,怎么转换、怎么装载,都是与具体业务相结合的。
比如:每天晚 8 点抽取,a+b 转换成 c,从 A 设备读出 a 和 b,计算成 c 之后存到 W 设备上。这就是 ETL 要干的事。特别简单。没有技术含量。但是工作量却比较大。但是工作量主要发生在初始阶段,因为日后变成那个自动化的软件执行就没什么工作量了。所以 ETL 这工作的复杂性在于项目建设阶段,当项目建成就变成自动化的运维了。这样一来 ETL 工作就不难了。
正因为上面说的,所以 ETL 工程师的技术性不高,主要的问题在于相关的 ETL 软件会用。其他的就是业务问题。因为抽取的频率,以及如何抽取是由业务上的要求决定的。甚至如何转换也是业务需要决定的,装载同样依赖业务要求。所以这并不是技术问题。
ETL 工程师每天都做什么
ETL 就业范围广泛,例如:各种大型公司的开发部、研发部、科技部。一线城市,如:(北上广深),其次新一线的(杭州、南京、武汉、成都、合肥、重庆、青岛)等很多 ETL 工程师的月薪都是过万以上,就算是普通刚入门的菜鸟小白也都是 6-9k,工作内容分为:(数据整合、数据存储管理、数据挖掘设计、多维分析展现)
ETL 工程师的岗位职责
海量数据的 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 款工具作为入门学习了解;
理由:以上 2 款工具是一个开放的调度平台,尤其是企业级应用的 TASKCTL,为了适应诸如 Datastage、Informatic、kettle、一体机、大数据、存储过程、java 以及各种脚本任务程序的支持与扩展,同时保证不同任务类型的应用统一,TASKCTL 对作业的控制采用插件驱动机制,从而实现不同技术平台、不同作业类型调度控制,很多金融、零售、制造、物流等近 1000 家头部公司都在使用该产品的 TASKCTL 商业版,其中免费版为了迎合中小企业以及个人项目级学习的需要横向扩展的一款轻量级调度工具;
如何转型自学 ETL 有编程基础的学生 &在职人员
熟悉 sql 语言;会简单脚本(shell)编程,会使用一种 ETL 数据抽取工具(kettle);会使用一种 ETL作业自动化排程工具(TASKCTL);熟练使用增删改查、会添加主键索引,熟练使用时间格式转换,会行转列列转行,会 update 数据更新,会写 sql 存储过程。
安装数据库工具
常用的关系型数据库语言都要会,包括:mysql,sqlserver,oracle,db2 数据库。所以学习 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 链接这 3 个数据库。
SQL 需要学习 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 数据抽取工具(kettle)及作业排程工具(TASKCTL)的使用
掌握 ETL 增量、全量、插入更新等抽取方式;能集成 excel,数据库,web 接口,hive,spark 等数据源;
这里推荐大家学习 TASKCTL 安装入门简单。结合 Kettle 也是永久免费的。
TASKCTL 安装包:http://www.taskctl.com
TASKCTL 学习视频:https://www.bilibili.com/video/BV1jz4y1y7nL
shell 编程
能写简单的 shell 脚本,比如通过 1 个 shell 脚本将 5 张表导入到目标库中。
shell 视频:https://www.bilibili.com/video/av31981602?p=15
最后
ETL 工程师会发现有很多岗位,所以我们学习之后不会存在找不到工作的情况。进一步提升可以往大数据工程,数据产品经理,或者大数据产品经理发展。
转行到 etl 开发后,建议先用半年努力学习公司所需要的知识和技术,熟悉公司业务后、从第 7 个月开始学习大数据相关组件,学习半年后在投递大数据工程师相关岗位。
最后关于 etl 转行说下学习成本。etl 开发学习成本真的很低很低,基本上自学 1 个月就可以开始找工作,而我们学习后跟 java 开发、跟数据分析工资基本上是一样的。
与数据分析相比,市场需求更多,学历门槛更低。最后一起努力吧。
评论