大数据基础学习路线(从零开始)
大数据已经火了很久了,一直想了解它学习它结果没时间,了解了一些资料,结合我自己的情况,整理了一个学习路线,。
学习路线
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)
我还是要推荐下我自己创建的大数据资料分享群142973723,这是大数据学习交流的地方,不管你是小白还是大牛,小编都欢迎,不定期分享干货,包括我整理的一份适合零基础学习大数据资料和入门教程。
名词解释
一、linux
lucene: 全文检索引擎的架构
solr: 基于lucene的全文搜索服务器,实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面。
二、hadoop
hadoop common
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的完全面向对象的编程语言。
spark: spark是在scala语言中实现的类似于hadoop mapreduce的通用并行框架,除了hadoop mapreduce所具有的优点,但不同于mapreduce的是job中间输出结果可以保存在内存中,从而不需要读写hdfs,因此spark能更好的适用于数据挖掘与机器学习等需要迭代的mapreduce算法。可以和hadoop文件系统并行运作,用过mesos的第三方集群框架可以支持此行为。
spark sql:
spark streaming: 一种构建在spark上的实时计算框架,扩展了spark处理大数据流式数据的能力。
spark mllib: mllib是spark是常用的机器学习算法的实现库,目前(2014.05)支持二元分类,回归,聚类以及协同过滤。同时也包括一个底层的梯度下降优化基础算法。mllib以来jblas线性代数库,jblas本身以来远程的fortran程序。
spark graphx: graphx是spark中用于图和图并行计算的api,可以在spark之上提供一站式数据解决方案,可以方便且高效地完成图计算的一整套流水作业。
jblas: 一个快速的线性代数库(java)。基于blas与lapack,矩阵计算实际的行业标准,并使用先进的基础设施等所有的计算程序的atlas艺术的实现,使其非常快。
fortran: 最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。
blas: 基础线性代数子程序库,拥有大量已经编写好的关于线性代数运算的程序。
lapack: 著名的公开软件,包含了求解科学与工程计算中最常见的数值线性代数问题,如求解线性方程组、线性最小二乘问题、特征值问题和奇异值问题等。
atlas: blas线性算法库的优化版本。
spark python: spark是由scala语言编写的,但是为了推广和兼容,提供了java和python接口。
六、python
python: 一种面向对象的、解释型计算机程序设计语言。
七、云计算平台
docker: 开源的应用容器引擎
kvm: (keyboard video mouse)
openstack: 开源的云计算管理平台项目
上一篇: 逆向赋能供应端,打造新型的农业产业链