新手数据工程师常犯的5个错误

Jun 08, 2021 by Zhang in  Blog

在最佳的实践和业务调整方面,大多数新手数据工程师都是边学边做的。从构建太复杂而不可持续的系统,到过分信任现有的数据结构。

下文中列出了五个最常见的错误和陷阱,即使是再熟练和天才的新手数据工程师,也可能会陷入其中。下文还介绍了避免相同陷阱的方法。

新手数据工程师常犯错误

客观来讲,海量的数据集本身就是不精确的,而且,还很容易导致数据工程师因为个例而忽视了整体。新手数据工程师的通病就是,很难长期去维护高技术系统,也没有把最终用户和总体业务的目标放在心上。

01 构建了难以维护的系统

新手数据工程师构建的很多程序,在短期内可能运行良好,能够提供特定的最终结果。但从长远看,它们会崩溃、或因系统过于复杂而难以维护。ETL系统/数据仓库依赖于复杂的代码,在没有原始数据工程师输入的情况下,就无法管理,所以很难持续运行,而且最终效率也会降低。

新手数据工程师不要只关注当前的任务,还要给未来的开发项目制定一条清晰的道路,方便未来持续良好的运行。

02 提前假设数据是准确的

在完美世界里,数据应该是最实时最准确的,随时使用数据就可以发挥它的魔力。但实际情况并非如此。新手数据工程师可能会过度依赖数据集的准确性和“清洁度”。特别是源于他们自己系统的数据。

根据经验来说,最好要假设那些很“干净”的数据中,也有不准确的数据点(比如:日期格式错误,或用了不存在的缩写等等)。另外,还要坚持清理数据的习惯,保证使用的信息是最准确的。

清理数据的具体步骤如下:

  • 建立一个数据质量计划
  • 在接口处标准化触点参数
  • 验证数据的准确性

03 一口气构建太过复杂的逻辑

这个问题可以跟第一个常见错误联系起来,而且还和复杂的数据仓库、系统有关(如果没有开发人员的持续投入,它们就无法维持正常运转)很典型的例子就是,在一个查询中设置太多步骤。在创建查询前,你应该考虑一下,每个步骤是否真的有必要,这些设置能不能让系统操作更容易,还是增加了不必要的系统负担,导致系统瘫痪,或者难以维护。

所以,在开始之前你要考虑清楚,你构建的系统是否已经足够直观,是否方便后期他人的理解与维护。

04 不问缘由的构建

这一步,要求数据工程师和项目业务、组织目标时刻保持同步。因为数据本身是一成不变的,但对于一名新手数据工程师来讲,如果没有一个清晰的愿景(比如:实施计划和总体目标)他们也不清楚自己要构建的是什么。

了解每个项目的预计业务影响后,就能更容易确定抓取、构建数据的优先顺序。那么终端用户要用它来做什么呢?这就要求一名数据工程师了解业务案例,理解自己应该构建的内容。

05 不考虑终端用户

就算一位新手工程师成功避开了其他所有的错误和陷阱,但忽视了终端用户的需求,也会导致严重的后果,可能会让整个项目陷入困境。一个系统即使再发达,也得对终端用户有用才性,所以,终端用户的需求才是整个开发管道的首要和中心。

  • 你的数据结构对用户友好吗?
  • 终端用户会用SQL吗?
  • 终端用户有哪些可以使用的工具和程序?
  • 终端用户有什么综合能力?
  • 终端用户理解数据模型吗?

以上这些,是新手数据工程师在进行项目时需要考虑的一些基本问题。

新手数据工程师的最佳实践

任何行业都会犯错(并从错误中学习),但尽早实施一些最佳实践,可以在短期或长期为新手数据工程师节省大量的时间和精力。

01 精简你设计的功能

设计简单的功能,专注单个任务,会更容易找到错误,并且快速返回进行路线的修正。数据工程师Anna Anisienia说:

“要想让功能可重复使用,最好把它们编写成只做一件事的方式。当然,你可以有一个主要功能,来把这些不同的片段联系在一起。总之,我发现通过功能简化(专注于做好一件事),能更快地开发代码,因为,单个元素的失败会更容易被识别和修复。想要改变一个小功能的单个组件非常容易,就像乐高一样,然后再组合应用到不同的案例中。”

02 少即是多

编程时尽量使用较少的代码,让它们能简单直接地应用到工作中,就是最好的。因为一旦你不负责这部分了,别人也能很容易的进行管理。

想想你自己是如何读代码的。你的代码是否简单易懂?有正确的命名和正确的结构吗?所以,尽可能用较少的代码,因为写的代码越少,需要维护的部分就越少。

03 使用正确的命名规定

想让代码更容易阅读与维护,最简单有效方法,是在命名你的函数时尽可能的清晰详尽。努力让你的代码“自文档化”(self-documenting),让公式特别明显,大家的生活(和工作)就更容易。

记住,数据就是生活,越简单越好。

如何成为一名数据工程师?

数据工程职业的需求量很大,所以,任何时候都是成为数据工程师的最佳时机。根据PayScale,美国数据工程师的平均基本年薪超过10万美元。

想要成为一名数据工程师,有好几种方式,不一定非要回大学或者花高价取得高等学位来寻找数据工程方面的职业。

要想成为数据工程师,你要先熟练地写程序(Python是基础入门)。还需要学习自动化、脚本编写和数据库建模(SQL是入门)。你可以通过传统的学术课程、或者训练营成为数据工程师,甚至可以通过自学,先学习一些基础知识。

感谢阅读!

原文作者:SeattleDataGuy 
翻译作者:Lea
美工编辑:过儿
校对审稿:Jiawei Tong
原文链接:https://betterprogramming.pub/5-mistakes-new-data-engineers-make-6ea17cb729f9

如何在非技术背景下转数据领域?

Nov 15, 2020

如果你是另一领域的专业人士,并且对技术专家的职业感兴趣,我们有个好消息要告诉你:在没有任何技术经验的情况下,你很有可能投身于学习你所选择的技术专业。

【To-Don’t List】你会在Holiday期间安排面试吗?

Dec 24, 2020

安排工作面试可能会成为一个棘手的问题,尤其是在年底前后。许多招聘经理会在12月休年假;而那些没有休假的人可能会忙于各种各样的活动,比如为来年做预算。

【TOP20】美国H-1B薪资高收入城市

Feb 18, 2021

随着拜登政府的上台,H-1B和其他签证政策可能会经历一轮变化。同样值得关注的还有H-1B员工平均工资最高的城市,因为这些数字可能会随着新政策的出台而发生变化。

Leave a Comment

Your email address will not be published. Required fields are marked *

Comment *