跟数据科学家相比,数据工程师更需要哪些技能?

跟数据科学家相比,数据工程师更需要哪些技能?

数据工程师是现如今增长最快的岗位之一。通过创建和维护用于注入、转换和存储数据的管道和数据库,数据工程师在公司中扮演着至关重要的角色。

数据工程师最需要的技术技能是什么?和数据科学家最需要的技术技能相比如何?请继续阅读,找出答案!如果你想了解更多数据分析相关内容,可以阅读以下这些文章:
2021 Data Engineer求职必备技能
面试常见5大SQL题目:培养SQL技能,助你完胜任何面试!
四条SQL准则:提升你的数据科学技能
Marketing Analyst求职的3个关键技能

2020年1月,我分析了数据工程师的职位列表,看看那些最抢手的技术技能。然后又把结果与数据科学家的工作列表进行了比较,发现了其中存在的一些有趣的差异。

废话少说,下面是截止到2020年1月的10项数据工程师职位列表。

让我们开始吧!

数据工程师

数据工程师在当今的公司中发挥着至关重要的作用。他们负责存储数据,并像他人传输可供使用的数据。

数据工程师设置管道,并从多源头向其中注入流、批处理数据。然后管道会执行提取、转换和加载 (ETL)过程,让数据更方便使用。接下来,会把数据提供给数据科学家和数据分析师,进行进一步处理。最终,数据会进入图表、报告和机器学习模型当中。

我搜索了一些数据,来确定数据工程师最需要的技术。

方法

我搜集了SimplyHired, Indeed和Monster上的信息,来查看在美国的工作列表中与“数据工程师”关联的关键字。这个过程我使用了Requests和Beautiful Soup Python库。

从我对数据科学家职位列表的分析和阅读数据工程师职位列表中,我选取了一些关键字。我计算了每个关键字(在数据工程师职位总数中)出现在各求职网站上的百分比。然后对每个关键字的百分比求平均值。

结果

以下是职位列表搜索结果中得分最高的30个数据工程师技术术语。

下面是相同百分比数据的表格形式。

让我们一起来分析一下吧。

讨论

SQL和Python都出现在超过三分之二的职位列表中。所以,它们是目前为止最需要了解的两项技术。

Python是一种非常流行的编程语言,用来处理数据、网站和脚本。SQL代表结构化查询语言。是由一系列语言实现的标准,用来从关系数据库中获取数据。它已经存在了很长时间,并显示了它的的弹性。

Spark出现在了大概一半的列表中。Apache Spark 是“用于大数据处理的统一分析引擎,具有用于流媒体、SQL、机器学习和图形处理的内置模块”。它在非常大的数据集上特别受欢迎。

AWS出现在大约45%的列表中。AWS是Amazon的云计算平台。它拥有所有云平台中最大的市场份额。

紧随其后的,是Java和Hadoop,分别占了列表的40%以上。

Java是一种常用、久经考验的语言,在Stack Overflow的2019年开发人员调查中排名第十。相比之下,Python是第二个受欢迎的语言。从2020年1月起,Oracle管理Java,还会告诉你关于它的所有信息。

Apache Hadoop使用MapReduce编程模型和服务器集群来处理大数据。而MapReduce模型正在逐渐淡开人们的视野。

然后是 Hive、Scala、Kafka 和 NoSQL,每个都占数据工程师列表的四分之一左右。

Apache Hive是一款数据仓库软件,它可以“很方便地使用SQL读写、管理分布式中存储的大型数据集”。

Scala是一种流行于大数据的编程语言。Spark就是用Scala构建的。在Stack Overflow的2019年开发者调查结果中,Scala是第 11 大流行的语言。

Apache Kafka是一个分布式流媒体平台。在注入数据流方面非常受人们欢迎。

NoSQL数据库与SQL是对立的。NoSQL数据库是非关系、非结构化、且水平可伸缩的。NoSQL非常流行,但之前关于它取代SQL成为主导的谣言似乎有些夸张了。

与数据科学家比较

下面是排名前30位的数据科学家职位列表技术术语,是通过与数据工程师术语相同的方法得出的。

就工作总数而言,数据科学家比数据工程师多出了约28%(12,013 vs. 9,396)

让我们看看哪些术语在数据工程师列表中比数据科学家中更常见。

在数据工程师中更常见

下图显示了平均差异大于10%和小于-10%的关键字。

AWS的增长幅度最大,在数据工程师中比数据科学家多出约25%。它出现在大约45%的数据工程师列表中,出现大约20%的数据科学家列表中。这个差别很大!

下面是观察相同数据时,数据工程师和数据科学家职位列表的另一组结果:

Spark的增长幅度是第二大。数据工程师要经常处理大数据。

Kafka也增长了20%。大约是数据科学家列表百分比的四倍。而且,注入数据也是数据工程师的核心工作。

Java、NoSQL、Redshift、SQL和Hadoop在数据工程师列表中出现了大约15%以上。

数据工程师中不常用工具

现在,让我们看看哪些技能在数据工程师职位列表中不太受欢迎。

R从数据科学家到数据工程师的排名下降幅度最大。它在数据工程师的工作中比例约为17%,而不是数据科学家的56%。R是一种受学者和统计学家欢迎的编程语言。它在Stack Overflow调查的受访者中排名第八。

SAS在数据工程师列表中也不太常见,差异约为14%。SAS是一种用于统计和数据的专有语言。有趣的是,我最近对数据科学家职位列表的分析表明,SAS下降的幅度比其他任何技术都要大。

数据工程师和数据科学家的重要工具

值得注意的是,前十项技术中,有八项是在数据科学家和数据工程师职位列表中共享的。SQL、Python、Spark、AWS、Java、Hadoop、Hive和Scala都在前10名之内。

以下是15个最常见的数据工程师术语,以及它们在数据科学家列表中的流行程度。

建议

如果你想成为一名数据工程师,我建议你学习下面这些技术,它们基本都是按优先级排序的。

要学习SQL。我建议你学习PostgreSQL,是因为它开源,受欢迎,且在不断发展。

要学习Python。当你了解了基本的Python,就可以学习pandas,这是一个用于清理和操作数据的Python库。如果你正在寻找需要Python的数据工作(其实大多数都需要),那么你也要知道公司也期待你具备Pandas这种技能。

学习AWS。如果你想成为一名数据工程师,你需要一个云平台,而AWS是最受欢迎的。我发现Linux Academy在线课程,在学习Google Cloud数据工程技能时很有帮助,也希望它们能对AWS有所帮助。

如果你了解所有这些技术,并且想成为一名更受欢迎的数据工程师,我建议你学习Apache Spark来处理大数据。虽然在我对数据科学家职位列表的研究中表明,它的受欢迎程度正在下降,但它仍然占据了近一半的数据工程师的职位列表。

Spark

小结

希望你能发现这份数据工程师所需技术指南的有用之处。

数据工程快乐!你还可以订阅我们的YouTube频道,观看大量数据科学相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

原文作者:Jeff Hale 
翻译作者:Lea
美工编辑:过儿
校对审稿:Jiawei Tong
原文链接:https://towardsdatascience.com/most-in-demand-tech-skills-for-data-engineers-58f4c1ca25ab