学习方向
前置内容
0基础,首选Java语言,Java SE必须听全程
计算机基础
科班内容:跟课巩固基础内容,四大项:数据结构、计组、操作系统、网络
非科班内容:a.计算机网络:OSI七层模型、TCP/IP五层模型 b.数据结构:数组、栈、队列、链表、树、图 c.操作系统:进程、线程、IO、调度、内存管理
职位选择
首先明确一点:大数据涉及的知识面广度还是有的,想要每一项精通几乎不可能,所以企业在招聘的时候会进行细分,基于某个方向进行招聘,比如关键字,数据仓库工程师、数据治理工程师、大数据开发工程师、大数据算法工程师、ETL工程师等。我们在学习的时候也要有所侧重,保证自己兴趣所致并重点关注。
方向1:数据仓库工程师
数仓会细化离线数仓和实时数仓、目前企业主流还是离线数仓,实时数仓是未来趋势和方向。
基础技能:SQL
框架内容:Hadoop、Kafka、Flink、HBase、Hive、Oozie/Airflow/Azkaban
岗位特殊内容:离线数仓范式、基本的维度建模规范,事实表模型
参考书籍:
《Hive编程指南》、《基于Hadoop构建数据仓库实践》、《HBase权威指南》、《MySQL入门很简单》
方向2:大数据开发工程师
大数据开发需要有良好的Java后端开发能力以及不错的源码阅读能力
基础技能:Java、Scala、Python、Linux命令、shell编程、SQL能力
框架内容:Hadoop、Kafka、Flink、HBase、Hive、Spark、Oozie/Airflow/Azkaban
岗位特殊内容:组件二次开发、组件源码阅读能力、应用代码处理数据的能力
参考书籍:
《Kafka权威指南》、《HBase权威指南》、《Spark快速大数据分析》、《Apache Kylin权威指南》
方向3:ETL工程师
ETL:数据抽取、转换、加载
ETL工作属于业务与数据的交点、需要处理上下游的关系,首先,需要对业务层面非常熟悉,其次,需要对接数据开发工程师、数据科学家,整理并准备数据、进行数据清洗、整理、融合。
基础技能:SQL、Linux基本命令
框架内容:Hive、Kettle、HDFS、Oozie、Flume、Sqoop、DataX
岗位特殊内容:数据迁移能力、任务调度能力、数据业务能力
方向4:数据治理工程师(国企岗位居多)
数据治理的工作内容主要是对数据进行分类处理、指标整理、熟悉业务流程。
基础技能:SQL、Excel、Java
框架技能:不同企业不同的数据平台
框架学习:方向1-方向3所有内容
岗位特殊内容:数据治理标准梳理,元数据管理能力。
学习顺序
Java se ->计算机基础课->基本算法->Linux基础命令->MySQL->maven->Springboot->Hadoop->zookeeper->Hive->Flume/sqoop/dataX->Oozie/Azkaban/Airflow->hbase->redis->kafka->elk->scala->spark->kylin->flink->数仓项目/大数据开发项目/可视化项目/推荐系统
学历要求
1.大数据岗位这块,1-3年以及应届对学历卡的比较死,一般要求本科学历,部分挖掘岗位要求硕士学历,门槛相对较高,3-5年一般的要求限制就比较少,专科亦可。
2.在我看来,学历非常重要,如果有提升学历的机会,尽早提升,他是你职业发展的一个关键因素,起步不一样,不能总讲专科进阿里,985卖猪肉的故事,幸存者偏差本身很难发生在你自己身上,扪心自问,我们大多数人都是普通人,做好普通的事,比同龄人吃的饭更香一点,就要比同龄人努力10%-30%,想要超越同龄人,那必须付出200%的努力,跨越阶层的难度非常大,但程序员这行能让我们过的相对不错,至少比起大部分传统行业,还是要香很多的,体会过社会毒打的人,自然明白我说的,能把握校园时光就尽量把握,把所有的精力都投入到学习、实习、找工作、提升上,结果不会说谎。
3.最后提一句,别用战略上的勤奋来掩盖战术上的懒惰,没人逼你努力,差距就在不经意间拉开。前两天听到以前高中的室友,从华南理工回去重新高考、又考上山大,最后应届奋斗1年考上浙大的事情,觉得很励志,以前我和他都曾是高中班里佼佼者,只几年时间,就拉开了巨大差距,每天付出3小时,乘以365,乘以4,就代表了无限可能。
4.与各位共勉,希望我们都在这条路上走的更远。