大数据 技能
大数据多年来一直在大肆宣传。 我已经看到一些“大数据”项目在过去开始时大张旗鼓和充满希望。诺言始终是:“我们将开始对部门孤岛进行全面了解,并从我们的数据中获得大量见解,帮助我们领先于竞争对手”。 诺言很少兑现(如果有的话),并且“大数据”团队逐渐淡入了大熔炉的其余部分,在大多数大型企业中,我们称之为“ IT部门”。
问题的一部分在于我们如何建立这些大数据团队。 这些团队的技术和专业知识主要是Java / C#开发人员,关系DBA,一些Business Objects类型技能(本质上是基本报表),主要使用SQL和存储过程的ETL。 最近,我看到使用不太传统的数据库(例如带有XQuery的Mark Logic)代替SQL以及计算网格和数据网格(例如Gigaspaces和Gemfire)。 在所有这些情况下,团队中的解决方案或技能都不符合企业的期望。
最近,我们有机会为我们的一位客户建立了大数据团队。 我们知道我们要处理大量数据。 一些处理可以批量进行,但其他方面则需要实时进行。 对于要寻找的洞察力,我们有一些想法,但也知道,大多数情况下,我们不知道数据可以提供什么样的洞察力,以及如何帮助我们为客户提供更好的功能。
我们很幸运,大数据空间在过去几年中已经成熟。 从技术角度来看,已经出现了某些领导者。 Hadoop和Cassandra已经存在了一段时间。 我们拥有用于高度可扩展的事件处理的Kafka,我们具有用于ETL和机器样式作业的Spark,Storm,Scalding等。 机器学习库正在日趋成熟,诸如R之类的语言正得到越来越广泛的采用,数据科学正逐渐成为一种真正的职业。
团队技能谱
建立现代的大数据团队需要一系列技能:
微调
如果您确实拥有大数据,那么大数据需要可扩展的解决方案。 这种规模的解决方案,无论是开源的还是商业的,都需要在性能,可靠性,安全性和可维护性方面进行一些微调。 您使用基础技术的方式需要同等技术的最佳效果。 微调在软件的整个生命周期中进行,而不仅仅是在生产中。 您将需要使用的技术方面的专业知识。 至少团队的一部分必须在这方面有工作上的理解,但这还不够。 建议您在团队中拥有定期(不一定是全职)的微调专业知识。
资料建模
在我的经验中,良好的数据建模是一项垂死的技能,但同样重要。 实际上,对于大数据,此技能越来越重要。 从不同角度建模数据的方式至关重要。 这项技能从本质上讲是一位擅长于数据的优秀业务分析师之一。 该角色还需要对业务有天生的理解。 根据业务需求对数据进行建模,可视化,调整和发展是其自身的职责,因此不能忽视。
部署自动化
大数据解决方案通常非常复杂,并且包含许多活动部分。 部署自动化对于保持对这些高度分布式环境的控制是绝对必要的。 环境供应和部署自动化不仅可以降低生产中出现问题的风险,而且还可以进行更全面的测试-自动化和探索性测试。
ETL开发
我称这个ETL开发为更好的期限。 传统意义上的ETL只是此角色的一部分。 这是软件的软件开发部分。 一些方面将需要更传统的数据提取-转换-加载,其他方面将需要生产数据科学算法。 XP开发实践(如TDD广告持续集成)在此适用于任何其他类型的软件开发。
实用数据科学
这些是对数据挖掘和预测分析领域有深入了解的ETL开发人员,或者是数据科学家也很不错的开发人员。 他们也可能对数据建模有很好的了解。 掌握开发和数据科学的知识很少,但是精通其中一个但又能很好地掌握另一个知识的人并不罕见。
理论数据科学
这些是生活和呼吸统计建模和数据挖掘理论的核心专家。 他们的工作是根据数据提出新颖的答案,然后由开发人员进行生产。 为他们提供合适的环境非常重要,他们可以在这些环境中使用代表数据对不同的模型进行试验。 他们实际上是团队的研发人员。
整个团队
一支平衡良好的团队一如既往地由T型技能组成,每个团队成员都与团队中的其他专家一起跨学科做出贡献。 与其他任何软件开发团队一样,此处都应遵循极限编程实践和软件Craft.io原则。
理解大数据团队拥有自己的专业技能非常重要。 其中一些技能与大多数通用软件开发团队中发现的技能有很大不同。 设立一个通用开发团队并将其称为“大数据团队”将不会为您的组织带来“大数据”的好处。 您将需要确保此处列出的技能范围也属于该团队。
翻译自: https://www.javacodegeeks.com/2015/06/big-data-skills-spectrum.html
大数据 技能