大数据技术学习路线,从现在开始学习吧

大数据方向的工作目前分为三个主要方向:

01.大数据工程师

02.数据分析师

03.大数据科学家

04.其他(数据挖掘本质算是机器学习,不过和数据相关,也可以理解为大数据的一个方向吧)


image.png

一、大数据工程师的技能要求

二、大数据学习路径

三、学习资源推荐(书籍、博客、网站)

一、大数据工程师的技能要求

总结如下:

必须技能10条:

01.Java高级编程(虚拟机、并发)

02.Linux 基本操作

03.Hadoop(此处指HDFS+MapReduce+Yarn )

04.HBase(JavaAPI操作+Phoenix )

05.Hive

06.Kafka

07.Storm

08.Scala

09.Python

10.Spark (Core+sparksql+Spark streaming )

进阶技能6条:

11.机器学习算法以及mahout库加MLlib

12.R语言

13.Lambda 架构

14.Kappa架构

15.Kylin

16.Aluxio

二、学习路径

大数据技术基础

1、linux操作基础

  • linux系统简介与安装

  • linux常用命令–文件操作

  • linux常用命令–用户管理与权限

  • linux常用命令–系统管理

  • linux常用命令–免密登陆配置与网络管理

  • linux上常用软件安装

  • linux本地yum源配置及yum软件安装

  • linux防火墙配置

  • linux高级文本处理命令cut、sed、awk

  • linux定时任务crontab

2、shell编程

  • shell编程–基本语法

  • shell编程–流程控制

  • shell编程–函数

  • shell编程–综合案例–自动化部署脚本

3、内存数据库redis

  • redis和nosql简介

  • redis客户端连接

  • redis的string类型数据结构操作及应用-对象缓存

  • redis的list类型数据结构操作及应用案例-任务调度队列

  • redis的hash及set数据结构操作及应用案例-购物车

  • redis的sortedset数据结构操作及应用案例-排行榜

4、布式协调服务zookeeper

  • zookeeper简介及应用场景

  • zookeeper集群安装部署

  • zookeeper的数据节点与命令行操作

  • zookeeper的java客户端基本操作及事件监听

  • zookeeper核心机制及数据节点

  • zookeeper应用案例–分布式共享资源锁

  • zookeeper应用案例–服务器上下线动态感知

  • zookeeper的数据一致性原理及leader选举机制

5、java高级特性增强

  • Java多线程基本知识

  • Java同步关键词详解

  • java并发包线程池及在开源软件中的应用

  • Java并发包消息队里及在开源软件中的应用

  • Java JMS技术

  • Java动态代理反射

6、轻量级RPC框架开发

  • RPC原理学习

  • Nio原理学习

  • Netty常用API学习

  • 轻量级RPC框架需求分析及原理分析

  • 轻量级RPC框架开发

二、离线计算系统

1、hadoop快速入门

  • hadoop背景介绍

  • 分布式系统概述

  • 离线数据分析流程介绍

  • 集群搭建

  • 集群使用初步

2、HDFS增强

  • HDFS的概念和特性

  • HDFS的shell(命令行客户端)操作

  • HDFS的工作机制

  • NAMENODE的工作机制

  • java的api操作

  • 案例1:开发shell采集脚本

3、MAPREDUCE详解

  • 自定义hadoop的RPC框架

  • Mapreduce编程规范及示例编写

  • Mapreduce程序运行模式及debug方法

  • mapreduce程序运行模式的内在机理

  • mapreduce运算框架的主体工作流程

  • 自定义对象的序列化方法

  • MapReduce编程案例

4、MAPREDUCE增强

  • Mapreduce排序

  • 自定义partitioner

  • Mapreduce的combiner

  • mapreduce工作机制详解

5、MAPREDUCE实战

  • maptask并行度机制-文件切片

  • maptask并行度设置

  • 倒排索引

  • 共同好友

6、federation介绍和hive使用

  • Hadoop的HA机制

  • HA集群的安装部署

  • 集群运维测试之Datanode动态上下线

  • 集群运维测试之Namenode状态切换管理

  • 集群运维测试之数据块的balance

  • HA下HDFS-API变化

  • hive简介

  • hive架构

  • hive安装部署

  • hvie初使用

7、hive增强和flume介绍

  • HQL-DDL基本语法

  • HQL-DML基本语法

  • HIVE的join

  • HIVE 参数配置

  • HIVE 自定义函数和Transform

  • HIVE 执行HQL的实例分析

  • HIVE最佳实践注意点

  • HIVE优化策略

  • HIVE实战案例

  • Flume介绍

  • Flume的安装部署

  • 案例:采集目录到HDFS

  • 案例:采集文件到HDFS

三、流式计算

1、Storm从入门到精通

  • Storm是什么

  • Storm架构分析

  • Storm架构分析

  • Storm编程模型、Tuple源码、并发度分析

  • Storm WordCount案例及常用Api分析

  • Storm集群部署实战

  • Storm+Kafka+Redis业务指标计算

  • Storm×××编译

  • Strom集群启动及源码分析

  • Storm任务提交及源码分析

  • Storm数据发送流程分析

  • Storm通信机制分析

  • Storm消息容错机制及源码分析

  • Storm多stream项目分析

  • 编写自己的流式任务执行框架

2、Storm上下游及架构集成

  • 消息队列是什么

  • Kakfa核心组件

  • Kafka集群部署实战及常用命令

  • Kafka配置文件梳理

  • Kakfa JavaApi学习

  • Kafka文件存储机制分析

  • Redis基础及单机环境部署

  • Redis数据结构及典型案例

  • Flume快速入门

  • Flume+Kafka+Storm+Redis整合

四、内存计算体系Spark

1、scala编程

  • scala编程介绍

  • scala相关软件安装

  • scala基础语法

  • scala方法和函数

  • scala函数式编程特点

  • scala数组和集合

  • scala编程练习(单机版WordCount)

  • scala面向对象

  • scala模式匹配

  • actor编程介绍

  • option和偏函数

  • 实战:actor的并发WordCount

  • 柯里化

  • 隐式转换

2、AKKA与RPC

  • Akka并发编程框架

  • 实战:RPC编程实战

3、Spark快速入门

  • spark介绍

  • spark环境搭建

  • RDD简介

  • RDD的转换和动作

  • 实战:RDD综合练习

  • RDD高级算子

  • 自定义Partitioner

  • 实战:网站访问次数

  • 广播变量

  • 实战:根据IP计算归属地

  • 自定义排序

  • 利用JDBC RDD实现数据导入导出

  • WorldCount执行流程详解

4、RDD详解

  • RDD依赖关系

  • RDD缓存机制

  • RDD的Checkpoint检查点机制

  • Spark任务执行过程分析

  • RDD的Stage划分

5、Spark-Sql应用

  • Spark-SQL

  • Spark结合Hive

  • DataFrame

  • 实战:Spark-SQL和DataFrame案例

6、SparkStreaming应用实战

  • Spark-Streaming简介

  • Spark-Streaming编程

  • 实战:StageFulWordCount

  • Flume结合Spark Streaming

  • Kafka结合Spark Streaming

  • 窗口函数

  • ELK技术栈介绍

  • ElasticSearch安装和使用

  • Storm架构分析

  • Storm编程模型、Tuple源码、并发度分析

  • Storm WordCount案例及常用Api分析

7、Spark核心源码解析

  • Spark源码编译

  • Spark远程debug

  • Spark任务提交行流程源码分析

  • Spark通信流程源码分析

  • SparkContext创建过程源码分析

  • DriverActor和ClientActor通信过程源码分析

  • Worker启动Executor过程源码分析

  • Executor向DriverActor注册过程源码分析

  • Executor向Driver注册过程源码分析

  • DAGScheduler和TaskScheduler源码分析

  • Shuffle过程源码分析

  • Task执行过程源码分析

五、机器学习算法

1、python及numpy库

  • 机器学习简介

  • 机器学习与python

  • python语言–快速入门

  • python语言–数据类型详解

  • python语言–流程控制语句

  • python语言–函数使用

  • python语言–模块和包

  • phthon语言–面向对象

  • python机器学习算法库–numpy

  • 机器学习必备数学知识–概率论

2、常用算法实现

  • knn分类算法–算法原理

  • knn分类算法–代码实现

  • knn分类算法–手写字识别案例

  • lineage回归分类算法–算法原理

  • lineage回归分类算法–算法实现及demo

  • 朴素贝叶斯分类算法–算法原理

  • 朴素贝叶斯分类算法–算法实现

  • 朴素贝叶斯分类算法–垃圾邮件识别应用案例

  • kmeans聚类算法–算法原理

  • kmeans聚类算法–算法实现

  • kmeans聚类算法–地理位置聚类应用

  • 决策树分类算法–算法原理

  • 决策树分类算法–算法实现

完整学习路线


在这里还是要推荐下我自己建的大数据学习交流群:199427210,群里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据软件开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴加入。



猜你喜欢

转载自blog.51cto.com/13854477/2309830