etlgr是什么服务器_国内的ETL工程师日常工作是什么样的?

本文探讨了数据工程师(ETL工程师)的角色转变,从传统的数据提取、转换、加载(ETL)到现在的数据运营和满足公司数据目标。数据工程师需要与业务系统和下游分析人员密切合作,理解数据用途,进行数据获取、清洗和存储。此外,文章还强调了数据质量和数据战略在个人职业发展中的重要性。
摘要由CSDN通过智能技术生成

谢邀

那到底ETL工程师们的日常工作是什么?

在回答之前,我先抛出一个问题:为什么之前叫ETL工程师,现在更多的是称数据工程师?

我觉得从我个人而言,首先要从更宏观的角度来理解ETL工程师。一般传统公司称ETL工程师,因为以前经常是将业务系统的数据取出来,进行数据清洗,再按照星型或雪花型建模再放到数仓中为下游BI服务。

而现在为什么叫数据工程师?是因为大家意识到,随着数据量的增多,数据产生的价值和变现的维度也随之增多了,数据工程师需要掌握的技能发生了许多变化。

其中最重要的是要肩负起这两点责任:运营数据(养数据)和达到公司的数据目的。这是ETL工程师或者说是数据工程师最终要达到的目标,接下来我会详细解释一下。

一. 关于这个岗位:你需要处理上下游的关系

作为数据工程师或者ETL工程师,需要经常跟业务系统的人打交道,所以要对业务系统比较熟悉。比如它们存在各种接口,不管是API级别还是数据库接口,这都需要ETL工程师非常了解。

其次是其下游,这意味着你要跟许多数据分析师、数据科学家打交道。比如将准备好的数据(数据的清洗、整理、融合),交给下游的数据分析师和数据科学家。

过去我们经常说数据分析师,像BA(Business Analytics)或是BI(Business Intelligence)分析师,主要负责报表的展示分析。数据科学家(Data scientist),则可能做一些Ad hoc的数据分析,与AI、数据应用的相关性更高。

二. 从这几方面了解 ETL工程师

ETL工程师主要做这几项工作:

首先是梳理,我们经常说以终为始,在行动之前需要先想清楚这些数据的用途,不应为了ETL而ETL。

所以对于一个优秀的数据工程师而言,需要非常理解公司使用这些数据能做到什么,而这就涉及到你对公司业务,数据逻辑的理解是否透彻。我认为这是作为一个好的数据工程师的前提。

举个例子,不管是做数仓的建设,内容的推荐,还是做一些反欺诈、资产推荐等,这个范围非常广。所以ETL工程师要先理解做这件事情的目标,进而再向上追溯需要做哪些工作才能支撑该目标。如果能用全局的观念做这件事情,相信能取得很好的效果。

而在日常的工作中,我认为有几大块非常重要:

首先是数据的获取。这类似于巧妇难为无米之炊,想要发挥数据价值的前提是要获取数据。

为了实现这个目的,就需要工程师对收集的数据如数家珍。最好能有一个数据目录将这些业务系统中的数据整理清楚,比如它们在哪,都有什么意义等。这时,如果别人向你要数据你就能很快的定位到。

为什么是这样?在小公司还好,如果在大公司可能有几十、数百个系统,每个系统中存有几十,甚至上千张表。这时理解这些系统和任务其实是一个非常复杂的工作。

当然仅做到上面还不够,还需要构建好的工具和方法提取这些数据。这中间还有许多维度,比如上游系统的侵入性是不是很高,它能给你何种权限等。另外,还需要考虑这些数据能否丢失,数据的语义需要什么保障,传输的准确性有什么要求。

相当于需要有自己的工具箱,能清楚地知道对于不同维度的要求可以分别使用哪个工具,针对不同情况能变换相应的策略和方法。

关于数据采集,基本有这三种途径:埋点、从数据库/文件系统抽取、通过API拿数。对于这三种都要能有相应的应对措施,高效地完成。

下一步大概率会去做数据清洗,目前有两种情况:一种是将数据放到一个统一的ODS平台,先拉数据再做清洗。另一种是一边传输一边清洗。针对这两种情况工程师要非常明白,为达到数据目标应该采取何种措施。

另外关于实时和批量在此也有所影响。 目前批流一体是当下的一个发展趋势,即在统一平台中管理各种任务,解决多个平台的运维难题。这要求工程师需要熟悉许多工具,比如流式的计算框架, 例如Kafka Streams, Spark(Streaming), Flink等。

最后是数据的存储。数据存储分为几级,有ODS层、数仓层、数据集市层,再往上是AI层、BI层。 关于数据存储也有很多学问,比如,在入库时需要考虑上游源系统与下游的目标系统可能是不同的(结构互异的存储)。

三. 也许,你离优秀的数据工程师还差这两种素养

在知乎有关ETL或者数据工程师的问题中,有一部分是关于职业规划的。有的人还没有弄清楚这个工作具体是做什么的,意义在哪。有的人还在苦恼这个工作的发展前景。

在我特别喜欢的一本书《禅与摩托车的维修艺术》中,作者罗伯特·波西格写到:“想要知道怎样画一张完美的画吗?很简单,你先让自己变得完美,然后再随心去画。“ 对此我很认同。对于这个工作的具体内容,我在上面已经做了大致的介绍。下面,我想来谈谈“怎么在这个岗位做得更远”。

数据工程师绝不仅仅是数据的搬运工,更多需要肩负起在公司中运营数据(养数据)的职责。

这个行业里面有一句话叫“Garbage in, garbage out”,如果传递的数据是垃圾,那么产生的数据价值也是垃圾。

一位优秀的数据工程师要通过各种元数据管理,质量数据管理,让公司的数据变得越来越好,这是一个不断成长的过程。

我的建议是:未来越来越多的公司会将数据作为主要的战略方向,如果你能把自己紧密的与数据战略结合起来,那对你的个人成长会大有裨益。

另外题主还问了一个,说ETL工程师和DBA的区别。在小公司里面可能DBA和ETL工程师的界限不是特别明显,但如果是在大公司,两者会是分开的两个角色。作为DBA实际上需要保证数据库能正常运行,然后运维等。而ETL工程师和数据工程师,则是要保证数据系统的正常运行,这是两个方向,其实两者是不一样的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值