“科学家可以发现一颗新星,但无法创造出来。 为此,他将不得不联系工程师。” Gordon Lindsay Glass,设计设计(1969)几个月前,我写了关于数据分析的理论和方法专家(数据科学家)与数据处理的专家(数据工程师)之间的区别。 我谈到了他们的技能和共同的起点。 有趣的事情发生了:数据科学家开始发展,声称他们实际上在数据工程领域和数据处理专家一样胜任。 这很有趣,因为数据处理专家没有反对,也没有说他们是数据分析理论的专家。
因此,在过去的几个月中,我一直在收集信息并监视专家在其自然工作环境中进行数据分析理论的行为。 在本文中,我将更多地讨论为什么数据科学家不是数据工程师。
为什么这很重要?
有些人抱怨说,数据分析理论专家和数据处理专家之间的区别仅在于名称。 他们说:“
名字不应阻止人们学习或做新的事情 。” 我同意,您需要学习更多。 但是请注意,您的培训只能与实践中需要做的事情密切相关。 否则,这可能导致具有大数据的项目失败。
在很大程度上还取决于公司的管理水平。 管理层聘请数据分析理论专家,并期望他们成为数据处理专家。
我在不同的公司中也听到过同样的故事:一家公司认为,数据科学是一种获取投资者金钱,巨额利润,在其商业社区中赢得信誉的方式, 该决定是在高级管理层一级做出的。 例如,让某个爱丽丝属于此类高层管理人员。 经过长时间的搜索,该公司找到了世界上数据分析理论上最好的专家-我们称他为鲍勃。
鲍勃的第一个工作日到了。 爱丽丝走近他,热切地谈论着她的所有计划。
“太好了。 数据管道和您的Spark群集在哪里?
爱丽丝回答:“这就是我们对您的期望。 我们聘请您进行数据分析。”
“我不知道该怎么做,”鲍勃说。
爱丽丝大吃一惊:“但是您是数据处理理论的专家。 对不对 这就是你在做什么。”
“不,我使用已经创建的管道和数据。”
爱丽丝回到她的办公室,找出发生了什么事。 她看着简化的图表(如图1所示),无法理解Bob为何无法对大数据执行简单的任务。
图1.具有数据分析理论专家和数据处理专家的简化的维恩图。聚光灯
这些交互产生两个问题:
- 管理层为什么不理解数据分析理论专家不是数据处理专家?
- 为什么一些分析理论家认为他们是加工专家?
我将从领导层开始。 稍后,我们将讨论数据分析理论专家本身。
让我们面对现实:数据处理不是人们关注的焦点。 她没有被宣布为21世纪的最佳作品。 她在媒体上鲜为人知。 在会议上,公司的第一个人没有被告知数据处理的好处。 所有消息都与数据分析以及数据分析的理论和方法方面的专家相关。
但是事情开始改变。 我们举行了有关数据处理的会议。 人们逐渐认识到开发技术数据处理工具的需要。 我希望我的工作将帮助组织意识到这一迫切需求。
认可与赞赏
即使在组织拥有数据处理专家团队的情况下,其工作通常也仍然没有得到充分评估。
在会议期间可以看到缺乏认可。 数据分析理论的专家说,他创建了。 我看到了构成他模型基础的全面数据处理技术,但是在对话中却从未提及。 我不希望对其进行详细检查,但是很高兴注意到已经完成的工作,以便可以创建其模型。 数据分析领域的管理人员和新手认为,借助数据分析理论专家的技能,一切皆有可能。
如何获得认可
最近,数据处理专家一直在问我如何在其公司中引起关注。 他们感到,当分析理论专家展示他们的最新发展时,他们会得到领导的全部感激。 工程师问我的主要问题是:“我如何让数据科学家停止认为我们的共同工作是我的优点?”
根据我在公司中看到的情况,这是一个有根据的问题。 管理层不承认(也不公开)与数据分析相关的所有数据处理工作。 如果您阅读并认为:
- 我的数据分析理论专家是数据处理专家。
- 我的数据分析理论专家创建了非常复杂的数据管道。
- 作者一定不知道他在说什么。
……那么您可能会有一位数据处理专家,而他并没有受到关注。
由于数据分析理论专家会在没有工程师的情况下辞职,因此未得到足够认可的工程师也会辞职。 不要上当; 对于合格的数据处理专家而言,劳动力市场与数据分析理论专家一样炙手可热。
只有在朋友的支持下才能进行数据分析
您可能已经听说过
亚特兰大的
神话 。 作为惩罚,他被迫将世界/天空/天体保持在自己身上。 地球之所以存在,只是因为阿特拉斯(Atlas)拥有它。
同样,数据科学家支持数据分析领域。 一个将整个世界举在肩膀上的人虽然没有得到应有的赞赏,却没有得到多少赞赏。 在组织的各个级别,应该理解,只有借助一组数据处理专家的工作,数据分析才有可能。
图 2.即使是1400年代的意大利人,也都知道数据处理专家的重要性。数据科学家不是数据工程师。
这使我们了解了为什么数据分析理论认为他们是数据处理专家。
在继续之前,请注意以下几点:
- 我知道数据分析理论专家真的很聪明,而且我喜欢与他们合作。
- 我不知道这样的智力是否会导致更强的邓宁-克鲁格智商效果。
- 我认识的一些最好的数据分析理论专家是数据处理专家,但很少。
- 我们不断地重新评估自己的技能。
图 3.分析专家将他们的技能与实际技能相比较的经验图。与数据分析理论专家讨论他们的数据处理技能时,我发现他们的自尊心相差很大。 这是一个带有偏见的有趣的社会实验。 大多数数据分析理论专家都高估了自己的数据处理能力。 有些人给出了准确的评估,但没有人给出的评分低于其实际能力。
此图中缺少两件事:
- 数据处理专业人员的技能水平是多少?
- 中等复杂的数据管道需要什么技能水平?
图4.建立适度复杂的数据管道所必需的分析和数据处理理论专家技能的经验图。该图显示了数据处理所需功能的差异。 实际上,我夸大了能够创建中等复杂数据管道的科学家人数。 现实情况可能是分析理论的专家占据了图中所示份额的一半。
通常,它提供了这两组的大概部分,它们可以创建也可以不创建数据管道。 是的,像大多数分析理论专家一样,某些数据处理专家无法创建中等复杂的管道。 这使我们回到了紧迫的问题:组织将其拥有大数据的项目提供给那些没有机会正确实施这些项目的人。
什么是中等复杂的数据管道?
中等复杂的数据管道比创建
数据管道所需的最低级别高一级。 最低级别的一个示例是使用Spark处理存储在HDFS / S3中的文本文件:假设使用正确使用的NoSQL数据库开始存储优化。
我认为数据分析理论的专家认为,他们的简单管道就是数据处理。 但是实际上,他们在谈论最简单的解决方案,并且需要更加复杂的传送带。 过去,后台的数据处理专家执行了非常复杂的工程,而分析理论专家则不必进行处理。
您可能会认为:“好吧,我的数据分析理论专家中有20%可以解决这个问题。 最后,我不需要加工专家。” 首先,请记住,此图表夸大了数据分析理论专家的能力。 中等难度水平仍然是一个较低的水平。 我需要创建另一个图来显示很少有数据分析理论家可以采取下一步行动。 在此阶段,参与数据分析理论的专家所占的比例下降到1%或更少。
为什么数据科学家不是数据工程师?
有时我更喜欢考虑问题的反映。 以下是一些使数据分析理论专家缺乏处理技能的问题。
大学和课程
数据分析是一种用于大学和在线课程的热门新程序。 有各种各样的建议,但几乎到处都存在相同的问题:课程表根本不包含任何数据处理类,或者只有一对脱颖而出。
当我看到一个新的数据分析培训计划时,我会仔细检查一下。 有时我被要求对大学开设的课程发表评论。 我告诉所有人同样的事情:“您需要经验丰富的程序员吗? 因为您的课程根本不涉及使用创建的数据管道所需的编程或系统。”
一般而言,该课程侧重于必要的统计工具和数学。 根据公司和科学家的说法,这反映了数据分析的外观。 但是现实世界看起来很不一样。 贫穷的学生只能摇摆到这些非平凡的课程结束。
考虑到分布式系统领域的硕士学位要求,我们可以退后一步,从学术角度看待一切。 显然,数据分析理论的专家并不需要那么高的水平,但是它有助于显示数据分析理论的专家在技能上存在哪些差距。 有几个严重的差距。
数据处理!= Spark
在数据分析和管理理论专家中,一个普遍的误解是他们认为数据处理只是编写某种Spark代码来处理文件。 Spark是一个很好的批处理解决方案,但这并不是您唯一需要的技术。 大数据解决方案将需要10-30种不同的技术才能协同工作。
这种谬误是大数据故障的核心。 管理层认为,该公司拥有一种新的通用解决方案来解决大数据问题。 现实要复杂得多。
当我就大数据问题向组织提供建议时,我会在公司的所有级别检查是否存在此错误。 如果是这样,我必须确保列出所有他们需要的技术。 这消除了人们的误解,即在大数据区域中只有一个简单的按钮和一种技术可以解决所有问题。
代码从何而来?
有时,数据分析理论专家会告诉我数据处理技术有多简单。 我问他们为什么会这样呢? “我可以从StackOverflow或Reddit获得所需的代码。 如果我需要从头开始创建某些东西,可以将某人的项目复制到会议的演讲中或技术文档中。”
对于一个陌生人来说,这似乎很正常。 对于数据处理专家来说,这是一个警报。 抛开法律问题,这不是数据处理。 在大数据领域,很少有模板问题。 “世界,你好”之后发生的所有事情都有一个更复杂的结构,这需要数据处理专家,因为没有使用它的模板方法。 从技术文档中复制项目可能会导致
性能下降甚至更糟 。
我不得不与几个小组的数据分析理论打交道,他们尝试了“猴子看见-猴子看见”的方法。 它不能很好地工作。 这是由于大数据的复杂性急剧增加以及
对用例的密切关注。 数据分析理论的专家团队经常拒绝项目,因为它超出了他们在数据处理方面的能力。 简而言之,“我可以从StackOverflow复制代码”或“我可以更改已经编写的内容”与“我可以从头开始创建此系统”之间有很大的区别。
就个人而言,我担心数据分析理论的专家小组可能会成为巨大技术债务的来源,从而降低组织中大数据的有效性。 等到事情变得清楚的时候,技术债务将变得如此巨大,以至于不可能修复它。
引入的最长的工业用代码是什么?
数据分析理论专家之间的主要区别在于他们的深度。 可以通过两种方式显示此深度。 在实践中,他们的代码应用最长的时间是什么?它甚至已经投入运行了? 他们编写过的最长,最大或最复杂的程序是什么?
这不关竞争,而是关乎他们是否知道在您投入运行时会发生什么以及如何维护代码。 编写包含20行代码的程序相对简单。 编写1000行一致且易于维护的代码是另一回事。 从来没有写超过20行的人不了解维护简便性的区别。 他们对Java的冗长性以及在编程中使用最佳实践的所有抱怨都与大型软件项目有关。
在评估和发现数据时,您需要快速工作并重做代码。 并且需要在不同的更深层次上使用生产代码。 这就是为什么大多数数据分析理论专家的代码在投入运行之前都必须重写。
分布式系统设计
找出数据分析理论专家和数据处理专家之间差异的一种方法是,看看他们编写自己的分布式系统时会发生什么。 数据分析理论专家将撰写一些非常专注于数学但工作不佳的文章。 编写分布式系统的数据处理专家将创建一个运行良好的分布式解决方案(
但不会更好地编写您自己的系统 )。 我将讲几个有关我与组织的互动的故事,其中数据分析理论的专家创建了一个分布式系统。
因此,在我客户的公司中,一个由数据分析理论专家组成的部门创建了这样一个系统。 我被派去与他们交谈,了解他们为什么写自己的决定以及它可以做什么。 他们从事(分布式)图像处理。
我首先问他们为什么要创建自己的分布式系统? 他们回答说不可能使算法分布式。 为了证实他们的发现,他们与另一位数据分析理论专家签订了合同,专门从事图像处理。 承包商确认不可能分发该算法。
在我与团队一起工作的两个小时中,很明显,该算法可以分布在通用计算引擎(如Spark)上。 , . data scientist'e data engineer', -.
, , . , . . , . . RPC- , .
:
- , . , .
- , .
- : « ?» : « ?»
- , , , .
?
, , : — . , ? ?
— , big data.
, , . , . 以下是其中一些:
, , , , . , . , , : « » « . . ». , . .
? , - , production ? «». , .
data scientist'? , ( ), . , . «» .
?
, , data scientist' data engineer'. , . : , , .
, , , .
, , data scientist' data engineer' , , . 2-5 . , , .
, . , , , . , , . , , , , , .
, . . , . , , , , .
, . , , , , . :
- . , , , .
- , — . , .
- ? , -?
- , data scientist'. .
- , . , . — , .
怎么办
, , ? , . . .
, . , . .
, . .
big data
, big data — . , . big data-, . .
big data- , . , , . ( ) , .
类似的故障形成重复模式。您可以升级到最新技术,但是忘记修复系统问题。只有解决根本问题,您才能开始成功的旅程。