别以为你是技术开发人员就可以不会大数据
要处理大数据,开发人员需要了解他们正在处理的业务问题,以及部署架构和数据。为了了解大数据,我们采访了21家公司的22位高管,他们正在帮助客户管理和优化他们的数据,以推动业务价值。我们的问题是:开发者在大数据项目上需要什么技能?以下是他们的的答案。
了解业务问题
1. 从数据中心的角度来看工作。你有什么数据、你想知道什么、你要怎么填补空白来解决问题?
2. 开发人员需要各种技能来处理大数据项目,其中包括以下三项至关重要的技能:A. 清楚地了解公司内部的业务目标范围,以及这些技术如何与各种技术保持一致。B. 在应用程序的中,开发人员需要了解他们正在处理的数据集的商业价值。C. 开发人员作为一个组织的一部分,需要有能够构建和管理一个应用程序的能力。
3. 了解用例并找出最佳解决方案堆栈。培养核心基础人才。理解数学结构、框架和模型。了解业务应用程序 ---如何将信息用于业务。有许多工具可以直观地减少初始难度。正如上述,技能的完美结合涉及统计、数学知识、数据建模经验、编程经验以及商业领域的敏锐度。尽管找到具有完美技能组合的个人(一名真正的数据科学家)是相当难得的,但某些工具集和系统可以减轻对编程经验的需求,帮助数据建模部分,甚至减少对深入了解预测背后的数学模型。
部署体系结构
1. 未来是AI / ML的,同时也别忘了微服务。在云中与AI / ML工具结合起来,这需要不同的、更大的愿景。
2. 了解云、微服务、本地分布和安全性。
3. 了解流行的开源系统的架构,跟上趋势。
4. 系统架构、软件工程、机器学习以及高级分析。
数据
1. 虽然开发人员掌握了开发流程,但为了扩展平台将会帮助理解Kafka。你不必手动完成所有的编码工作,将会有其他工具来消除连接性问题。
2. 利用数据结构来简化流程。使用数据作为容器和微服务的一般资源。智能制造更有针对性和反应性的过程。看质量问题和根本原因。让工作更容易,这样他们就能做出更多的贡献。
3. 集成资源来构建应用程序和推荐引擎。补充软件堆栈、ML库和计算资源。结构化数据,使其易于使用。
4. 拥抱非关系数据模型,如文档和半结构化。为了分析的目的,经常需要对数据进行非规范化处理。
5. 理解结构、维度和变量的基本数据词汇。了解一个给定的变量可以做什么样的分析。
6. 如何处理大规模的数据。多用户的并发性应用程序开发人员可以快速获取语言了解数据生态系统的工作原理。
7.开发人员需要使用编程语言、概率和统计,应用数学和算法来获得机器学习的上升趋势。他们还需要了解数据的上下文,最终用户将如何使用数据,以及如何重用数据。他们需要考虑分布式计算和架构,将数据管理恰当地分离到不同的区域,以保持大数据架构的组织性,敏捷性和安全性。DevOps原则也需要被应用到。通过参与整个软件交付流程,数据专家可以帮助其他团队了解软件在生产中面临的数据挑战类型。
8.数据工程和数据科学是一个大的分支。虽然对数据科学的基本知识只需要有所掌握,但对不同数据技术的深入了解却是必要的。尽管NoSQL很受欢迎,但SQL仍然是查询数据的标准。开发人员需要了解不同的部署选项——云本地、容器和流行的部署选项。对数据库和系统概念(如一致性保证、事务边界、系统体系结构、保证和职责等)的良好理解将帮助开发人员了解环境、对技术进行分类、并识别他们应该研究的技术。