likes
comments
collection
share

你是谁的数据工程师?

作者站长头像
站长
· 阅读数 25

你是谁,数据工程师?

在这篇文章中,我将解释当今存在的数据角色,特别是--谁是数据工程师?其中包含的角色定义、职责和挑战是什么?

你是谁的数据工程师?

照片:Christina @ wocintechchat.comonUnsplash

在过去的几年里,我一直在从事大数据工程师的工作,虽然听起来这是当前的流行语,但我逐渐了解到,在软件界的许多同事并不一定了解这个角色的内容。

有些人会把它与DevOps、或数据分析、或数据科学混淆起来。有些人会认为这是神话中的数据库架构师(DBA)角色的新品牌。

因此,在发现自己多次向许多不同的人解释我的工作,以及为什么它与我前面提到的那些人不同之后--我意识到,可能还有一些人会很乐意知道数据工程是怎么回事的。

但首先。今天有哪些数据角色存在?

说实话,这种困惑是很好理解的--今天,很多公司已经意识到了数据对组织的重要性,在这个世界上,每一个基本的动作都会转化为数据并被人使用,几乎每个公司都有一个数据组,其中的角色定义有点不同。

有时,数据组会 作为整个公司的一个小组,通常是在一个有特定领域的小公司,但随着公司的发展,这样很可能对于每个有特定领域的部门都会有一个专门的数据组来掌握数据流程。

这些是数据组中的关键角色。

  • 数据分析师--数据分析师的工作是将信息转化为知识,识别趋势,并将分析后的数据作为战略引擎,做出更好的基于数据的商业决策。其主要工具将是数据库、SQL和HIVE查询,以及用于数据可视化的图形仪表板。
  • 数据科学家--使用数据驱动的算法、机器学习解决业务问题,通常具有广泛的统计学和数学知识,寻找数据中的趋势和模式,将公司的利益提升到新的水平。
  • **数据工程师--**建立和维护数据基础设施,如数据管道,负责将数据从不同的来源转移到其他角色使用的一个地方,为数据科学家建立模型做准备。

你是谁的数据工程师?

图片来源:作者

数据工程师的类型

数据工程师不仅能 "得到 "数据,还能让你方便地访问数据,随时收集最新的数据,甚至是实时的。

经典的 "数据工程师"--数据管道工程师

大多数工作是基于将数据从不同的数据源转移到一个目标,在很多情况下,他们会主要使用ETL**(ETL** 是Extract, Transform, and Load的缩写,指的是从多个来源中提取数据按业务需要进行转换,并加载到目标数据库的过程)或建立和维护这样的。

这种类型的数据工程师需要对关系型数据库,特别是SQL查询有很高的理解。

机器学习数据工程师

这类人的主要作用是将模型(由数据科学家开发)部署到现场生产环境中,包括所有这些--建立一个包括自动化、测试、监控和日志的生产基础设施。

机器学习工程师将参与编写训练和准备模型的代码(大数据解决方案中的数据准备和训练层),在这种情况下,强大的Python、Spark和云环境的背景是必须的。

数据工程师的主要技能

数据科学家通常有很强的数学和统计学背景,而数据工程师通常是有几年经验的软件开发人员,具有云基础设施和开发语言的知识,如Python或Java,Scala等。

由于我们处在一个大数据的世界里,它通常是在云中管理的,所以对其中一个供应商的知识将是有用的--如谷歌云服务、Azure或AWS。

此外,数据库的知识也是工作所需要的东西之一--了解关系型和非关系型数据库,运行复杂的查询以获取数据,而这一切都不会影响用于生产环境的数据。

在某些情况下,根据工程师所从事的项目,需要对机器学习算法、统计模型和各种数学函数有基本了解。

你是谁的数据工程师?

图片来源:作者

作为一名数据工程师的挑战

可靠性

在数据世界中最重要的是数据的可靠性--在你的数据被破坏的情况下,任何复杂的模型都无能为力。因为数据工程师负责收集数据,有时是从不同的来源,并将它们转移到一个目标,转换和处理它们以创造统一性,以及更多,所以人们担心数据的可靠性会在途中受到损害。

这是一个很大的挑战,要确保一路上我们没有改变数据的本质,我们收到的东西和我们传递的东西是一样的。

为了提供高度确定的数据,我们必须一路采取行动,例如。

  • 数据一致性--意味着整个数据中的每个变量都有一个单一的含义。为了确保数据的可靠性,我们必须验证模式的一致性--对于一个特定的模式,每条记录的处理方式都是一样的。
  • 元数据存储库--通过有序地保存来自何处的元数据以及如何进行处理,为数据提供背景。
  • **数据修改权限--**只有那些被授权修改数据的人才能这样做--人和流程都一样。这将确保没有意外的变化发生。

可扩展性和性能分析

有时,传入数据的数量和速度是不可预测的,这个角色的挑战之一是建立一个知道如何轻松和快速处理增加的负载的系统。

重要的是要明白,没有什么神奇的解决方案,对于 规模,但会根据问题给出解决方案--你如何能处理好负载? 例如,如果你的系统是一个网络API,负载可能会影响响应时间,所以解决方案应该是在这个层面。

可重复性

数据是一切的基础。因此,人们应该准备好应对由于各种原因导致部分数据丢失的情况。因此,有效和快速恢复的能力,并在一段时间内保持数据的可用性,是数据工程师的一个重要挑战。

结论

总而言之,关于谁是数据工程师以及他们的职责是什么的困惑是可以理解的。这的确是一个有趣而多样的角色,包括代码编写以及云基础设施的维护和建立,数据库的复杂工作,在某些情况下还包括统计和机器学习。

数据基础设施的用户相信你能为他们提供一个数据可靠的系统,有能力快速处理突发的负载而不丢失关键数据,并有能力在意外情况下恢复信息。 工作中的许多挑战增加了很多兴趣和令人印象深刻的学习曲线--数据世界正在迅速发展,为了保持一致,我们必须与我们面临的变化和技术保持一致,作为一个解决方案。此外,这个角色伴随着很多责任--例如,数据的可靠性是一个真正的挑战,在最不 "糟糕的情况 "下,这意味着大量的金钱损失,在其他情况下,可能会因为不正确的数据而产生法律后果,或者错误的决定会使人们失去生命(例如,安装在煤气罐上的传感器和实时泄漏报告,如果数据在过程中被不同的翻译,可能会错过实时灾难警报)。

你是谁的数据工程师?


谁是你的数据工程师?原文发表在Medium上的Towards Data Science,人们通过强调和回应这个故事来继续对话。

转载自:https://juejin.cn/post/6990619729433985054
评论
请登录