大数据学习路线整理

一、大数据技术基础

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



下面是大数据开发的课程内容:
阶段一:JavaSE开发
阶段二:JavaEE开发
阶段三:并发编程实战开发
阶段四:Linux精讲
阶段五:Hadoop生态体系
阶段六:Python实战开发
阶段七:Storm实时开发
阶段八:Spark生态体系
阶段九:ElasticSearch
阶段十:Docker容器引擎
阶段十一:机器学习
阶段十二:超大集群调优
阶段十三:大数据项目实战
从上面的课程内容看,大数据开发学习要掌握java、linux、hadoop、python、storm、spark、elastic search、docker、机器学习等基础知识。

大数据分析的课程内容:
阶段一:WEB前端实战开发
阶段二:数据库实战
阶段三:Python实战开发
阶段四:Echart数据分析
阶段五:D3大数据分析
阶段六:BI平台大数据分析
阶段七:SmartBI大数据分析
阶段八:Sap Design Studio大数据分析
阶段九:Tableau大数据分析
阶段十:R语言大数据分析
阶段十一:七大行业数据建模可视化分析
阶段十二:大数据可视化分析项目实战
大数据分析课程跟大数据开发不同,需要掌握的基础知识也不同,大数据分析需要掌握的基础有:web、数据库、python、echarts、d3、bi、smartbi、tableau、r语言以及数据建模等知识。



大数据学习路线

java(Java se,javaweb)
Linux(shell,高并发架构,lucene,solr)
Hadoop(Hadoop,HDFS,Mapreduce,yarn,hive,hbase,sqoop,zookeeper,flume)
机器学习(R,mahout)
Storm(Storm,kafka,redis)
Spark(scala,spark,spark core,spark sql,spark streaming,spark mllib,spark graphx)
Python(python,spark python) 
云计算平台(docker,kvm,openstack)

名词解释

一、Linux
lucene: 全文检索引擎的架构
solr: 基于lucene的全文搜索服务器,实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面。

二、Hadoop
HDFS
: 分布式存储系统,包含NameNode,DataNode。NameNode:元数据,DataNode。DataNode:存数数据。
yarn: 可以理解为MapReduce的协调机制,本质就是Hadoop的处理分析机制,分为ResourceManager NodeManager。
MapReduce: 软件框架,编写程序。
Hive: 数据仓库 可以用SQL查询,可以运行Map/Reduce程序。用来计算趋势或者网站日志,不应用于实时查询,需要很长时间返回结果。
HBase: 数据库。非常适合用来做大数据的实时查询。Facebook用Hbase存储消息数据并进行消息实时的分析
ZooKeeper: 针对大型分布式的可靠性协调系统。Hadoop的分布式同步等靠Zookeeper实现,例如多个NameNode,active standby切换。
Sqoop: 数据库相互转移,关系型数据库和HDFS相互转移
Mahout: 可扩展的机器学习和数据挖掘库。用来做推荐挖掘,聚集,分类,频繁项集挖掘。
Chukwa: 开源收集系统,监视大型分布式系统,建立在HDFS和Map/Reduce框架之上。显示、监视、分析结果。
Ambari: 用于配置、管理和监视Hadoop集群,基于Web,界面友好。

二、Cloudera
Cloudera Manager: 管理 监控 诊断 集成
Cloudera CDH:(Cloudera‘s Distribution,including Apache Hadoop) Cloudera对Hadoop做了相应的改变,发行版本称为CDH。
Cloudera Flume: 日志收集系统,支持在日志系统中定制各类数据发送方,用来收集数据。
Cloudera Impala: 对存储在Apache Hadoop的HDFS,HBase的数据提供直接查询互动的SQL。
Cloudera hue: web管理器,包括hue ui,hui server,hui db。hue提供所有CDH组件的shell界面的接口,可以在hue编写mr。

三、机器学习/R
R
: 用于统计分析、绘图的语言和操作环境,目前有Hadoop-R
mahout: 提供可扩展的机器学习领域经典算法的实现,包括聚类、分类、推荐过滤、频繁子项挖掘等,且可通过Hadoop扩展到云中。

四、storm
Storm
: 分布式,容错的实时流式计算系统,可以用作实时分析,在线机器学习,信息流处理,连续性计算,分布式RPC,实时处理消息并更新数据库。
Kafka: 高吞吐量的分布式发布订阅消息系统,可以处理消费者规模的网站中的所有动作流数据(浏览,搜索等)。相对Hadoop的日志数据和离线分析,可以实现实时处理。目前通过Hadoop的并行加载机制来统一线上和离线的消息处理
Redis: 由c语言编写,支持网络、可基于内存亦可持久化的日志型、key-value型数据库。

五、Spark
Scala
: 一种类似java的完全面向对象的编程语言。

jblas: 一个快速的线性代数库(JAVA)。基于BLAS与LAPACK,矩阵计算实际的行业标准,并使用先进的基础设施等所有的计算程序的ATLAS艺术的实现,使其非常快。

Spark: Spark是在Scala语言中实现的类似于Hadoop
MapReduce的通用并行框架,除了Hadoop
MapReduce所具有的优点,但不同于MapReduce的是job中间输出结果可以保存在内存中,从而不需要读写HDFS,因此Spark能更好的适用于数据挖掘与机器学习等需要迭代的MapReduce算法。可以和Hadoop文件系统并行运作,用过Mesos的第三方集群框架可以支持此行为。
Spark SQL: 作为Apache Spark大数据框架的一部分,可用于结构化数据处理并可以执行类似SQL的Spark数据查询
Spark Streaming: 一种构建在Spark上的实时计算框架,扩展了Spark处理大数据流式数据的能力。
Spark MLlib: MLlib是Spark是常用的机器学习算法的实现库,目前(2014.05)支持二元分类,回归,聚类以及协同过滤。同时也包括一个底层的梯度下降优化基础算法。MLlib以来jblas线性代数库,jblas本身以来远程的Fortran程序。

Spark GraphX: GraphX是Spark中用于图和图并行计算的API,可以在Spark之上提供一站式数据解决方案,可以方便且高效地完成图计算的一整套流水作业。

Fortran: 最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。

BLAS: 基础线性代数子程序库,拥有大量已经编写好的关于线性代数运算的程序。
LAPACK: 著名的公开软件,包含了求解科学与工程计算中最常见的数值线性代数问题,如求解线性方程组、线性最小二乘问题、特征值问题和奇异值问题等。
ATLAS: BLAS线性算法库的优化版本。
Spark Python: Spark是由scala语言编写的,但是为了推广和兼容,提供了java和python接口。

六、Python
Python
: 一种面向对象的、解释型计算机程序设计语言。

七、云计算平台
Docker
: 开源的应用容器引擎
kvm: (Keyboard Video Mouse)

openstack:  开源的云计算管理平台项目

原文地址:https://www.cnblogs.com/m0rs/p/10680066.html

时间: 2024-10-27 13:04:58

大数据学习路线整理的相关文章

大数据学习路线及各阶段学习书籍推荐

大数据学习路线及各阶段学习书籍推荐!废话不多说,直接切入主题,有需要的小伙伴可以参考学习! 阶段一.大数据基础--java语言基础方面 (1)Java语言基础 Java开发介绍.熟悉Eclipse开发工具.Java语言基础.Java流程控制.Java字符串.Java数组与类和对象.数字处理类与核心技术.I/O与反射.多线程.Swing程序与集合类 (2) HTML.CSS与JavaScript PC端网站布局.HTML5+CSS3基础.WebApp页面布局.原生JavaScript交互功能开发.

什么是大数据?大数据学习路线和就业方向

大数据又称巨量资料,就是数据量大.来源广.种类繁多(日志.视频.音频),大到PB级别,现阶段的框架就是为了解决PB级别的数据. 专业的来讲:大数据(big data,mega data),或称巨量资料,指的是需要新处理模式才能具有更强的决策力.洞察力和流程优化能力的海量.高增长率和多样化的信息资产. 大数据的5V特点:Volume(大量).Velocity(高速).Variety(多样).Value(价值密度).Veracity(真实性). 二.学大数据需要什么语言基础? 首先,学习大数据是需要

大数据学习路线

偶遇大数据学习路线,赶上一次科技革命不容易,追求下,要有所作为! 一.Hadoop入门,了解什么是Hadoop 1.Hadoop产生背景2.Hadoop在大数据.云计算中的位置和关系3.国内外Hadoop应用案例介绍4.国内Hadoop的就业情况分析及课程大纲介绍5.分布式系统概述6.Hadoop生态圈以及各组成部分的简介7.Hadoop核心MapReduce例子说明 二.分布式文件系统HDFS,是数据库管理员的基础课程 1.分布式文件系统HDFS简介2.HDFS的系统组成介绍3.HDFS的组成

史上最全“大数据”学习资源整理

史上最全"大数据"学习资源整理 当前,整个互联网正在从IT时代向DT时代演进,大数据技术也正在助力企业和公众敲开DT世界大门.当今"大数据"一词的重点其实已经不仅在于数据规模的定义,它更代表着信息技术发展进入了一个新的时代,代表着爆炸性的数据信息给传统的计算技术和信息技术带来的技术挑战和困难,代表着大数据处理所需的新的技术和方法,也代表着大数据分析和应用所带来的新发明.新服务和新的发展机遇. 为了帮助大家更好深入了解大数据,云栖社区组织翻译了GitHub Aweso

大数据怎么学习?从零开始大数据学习路线

大数据.人工智能的崛起,都让很多人看到了信息技术的日新月异,也推动了更多传统型企业逐渐往互联网企业转型.如何更好的去分析客户群体,去抓住自己的客户所需,是离不开大数据的帮助的!为此,也有越来越多的企业看到大数据程序员岗位的重要性,不断的招兵买马,以求让自己的企业能够在这信息时代的竞争中立于不败之地!创一个小群,供大家学习交流聊天如果有对学大数据方面有什么疑惑问题的,或者有什么想说的想聊的大家可以一起交流学习一起进步呀.也希望大家对学大数据能够持之以恒大数据爱好群,如果你想要学好大数据最好加入一个

好程序员大数据学习路线之hive存储格式

好程序员大数据学习路线之hive存储格式,hive的存储格式通常是三种:textfile . sequencefile . rcfile . orc .自定义 set hive.default.fileformat=TextFile; 默认存储格式为:textfile textFile:普通文本存储,不进行压缩.查询效率较低.1.sequencefile:hive提供的二进制序列文件存储,天生压缩.sequeceFile 和 rcfile都不允许使用load方式加载数据.需要使用insert 方

好程序员大数据学习路线之hive表的查询

好程序员大数据学习路线之hive表的查询 1.join 查询 1.永远是小结果集驱动大结果集(小表驱动大表,小表放在左表). 2.尽量不要使用join,但是join是难以避免的. left join . left outer join . left semi join(左半开连接,只显示左表信息) hive在0.8版本以后开始支持left join left join 和 left outer join 效果差不多 hive的join中的on只能跟等值连接 "=",不能跟< &g

好程序员大数据学习路线分享hive的运行方式

好程序员大数据学习路线分享hive的运行方式,hive的属性设置: 1.在cli端设置 (只针对当前的session) 3.在java代码中设置 (当前连接) 2.在配置文件中设置 (所有session有效) 设置属性的优先级依次降低. cli端只能设置非hive启动需要的属性.(log属性,元数据连接属性) 查找所有属性: hive>set; 查看当前属性的值:通常是hadoop hive> set -v; 模糊查找属性: hive -S -e "set" | grep

好程序员大数据学习路线hive内部函数

好程序员大数据学习路线hive内部函数,持续为大家更新了大数据学习路线,希望对正在学习大数据的小伙伴有所帮助.1.取随机数函数:rand()语法: rand(),rand(int seed) 返回值: double 说明: 返回一个0到1范围内的随机数.如果指定seed,则会得到一个稳定的随机数序列select rand();select rand(10);2.分割字符串函数:split(str,splitor) 语法: split(string str, string pat) 返回值: ar