大数据技术学习路线,有信心能坚持学习的朋友,从现在开始学习吧

大数据技术前景我们是毋庸置疑的,而对于学习更是争先恐后。在这些人中,不乏有已经在it圈混迹好几年的程序员,自然也有初出茅庐的零基础小白。说实话,大数据不比编程学习,还是需要一定的基础的,那些说根本不需要基础的人,你出来,保证不打死你。

在学习大数据技术之前,掌握编程是必须的,linux基础也是很有必要的。主要分析如下:

想要学习大数据技术 这些基础你都掌握了吗

大数据技术学习,需要的基础之一:编程基础

Java:学习Java的标准版JavaSE就可以了,像Servlet、JSP、Tomcat、Struct、Spring、Hibernate,Mybaits都是JavaEE方向的技术在大数据技术里用到的并不多,只需要了解就可以了,当然Java怎么连接数据库还是要知道的,像JDBC一定要掌握一下,有同学说Hibernate或Mybaits也能连接数据库啊,为什么不学习一下,我这里不是说学这些不好,而是说学这些可能会用你很多时间,到工作中也不常用,我还没看到谁做大数据处理用到这两个东西的,当然你的精力很充足的话,可以学学Hibernate或Mybaits的原理,不要只学API,这样可以增加你对Java操作数据库的理解,因为这两个技术的核心就是Java的反射加上JDBC的各种使用。

很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:199427210,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系
 

Python:虽然说学习大数据只需要精通一门编程语言就可以了,但很多时候其他编程语言也要了解一些。

Scala:上面说的java主要是针对Hadoop开发的,而这里的Scala编程语言,主要是针对Spark生态体系的学习,两个方向的侧重语言不一样,大家可以酌情选择。

大数据技术学习,需要的基础之二:linux体系

Linux:因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的帮助,能让你更好的理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置,能少踩很多坑,学会shell就能看懂脚本这样能更容易理解和配置大数据集群。还能让你对以后新出的大数据技术学习起来更快。

当然了,以上我说的这些基础,有些在大数据课程中都有涉及,大家可以在学习大数据技术之前多预习一下,确保自己学习的大数据时可以沉稳应对,也减轻了自己学习的负担!

如果你看完有信心能坚持学习的话,那就当下开始行动吧!

一、大数据技术基础

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聚类算法–地理位置聚类应用
  • 决策树分类算法–算法原理
  • 决策树分类算法–算法实现

在不久的将来,大数据一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友加入一起学习及时获取人工智能、大数据、云计算和物联网的入门知识和资讯信息,让我们一起携手,引领人工智能的未来

猜你喜欢

转载自my.oschina.net/u/3893236/blog/2875647