ETL工作经验分享(1)
前言
刚刚结束一段时长一年的工作,去年七月份入职一个世界五百强公司,为客户提供互联网技术服务。单从企业的资历来说,历史悠久,分公司林立,但是不同位置的分公司各分其职。我的公司算是其中提供基础技术支持的分公司,从详细设计做到结合测试,偶尔会涉及本番测试。从技术上讲就是传统认识当中的外包公司,但是公司本身规模较大,技术方向也非常多,同样也面对很多问题,比如没有核心产品,没有TOP-V设计,对NEW-IT的转型缓慢。我相信这些问题如果在公司上层的决策中会有一个相对完美的解决方案。
从职工的角度来讲,外企带来的是稳定的工作机会,相对平等的薪资待遇,没有严重剥削劳动力的现象,没有996高强度的消耗,需要的就是外语能力绝对的过关。
公司文化非常open和多元,能容纳不同的思维和个性的人,注重个人品质,正直,诚实,相互尊重。
我在这样的公司中的一个项目组中担任ETL相关的工作,这接近一年时间的工作,有一些技术上和工作中的经验和感受想记录一下,分享一下。
ETL浅谈
之前写过一篇文章介绍过一些唾手可得的ETL介绍,大家可以先简单了解一下。
实际上ETL技术是一项很好入门的技术,相对来说门槛并不高,要求你对SQL熟练掌握,数据库清晰的了解。具体的工作要求可以参看各大公司的招聘要求,基本就是ETL开发过程中需要的基本技能。
上面的是华为招聘的BI工程师岗位,面向的是拥有五年以上经验的BI工程师。至于刚进入工作岗位的小白来说,技能要求相对会降低。
基础的数据库能力是必不可少的,SQL结构化查询语言是必会不可的基础中的基础。关于常用的ETL软件与工具,在进入工作岗位中,会在日常实践中快速学会,普遍来讲3到4个月,刚毕业的毕业生就可以着手ETL的开发。
ETL工程师是典型的“越老越值钱”,真正能设计出好的ETL工作流的工程师,对整个业务数据有非常好的了解,能够综合考虑当前的数据和最终终端呈现出报表的结果,做出一个最良好的设计。这一点是非常难以做到的,需要长期的项目经验积累。
这一点zhihu有位答友写的很好。
ETL绝对是越老越牛逼的一个领域,但是你要做到四点:
1、至少有比较强的业务学习能力,对所在的领域及其数据有所了解。这是这个领域重要的护城河。
2、熟悉ETL的方法论,这个方法论基本我没有找到过很好的书,但是ETL大师曾经的几次交流,已经足以应付很多项目,如果还有自己更多的总结,那么绝对也能成为大师。这是另一个重要的护城河。
3、ETL是可以创造“人月神话”的,也就是只要你的技术逻辑思维好,了解了ETL本质的精髓,一个毕业生团队半年就可以成为很强的战斗力。他们能否超越你,取决于前两点,但是如果你规则定好,他们大部分人永远都知其然不知其所以然。
4、用ETL的思维可以创造神奇,让他们程序员们要干上1个月才能解决的问题,在你这里1天就可以有结果。同时还能彻底改变你对数据处理这个领域的观点。
作者:決題達零(瑞理)
链接:https://www.zhihu.com/question/316809572/answer/629615456
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
从我个人经历来看,短时间的ETL工作只能是非常浅层的理解,最多算作一个熟练工,BI架构师之路异常的漫长。如果能够对设计模式有深入的了解,将是进一步提升的基础,但是近些年面临的问题是,大型且完整的ETL项目变得逐渐减少,未来可能走向精细化,小型化的道路。
当大部分公司完成了ETL的基础建设,将是漫长的维护过程。想做好ETL必须对数据有很好的sense,同时精通各种数据清洗方法,数据流的分析,同样也离不开对实际问题的建模,不然ETL将无疑于数据库,单纯变成了一个取数据的系统。
我认为实际工作中需要特别注意的有几点内容:
- 明确数据从哪里来,经过几层,要流到哪里去,最终要呈现一个什么样的图表和数据表现。
- 明确日常使用的工具的基本特性和使用方法。
- 什么是事实表,什么是维度表,什么是attribute什么是metric。
- 如何设计工作流,理解数据表如何结合,如何取到想要的数据。
ETL是个很传统的技术了,相对已经非常成熟,需要长时间积累才能提升到较高的水平。
笔者仅仅一年的经验而已,经验未免有失偏颇,希望读者可以辩证看待,多多交流。
ETL工作经验分享(1)相关推荐
- 浙大研究生Hadoop工作经验分享
为什么80%的码农都做不了架构师?>>> 浙大研究生Hadoop工作经验分享http://pan.baidu.com/s/1sjt5YKP 更多精彩内容请关注: 转载于:ht ...
- UI设计汪汪Yuki丨云沃客工作经验分享
原文链接 UI设计汪汪Yuki丨云沃客工作经验分享 笑一笑930509 2017-05-15 18:53:19 浏览27 评论0 发表于: 云工作平台 IT众包 云沃客 远程工作 摘要: 一枚来自 & ...
- 软件测试工作经验分享
最近,部门刚毕业入职的小MM跟大家提议,让大家把自己的软件测试工作经验分享一下,我整理了一下,可能不全. 测试工作经验分享 天晴于2016年7月13日 一.测试阶段划分 1. 单个模块功能测试时间相对 ...
- 一个落魄站长3年来网站建站工作经验分享
从开始到现在,一路走来,不知见证了多少网络奇迹!光阴似箭,在IT行业打拼也有几年了,一直没有多大的成就,这几年一直从事网站建设以及程序开发工作,积累了一些经验.今天就借助A5平台给新站长们一个经验分享 ...
- 找工作经验分享贴——硬件岗求职历程
秋招经验分享贴--硬件求职历程 2021年的秋招已经正式结束了,最近看到很多公司的春招已经如火如荼的开始了,甚至有些公司的2022年暑期实习生招聘也已经开始了. 去年的秋招经历的事情还是比较多的,获得 ...
- 软件测试工程师工作经验分享
关于一位国外测试工程师的职业经历 你是如何开始做测试工作的? 1989年,我在田纳西大学读研究生的时候,完成了从软件开发人员到软件测试人员的转型.而这一转型并非出于我自己的选择.我命运的改变发生在一个 ...
- 【工作经验分享】java图片转文字
前言 又到一年金九银十之际. Java作为目前用户最多,使用范围最广的软件开发技术之一. Java的技术体系主要由支撑Java程序运行的虚拟机,提供各开发领域接口支持的Java,Java编程语言及许多 ...
- 2020年聚合支付评级结果及如何开展评级工作经验分享
一年一度的收单外包服务机构评级工作即将启动,笔者认为479家聚合支付机构也在关心本机构要不要进行评级并希望了解聚合支付评级要求.评级对机构有何意义和影响.目前聚合支付评级情况及如何开展评级工作.为此, ...
- 【工作经验分享】这些新技术你们都知道吗
前言 近年来,微服务架构(Microservices Architecture)已经成为一种主流的软件开发方法论,所谓微服务( Microservices ),就是一些具有足够小的粒度.能够相互协作且 ...
- 工作经验分享:Spark调优【优化后性能提升1200%】
问题导读 1.本文遇到了什么问题? 2.遇到问题后,做了哪些分析? 3.本文解决倾斜使用哪些方法? 4.本次数据倾斜那种方法更有效? 5.解决性能优化问题的原理是什么? 优化后效果 1.业务处理中存在 ...
最新文章
- webgl坐标转换_WebGL 坐标系统
- thinkphp5.0 cache数据缓存机制
- Pixhawk代码分析-启动代码及入口函数
- vue ----axios
- minmaxloc matlab,opencv minmaxloc 最大最小匹配值是什么意思
- 【Win 10应用开发】提供建议列表的输入控件(AutoSuggestBox)
- Python操作Redis例子
- c语言无法打开源文件stdafx.h,VS2013/2012/2010 下无法打开 源 文件“stdafx.h”的解决方法...
- 【胡学长 带你学 Global Mapper 】Global Mapper Pro 23.1 -x64安装教程(附*英*软件包下载)
- java 协同过滤算法_基于用户的协同过滤算法(Java实现或R语言实现)
- poi HSSFCellStyle HSSFFont 设置加粗,字体,字号等样式
- 【每日AI】什么是矢量字库?
- 2020年Java最新面试题整理题库完整版
- 在线教育项目技术笔记1
- 教你怎么添加自己QQ为QQ好友 最新方法
- redhat linux 历史版本,redhat-linux操作系统版本发展史
- hadoop之hdfs命令
- Fabric1.0.0单机环境部署
- 安全生产培训教育课件PPT模板
- 在python中random是什么意思_python中random是什么意思