锐眼洞察 | 2018年将成为数据工程师年(翻译)

作者:Alex Woodie

原文:Why 2018 Will be The Year of The Data Engineer

译者:TalkingData架构师 曾晓春

本译文禁止商用,转载请注明来源!

多年来,精通统计、业务和编码技能的数据科学家的短缺一直备受关注。但是,越来越多的企业面临着另一种大数据团队关键人才的短缺,他们对于取得成功至关重要,那就是——数据工程师。

基于数据的系统能够支持项目的分析和事务操作,而数据工程师是设计、构建和维护这一系统的专家。尽管数据工程师不一定掌握数据科学家拥有的技能,比如构建复杂的机器学习模型,但是他们需要完成大量支持数据科学工作所需的其他工作,例如:

  • 构建数据管道以收集数据并将其移动到存储中;
  • 为ETL或ELT过程准备数据;
  • 将数据与脚本语言拼接在一起;
  • 与DBA合作构建数据存储;
  • 确保数据可以随时使用;
  • 使用框架和微服务来提供数据。

简而言之,数据工程师的工作就是向业务需求者提供干净、可靠的数据。与数据科学家的聪明才智相比,数据工程师更像是一位具有实践经验的管道工。如果数据科学家是提出利用新数据源获利的宏伟计划的人,那么数据工程师就会知道如何构建流水线来移动数据,清洗和转换数据,并实现服务以确保数据科学家拥有需要的所有干净、可靠的数据。

没有足够的工程师

大数据中间件开发商Dremio的CEO兼共同创始人Tomer Shiran说:“当一个公司试图将其数据科学项目投入生产时,数据工程师至关重要。因此,数据工程师的需求近来一直在增长。

“为了成功运行一个数据科学项目,数据科学家与数据工程师的数量通常有一个比例。”Shiran说,“但即使是最热门的硅谷公司也无法实现一比二的比例,没有足够的工程人才,他们很昂贵。”

shutterstock_engineer-300x169.jpg

数据工程职位空缺数量超过数据科学的职位空缺约四倍

Shiran说:“分布式数据存储(如Hadoop、Amazon S3和Azure BLOB)的复杂技术特性增加了对数据工程师的需求,因为总的来说,只有工程师才能从系统中获取价值。”

数据工程师的短缺正在推高需求。在Glassdoor上搜索发现,在全美国有107,730个数据工程职位。这些职位列表中的大部分都有超过10万美元、个别超过15万美元的起始工资。相比之下,对数据科学家的职位搜索结果是21,760个——其中很多也是高薪的。事实上,在就业委员会中,有98,218名数据工程师职位,而数据科学家只有24,695名——数据工程师与数据科学家职位的比例几乎为四比一。

Umbel工程高级总监凯文·萨福德(Kevin Safford)表示,工程是Umbel利用其数据平台为体育特许经营带来价值的重要组成部分。

“如果他们试图自己建立这个平台,那将是一场噩梦。”Safford告诉Datanami。“首先,他们不是工程公司、也不是软件公司。我们花了很长时间、很多聪明的人做了大量的努力来构建这个项目。”

Umbel使用各种开源和专有技术(Spark、Cassandra、ElasticSearch等)来建立数据库,跟踪消费者的体育相关指标,包括他们如何购买门票、他们的社交媒体行为、品牌兴趣、以及人口统计和心理状况。

Safford说:“我们有数以万计的标签可以与任何特定的个人相关联,并且整个系统内包含的人群为两亿人。这是一个巨大的数据量。仅仅是要管理这些数据集就非常困难,使它可用于信息检索并迅速实现就更加的难,甚至可以说这是非常不凡的。”

并行的大数据世界

Overstock.com集团产品经理Craig Kelly 表示,在数据科学领域有两个平行的世界 ——数据管理和统计 ,但它们往往不重叠。“观察我们的数据科学小组的成员,他们都是优秀的数据科学家。”Kelly说。“但他们中没有重量级的数据工程师。”

data-pipe_shutterstock_posteriori-2018a-300x171.jpg

数据工程师负责建立和维护提供新鲜和准确数据的管道

为了构建强大的一对一营销机器,Overstock.com必须克服这一数据工程弱项。他们部分采用了基于云的数据分析解决方案。“我们在数据工程方面没有足够的资源来支持我们要做的事情,所以我们考虑了Snowflake和Databricks弥补了这个不足——不是数据工程方面的专业知识,而是数据工程所需的硬件资源,所以数据科学家可以在不用太依赖其他团队的情况下完成工作。”

实时流分析软件供应商Striim的首席技术官兼创始人史蒂夫·威尔克斯(Steve Wilkes)表示,企业对收集到的数据越来越挑剔,因此他们在做数据整合的前期工作,而不是将数据集成到数据湖中。这正在改变他们如何部署他们的人员以及对人员的工作内容安排 。在某些情况下,数据科学家被要求承担更多的数据工程角色。

“我们更多看到的是数据科学家正在参与最初的数据收集,并开始在数据准备方面有更多的发言权(在它落地之前而不是在落地之后),包括在内存中进行数据准备,以正确的形式获取数据,进行特征提取。” Wilkes说。

工程的成功

Umbel的Safford表示,即使是最好的数据科学项目,数据工程专业知识的短缺也可能导致数据丢失。

他说:“你必须同时解决这两个问题才能取得成功,因为如果花费大量的时间和精力来管理你的数据,而你却无法利用它,那么这将成为巨大的痛点和巨大的成本。与此同时,如果没有非常小心准备、管理和维护一个对所需解决的问题有重要作用的数据集,那么分析团队将无的放矢。”

shutterstock_computer-engieneer_gyn9037-300x199.jpg

工程师正在成为大数据项目的重要团队成员

Safford已经看到许多数据项目因为数据工程执行不力而陷入困境。他说:“构建数据应用程序与构建大规模Web应用程序相比,需要完全不同的专业知识。就像不应该聘请一个建筑商来建造甲板,或者去找一个机械师来照顾你的生活。你不仅仅需要为节约自己的时间而付出成本,还要雇佣专家确保你避免做一些根本错误的事情,这些事情往往在发生之前你都不会注意到,一旦到发生的时就会让你陷入深深的困扰之中。

组织通常认为他们可以在项目工作中获得数据工程的经验。他们通常是错误的,Umbel说。

“必须要辛苦获得在建立数据管道、数据管理系统、数据分析和所有中间代码方面的实践经验,才能使数据可用和可访问,并确保数据是正确的,以确保你所做的分析是正确的,”他说,“如果没有这方面的专业知识,就会自以为随着工作进行就能搞懂这些东西。而且我看到很多人这样想。他们几乎都是错的,而且他们总在犯同样的错误。”

发表评论

电子邮件地址不会被公开。 必填项已用*标注