加入收藏 | 设为首页 | 会员中心 | 我要投稿 新余站长网 (https://www.0790zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

深度剖析:数据工程师vs数据科学家

发布时间:2019-02-26 12:58:43 所属栏目:教程 来源:yoku酱
导读:了解数据工程师和数据科学家之间的差异非常重要。 误解或不了解其差异,会导致团队在处理大数据时失败或者表现不及预期。 一个核心的误解是每个职位各自的优点和弱点。 我认为,其中一些误解来源于描述数据科学家和数据工程师的图表。 图1.关于数据科学家
副标题[/!--empirenews.page--]

了解数据工程师和数据科学家之间的差异非常重要。 误解或不了解其差异,会导致团队在处理大数据时失败或者表现不及预期。

一个核心的误解是每个职位各自的优点和弱点。 我认为,其中一些误解来源于描述数据科学家和数据工程师的图表。

深度剖析:数据工程师vs数据科学家
图1.关于数据科学家和数据工程师过度简化的维恩图。 来自Jesse Anderson的插图

像图1这样的维恩图,过度简化了岗位的复杂性,以及岗位的区别之处。它使两个岗位看上去可以互换。 是的,这两个岗位都处理大数据。 不过,每个岗位利用大数据,无论是创造价值,还是创造数据管线的做法都是截然不同的。这种差异来自每个岗位的基本技能。

何为数据科学家和数据工程师?

当我与组织机构合作,处理它们的团队架构时,我不用维恩图去描述一名数据工程师和一名数据科学家之间的关系。 我绘制的图如图2所示。

深度剖析:数据工程师vs数据科学家
图2.显示数据科学家和数据工程师的核心能力及其重叠技能的图表。 Jesse Anderson和大数据研究所的插图

数据科学家的技能

数学与统计学(有时物理也可以)是数据科学家的核心。 在基于这种数学背景,他们正创建高级分析能力。 他们通过将数学应用到极致来创建机器学习模型和人工智能模型。

如同软件工程一样,数据科学家将不得不与业务端进行交流。 这包括充分了解领域,以获得洞察力。 数据科学家通常负责分析数据以帮助业务,这需要一定的商业敏锐度。 最后,他们的结果需要以可理解的方式提供给业务方。这要求数据科学家有能力用口述和视觉结果的形式,与业务方交流那些复杂的结果和观察情况,以似的业务方能够理解并且基于此展开决策。

关于数据科学家,我一言以概之的定义是:数据科学家是通过编程来强化他们的数学和统计背景能力来进行分析数据、创造数学模型的人。

数据科学家的一个常见特征是,他们不得不选择了编程,以实现他们除了编程以外无法做到的事情。 当我与数据科学家交谈时,他们经常向我倾诉的一件事情。 为了完成更复杂的分析,或者由于其他方面难以克服的问题,他们学会了如何编程。 他们的编程和系统搭建技能达不到你从程序员或数据工程师那里会看到的水平 – 他们也没必要达到。

数据工程师的技能

编程能力是数据工程师的核心。这种能力背景通常是Java,Scala或Python的编程经验。 他们的工作重点或专业能力主要在分布式系统和大数据方面。 数据工程师具有高级编程和系统构建技能。

对于数据工程师,我对其一言以蔽之的定义是:数据工程师是在围绕大数据建立创建软件解决方案上具备专业技能的人。

利用这些工程技能,他们可以创建数据管线。 创建数据管线可能听起来很简单或微不足道,但在大数据这种规模上,这意味着将10-30种不同的大数据技术整合在一起。 更重要的是,数据工程师是理解并选择“适合处理某种工作的工具”的人。 数据工程师深入了解各种技术和框架,以及如何将它们组合在一起以创建解决方案,从而使公司的业务流程具备数据管线。

在我的经验中,数据工程师只是最低限度地参与集群的运维(与此处讨论有关数据工程师的说法相反)。 虽然某些数据科学技术确实需要设置一个运维或者数据运维岗位,不过绝大多数技术都没有。 就像大多数程序员一样,我不允许他们直接访问生产系统。 这主要是系统管理员或运维人员的工作。

重叠技能

数据科学家和数据工程师技能之间存在重叠。 然而,重叠永远发生在每个人能力的不规则边缘。

比方说,这两个岗位在“分析”上重叠了。 但是,数据科学家的分析技能将远远超过数据工程师的分析技能。 数据工程师可以执行一些基本到中级的分析,但很难进行数据科学家所做的高级分析。

数据科学家和数据工程师在编程能力上有所重叠。 不过,数据工程师的编程技能远远超出了数据科学家的编程技能。 让数据科学家创建数据管线早已远离了他们技能优势边界,但却是数据工程师的优势所在。 在这种情况下,这两个角色是互补的,数据工程师对数据科学家的工作起支持作用。

您会注意到,数据科学家和数据工程师之间还存在一个大数据方面的重叠。 通过更好地了解每个岗位的技能,您现在可以更好的理解这种技能重叠。 数据工程师使用他们的编程和系统构建技能来创建大数据管线。 数据科学家利用他们更加有限的编程技能,运用他们的高级数学技能, 利用已经存在的数据管线创建高级数据产品。 “创建和使用”之间的这种差异,是在处理大数据时,团队失败或者表现不佳的核心之处。一个团队,如果期望他们的数据科学家创建数据管线,最后将会极其失望。

当机构把事情搞错了

不幸的是,一个机构误解每个岗位的核心技能和职位角色相当常见。一些机构认为数据科学家可以创建数据管线。 数据科学家可以将就地创建数据管线。 数据科学家创建数据管道的问题有几个方面。 请记住,数据科学家只是不得不学习编程和大数据。 他们是聪明的人,最终确实可以解决问题,但创建数据管线并不是他们的核心竞争力。

从管理角度来看,数据科学团队将陷入困境。 您将环顾四周或听取其他团队的意见,并将他们的进度与本团队的进度进行比较。 看起来,好像数据科学团队根本没有产出,或者表现不佳。 这是一种基于对数据科学家核心竞争力的误解,所产生的不公平的评估。

数据科学家从事数据工程

我见过公司要求数据科学家们做数据工程师所做的事情。 数据科学家的效率为20-30%。 数据科学家并不知道数据工程师所知道的事情。 创建数据管道并非易事 – 它需要高级编程技能,大数据框架理解和系统创建。 这些不是普通数据科学家所拥有的技能。 数据科学家可以获得这些技能; 然而,这段时间的投资回报率(ROI)非常低。 不要误解我:数据科学家确实需要编程和大数据技能,而不是数据工程师需要的水平。

(编辑:新余站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读