最近肯定了本身将来职业规划。。。我要朝着大数据开发工程师努力,看下面的图谱,还差十万八千里(虽然不是全部都要会)!不过我不会气馁!加油!!!java
路线2python
总结以下: 必须技能10条: 01.Java高级(虚拟机、并发) 02.Linux 基本操做 03.Hadoop(此处为侠义概念单指HDFS+MapReduce+Yarn ) 04.HBase(JavaAPI操做+Phoenix ) 05.Hive(Hql基本操做和原理理解) 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 2、学习路径 因为本人是从Java开发经过大概3个月的自学转到大数据开发的。因此我主要分享一下本身的学习路劲。 第一阶段: 01.Linux学习(跟鸟哥学就ok了) 02.Java 高级学习(《深刻理解Java虚拟机》、《Java高并发实战》) 第二阶段: 03.Hadoop (董西成的书) 04.HBase(《HBase权威指南》) 05.Hive(《Hive开发指南》) 06.Scala(《快学Scala》) 07.Spark (《Spark 快速大数据分析》) 08.Python (跟着廖雪峰的博客学习就ok了) 第三阶段: 对应技能需求,到网上多搜集一些资料就ok了, 我把最重要的事情(要学什么告诉你了), 剩下的就是你去搜集对应的资料学习就ok了 固然若是你以为本身看书效率太慢,你能够网上搜集一些课程,跟着课程走也OK 。这个彻底根据本身状况决定。若是看书效率不高就很网课,相反的话就本身看书。 三,学习资源推荐: 01.Apache 官网 02.Stackoverflow 04.github 03.Cloudra官网 04.Databrick官网 05.过往的记忆(技术博客) 06.CSDN,51CTO 07.至于书籍当当一搜会有不少,其实内容都差很少。 做者:告小辞 连接:https://www.jianshu.com/p/1ce414d7ce88 來源:简书 简书著做权归做者全部,任何形式的转载都请联系做者得到受权并注明出处。 一、Linux 大数据集群主要创建在linux操做系统上,Linux是一套无偿使用和自由传播的类Unix操做系统。而这部分的内容是你们在学习大数据中必需要学习的,只有学好Linux才能在工做中更加的驾轻就熟。 二、Hadoop 我觉的你们听过大数据就必定会听过hadoop。Hadoop是一个可以对大量数据进行离线分布式处理的软件框架,运算时利用mapreduce对数据进行处理。在大数据中的用途,以及快速搭建一个hadoop的实验环境,在本过程当中不只将用到前面的Linux知识,并且会对hadoop的架构有深刻的理解,并为你之后架构大数据项目打下坚实基础。 三、HDFS系统 HDFS是创建在多台节点上的分布式文件系统,用户能够经过hdfs命令来操做分布式文件系统。学习这部份内容是能够帮助你们详细剖析HDFS,从知晓原理到开发网盘的项目让你们打好学习大数据的基础,大数据之于分布式,分布式学习从学习分布式文件系统(HDFS)开始。 四、Hive Hive是使用sql进行计算的hadoop框架,工做中经常使用到的部分,也是面试的重点,此部分你们将从方方面面来学习Hive的应用,任何细节都将给你们涉及到。 五、Storm实时数据处理 本部分学习事后,你们将全面掌握Storm内部机制和原理,经过大量项目实战,让你们拥有完整项目开发思路和架构设计,掌握从数据采集到实时计算到数据存储再到前台展现,全部工做一我的搞定!譬如能够一我的搞定淘宝双11大屏幕项目!不光从项目的开发的层次去实现,并能够从架构的层次站在架构师的角度去完成一个项目。 六、spark 大数据开发中最重要的部分!本部份内容的学习主要是涵盖了Spark生态系统的概述及其编程模型,深刻内核的研究,Spark on Yarn,Spark Streaming流式计算原理与实践,Spark SQL,Spark的多语言编程以及SparkR的原理和运行。不只面向项目开发人员,甚至对于研究Spark的学员,此部分都是很是有学习指引意义的部分。 七、Docker技术 Docker 是一个开源的应用容器引擎,让开发者能够打包他们的应用以及依赖包到一个可移植的容器中,而后发布到任何流行的 Linux 机器上,也能够实现虚拟化。容器是彻底使用沙箱机制,相互之间不会有任何接口(相似 iPhone 的 app)。几乎没有性能开销,能够很容易地在机器和数据中心中运行。重要的是,他们不依赖于任何语言、框架包括系统。 以上知识点为笼统的总结,具体的学习思路能够找我获取!!! 固然除了这些知识点外还包括:redis、zookeeper、scala等等的,总之学习不可能一口吃个胖子。须要不断的积累总结,找到合适的学习资料和方法
大数据学习路线 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) 名词解释 1、Linux lucene: 全文检索引擎的架构 solr: 基于lucene的全文搜索服务器,实现了可配置、可扩展并对查询性能进行了优化,而且提供了一个完善的功能管理界面。 2、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,界面友好。 2、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。 3、机器学习/R R: 用于统计分析、绘图的语言和操做环境,目前有Hadoop-R mahout: 提供可扩展的机器学习领域经典算法的实现,包括聚类、分类、推荐过滤、频繁子项挖掘等,且可经过Hadoop扩展到云中。 4、storm Storm: 分布式,容错的实时流式计算系统,能够用做实时分析,在线机器学习,信息流处理,连续性计算,分布式RPC,实时处理消息并更新数据库。 Kafka: 高吞吐量的分布式发布订阅消息系统,能够处理消费者规模的网站中的全部动做流数据(浏览,搜索等)。相对Hadoop的日志数据和离线分析,能够实现实时处理。目前经过Hadoop的并行加载机制来统一线上和离线的消息处理 Redis: 由c语言编写,支持网络、可基于内存亦可持久化的日志型、key-value型数据库。 5、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接口。 6、Python Python: 一种面向对象的、解释型计算机程序设计语言。 7、云计算平台 Docker: 开源的应用容器引擎 kvm: (Keyboard Video Mouse) openstack: 开源的云计算管理平台项目
1、大数据通用处理平台 1. Spark 2. Flink 3. Hadoop 2、分布式存储 HDFS 3、资源调度 一、Yarn 二、Mesos 4、机器学习工具 Mahout 1. Spark Mlib 2. TensorFlow (Google 系) 3. Amazon Machine Learning 4. DMTK (微软分布式机器学习工具) 5、数据分析/数据仓库(SQL类) 1. Pig 2. Hive 3. kylin 4. Spark SQL, 5. Spark DataFrame 6. Impala 7. Phoenix 8. ELK 8.1 ElasticSearch 8.2Logstash 8.3Kibana 6、消息队列 1. Kafka(纯日志类,大吞吐量) 2. RocketMQ 3. ZeroMQ 4. ActiveMQ 5. RabbitMQ 7、流式计算 1. Storm/JStorm 2. Spark Streaming 3. Flink 8、日志收集 Scribe Flume 久、编程语言 1. Java 2. Python 3. R 4. Ruby 5. Scala 10、数据分析挖掘 MATLAB SPSS SAS 11、数据可视化 1. R 2. D3.js 3. ECharts 4. Excle 5. Python 12、机器学习 机器学习基础 1. 聚类 2. 时间序列 3. 推荐系统 4. 回归分析 5. 文本挖掘 6. 决策树 7. 支持向量机 8. 贝叶斯分类 9. 神经网络 机器学习工具 1. Mahout 2. Spark Mlib 3. TensorFlow (Google 系) 4. Amazon Machine Learning 5. DMTK (微软分布式机器学习工具) 十3、算法 一致性 1. paxos 2. raft 3. gossip 数据结构 1. 栈,队列,链表 2. 散列表 3. 二叉树,红黑树,B树 4. 图 经常使用算法 1.排序 插入排序 桶排序 堆排序 2.快速排序 3,最大子数组 4.最长公共子序列 5.最小生成树 最短路径 6.矩阵的存储和运算 十4、云计算 云服务 1. SaaS 2. PaaS 3. IaaS 4. Openstack 5. Docker