数据工程师和数据科学家:有什么区别?

数据科学家和数据工程师的专业经常被混淆。每个公司都有自己的数据处理细节,不同的分析目标以及对哪些专家应参与工作的哪一部分有不同的想法,因此每个公司都有自己的要求。 

我们了解这些专家之间的区别,他们解决了哪些业务问题,他们拥有什么技能以及他们赚了多少。结果证明材料很大,因此我们将其分为两个出版物。

在第一篇文章中,Netology 数据科学和分析系负责人Elena Gerasimova 讲述了数据科学家和数据工程师之间的区别以及它们使用的工具。

工程师和科学家的角色如何不同


数据工程师是一位专家,一方面,他开发,测试和维护用于处理数据的基础架构:数据库,存储和海量处理系统。另一方面,它是清理并“梳理”数据以供分析人员和数据科学家使用的人员,也就是说,它创建了数据处理管道。

数据科学家使用机器学习算法和神经网络来创建和训练预测(不仅是预测)模型,从而帮助企业发现隐藏模式,预测事件并优化关键业务流程。

数据科学家和数据工程师之间的主要区别在于,他们通常有不同的目标。两者都致力于确保数据的可访问性和高质量。但是,数据科学家找到了他的问题的答案,并在数据生态系统(例如,基于Hadoop)中测试了假设,数据工程师创建了一条管道,用于服务同一生态系统中Spark集群中数据科学家编写的机器学习算法。 

数据工程师通过团队合作为企业带来价值。它的任务是充当不同参与者之间的重要纽带:从开发人员到业务报告消费者,并提高分析师的生产率(从市场营销,产品到BI)。 

相反,数据科学家积极参与公司的战略,并提取见解,制定决策,实施自动化算法,建模并从数据中创造价值。


处理数据应遵循GIGO原则(垃圾输入-垃圾输出):如果分析人员和数据科学家处理未准备的和可能不正确的数据,则即使使用最复杂的分析算法,结果也将是错误的。 

数据工程师通过建立用于处理,清理和转换数据的管道并允许数据科学家使用高质量数据来解决此问题。 

市场上有许多用于处理数据的工具,涵盖了每个阶段:从数据的外观到输出到董事会的仪表板。而且重要的是,工程师应决定使用它们的方式,这不是因为它很时尚,而是因为它确实会对工作中的其他参与者有所帮助。 

有条件的:如果公司需要与BI和ETL交朋友-下载数据和更新报告,这是数据工程师必须处理的典型传统基础(如果团队除他之外还有一名架构师)。

数据工程师职责

  • 数据基础架构的开发,构建和维护。
  • 错误处理和创建可靠的数据处理管道。
  • 将来自各种动态来源的非结构化数据转换为分析师工作所需的形式。
  • .
  • , - .
  • .
  • , , .
  • ( ).

数据工程师专业领域内还有另一个专长-ML工程师。简而言之,此类工程师专门致力于将机器学习模型带入工业部署和使用。通常,从数据科学家那里获得的模型是研究的一部分,可能在战斗中不起作用。

数据科学家的职责

  • 从数据中提取特征以应用机器学习算法。
  • 使用各种机器学习工具来预测和分类数据模式。
  • 通过微调和优化算法来提高机器学习算法的性能和准确性。
  • 根据公司的策略形成“强”假设,必须对其进行检查。

Data Engineer, Data Scientist , .


今天,数据处理专业人员的期望已经改变。以前,工程师收集大型SQL查询,手动编写MapReduce并使用Informatica ETL,Pentaho ETL,Talend等工具处理数据。 

在2020年,专家们将不缺少Python和现代计算工具(例如Airflow)的知识,了解使用云平台的原则(使用它们节省硬件,同时遵守安全原则)。

SAP,Oracle,MySQL,Redis-这些是大型公司中数据工程师的传统工具。它们很好,但是许可证的成本很高,以至于学习与它们一起工作仅在工业项目中才有意义。同时,有Postgres形式的免费替代方案-它是免费的,不仅适用于培训。 


从历史上看,Java和Scala经常被要求使用,尽管随着语言和技术的发展,这些语言逐渐淡出了背景。

尽管如此,核心的BigData:Hadoop,Spark和动物园的其余部分不再是数据工程师的必备条件,而是一种解决传统ETL无法解决的任务的工具。 

趋势是提供使用工具的服务,这些工具无需知道工具的编写语言(例如,不具备Java知识的Hadoop),以及提供现成的服务来处理流数据(语音或视频图像识别)。

SAS和SPSS的工业解决方案很受欢迎,Tableau,Rapidminer,Stata和Julia也被数据科学家广泛用于本地任务。


几年前,分析师和数据科学家才有机会建立管道:例如,已经可以使用相对简单的脚本将数据发送到基于PostgreSQL的存储中。 

通常,使用管道和集成数据结构仍然是数据工程师的责任。但是,如今,T型专家的趋势比以往任何时候都更加强大-在相关领域具有广泛的能力,因为工具一直在不断简化。

为什么数据工程师和数据科学家一起工作


数据科学家与工程师紧密合作,可以专注于研究部分,创建可立即使用的机器学习算法。
工程师专注于可伸缩性,数据重用,并确保每个单独项目中的数据输入和输出管道与全局体系结构一致。

职责分离确保了从事不同机器学习项目的专家团队之间的一致性。 

协作有助于有效地创建新产品。速度和质量的实现得益于在为每个人创建服务(全局存储或仪表板集成)与实施每个特定需求或项目(高度专业化的管道,连接外部资源)之间的平衡。 

与数据科学家和分析师紧密合作,可以帮助工程师发展分析和研究技能,以编写更好的代码。数据仓库用户和数据湖用户之间的知识交流得到改善,这使项目更加灵活,并提供了更可持续的长期成果。

在旨在发展使用数据的文化并基于数据建立业务流程的公司中,数据科学家和数据工程师可以相互补充,并创建完整的数据分析系统。 

在下一篇文章中,我们将讨论数据工程师和数据科学家应该接受什么样的教育,他们需要发展什么技能以及市场如何运作。

来自网络学的编辑


如果您仔细研究数据工程师或数据科学家的专业,我们邀请您学习我们的课程计划:


All Articles