经常有小伙伴和我咨询大数据怎么学,我觉得有必要写一下关于大数据开发的具体方向,下次就不用苦哈哈的打字回复了。直接回复文章。
1.大数据岗位划分
我们通常说的大数据开发主要分为三大方向:
1.1数据平台开发工程师
主要从事后端开发,结合Hadoop,flink,spark等做二次开发,基于底层框架开发自己公司定制化的大数据产品,保障公司大数据技术平台的功能完整性和可用性,侧重Java等程序语言的后端开发能力以及对框架的了解。
1.2数据仓库工程师
主要从事数据建模,数据质量建设,数据治理,构建业务体系需要的数据等工作。侧重对数仓数据流转过程的理解以及SQL能力,还有使用程序语言处理数据的能力。例如java,scala,python,R等。
需要工程师对大数据生态各种组件有更多的了解和使用经验,尤其对数据仓库组件要有使用调优的能力。
1.3数据分析工程师
基于业务做一些数据分析以及数据挖掘的工具,技术要求是重度SQL使用者,Python各种分析库的使用,设置还需要具备数据挖掘能力。统计学相关的知识对该岗位有很大帮助。
要求工程师具备数据分析,理解数据价值的能力。
2.对应需要具备的能力
理解了大数据开发的三条链路,我们再来理解作为一个大数据行业的开发人员,我们要具备什么能力。
2.1数据平台开发工程师
数据平台开发工程师该岗更像是一个完全的后端开发,只不过技术领域范围更偏向于大数据领域的开发组件一些。完全可以按后端工程师的技术链路进行学习和提升自己。
2.2数据仓库工程师
数据仓库工程师是一个核心。在这块不同公司对数仓有着不同的要求。但整体汇总下来,无非以下几个方面。
- 对整个数据流转链路有这深刻的认知,并且具有完善的数据建模理论体系知识。
- 优秀的数据处理能力,包括但不限于Hadoop生态,Spark生态,Flink生态的数据处理和优化能力。
- 具备良好的技术选型能力,包括从数据集成,数据存储,数据计算,到数据应用侧的组件技术选型。
- 具备数据治理能力,对数据链路的数据质量以及数据风险等有全面认知,能够提出并执行数据治理方案,保障公司的数据质量和数据成本及数据安全等。
如果以上四个方面,都自认为已经达到了不错的能力,那么作为个人来说,可能就已经是一个合格的高级数据仓库工程师了。
2.3数据分析工程师
针对数据分析工程师的要求,更像是对一个完全业务人员的要求,甚至有些企业会将该岗位进一步细分为商业数据分析师(商分)和数据产品经理(数据产品)来进行更详细的差异化要求。
数据分析工程师概括性的应该具备以下几个方面的能力。
- 良好的数据分析工具使用能力,一般指各种SQL以及Python等。
- 丰富的数据分析方法和算法理论知识,一般指统计学上的各种理论知识。
- 业务敏感,业务数据需求理解和良好沟通。
- 具有分析报告撰写和提出解决方案的能力。
- 具备一定的数据挖掘能力,能够支持更进一步的数据分析和数据预测。
以上五个方面层层递增,同样,如果满足该五个方面的能力,那么对个人来说,已经是一个合格的高级数据分析工程师了。
整体来说,技术属性这三个岗位是逐层递减的,入门难度也是逐层递减的。
但是在高级开发的层面又不分你我了。
以上为整个大数据类岗位发展详细解释。大数据运维岗,那又是另一个故事了。
3.大数据技术体系
整个大数据技术体系又分为哪些部分呢?
3.1按功能划分
- 离线大数据体系
离线数据开发过程中的技术,组件以及理论体系
- 实时大数据体系
实时数据开发过程中的技术,组件以及理论体系
- 常见OLAP数据库
数据分析领域的技术应用
- 数据湖
数据湖完整解决方案
3.2按技术体系划分
- Java基础,并发及虚拟机
理解这部分是因为大数据很多组件都是和java密不可分的,报错信息里充满了Java的相关知识。
- 大数据组件部分(离线+实时)
大数据体系的组件Hadoop,Hive,Hbase,Kafka,Spark,Flink等的应用,优化,理论,底层原码等等。
- 离线数仓和实时数仓建设
离线数仓和实时数仓理论,建模经验,优化方案
- 调度系统,OneData理论
构建完整的调度体系,数据一体化理论。
- 常见的OLAP数据库
数据分析领域的技术应用
- 数据湖
数据湖完整解决方案
- 数据治理知识体系
数据治理相关知识。
以上,本期全部内容。
感谢阅读。
按例,欢迎点击此处关注我的个人公众号,交流更多知识。
标签:数据分析,工程师,能力,开发,对大,组件,数据 From: https://www.cnblogs.com/lubians/p/18168480