大数据是未来的发展方向,它正在挑战我们对世界的分析能力和认知方式。所以我们要与时俱进,迎接变化,不断成长,掌握大数据的核心技术,这才是真正的价值所在。了解了一些资料,结合自身情况,初步整理出一条学习路线。
学习路线
Linux(shell、高并发架构、lucene、solr)
Hadoop(Hadoop、HDFS、Mapreduce、yarn、hive、hbase、sqoop、zookeeper、flume)
机器学习
斯托姆(斯托姆、卡夫卡、雷迪斯)
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
hadoop常见
HDFS:分布式存储系统,包括NameNode和DataNode。NameNode:元数据,DataNode。DataNode:存储数据。
Yarn:可以理解为MapReduce的协调机制,本质是Hadoop的处理分析机制,分为ResourceManager NodeManager。
MapReduce:软件框架,编程。
Hive:数据仓库可以用SQL查询,运行Map/Reduce程序。用于计算趋势或网站日志,不应该用于实时查询,返回结果需要很长时间。
HBase:数据库。非常适合大数据的实时查询。脸书Hbase用于存储消息数据和实时分析消息。
ZooKeeper:大型分布式系统的可靠性协调系统。Hadoop分布式同步是通过Zookeeper实现的,比如多NameNode和主备交换机。
Sqoop:数据库互相转移,关系数据库和HDFS互相转移。
Mahout:可扩展的机器学习和数据挖掘库。用于推荐挖掘、聚集、分类和频繁项集挖掘。
Chukwa:一个开源收集系统,它监控大型分布式系统,构建在HDFS和Map/Reduce框架上。显示、监控和分析结果。
Ambari:它用于配置、管理和监控Hadoop集群。它是基于网络的,有一个友好的界面。
三. Cloudera
Cloudera Manager:管理、监控和诊断集成
Cloudera CDH: (Cloudera的发行版,包括Apache Hadoop) Cloudera对Hadoop做了相应的改动,发布版本叫CDH。
Cloudera Flume:日志收集系统,支持在日志系统中定制各种数据发送器来收集数据。
Cloudera Impala:为存储在Apache Hadoop的HDFS和HBase中的数据提供直接查询交互的SQL。
Cloudera hue: web manager,包括hue ui、hui server和hui db。Hue为所有CDH组件的shell接口提供接口,mr可以用hue编写。
三. 机器学习/R
r:用于统计分析和绘图的语言和操作环境,目前为Hadoop-R。
Mahout:提供机器学习领域经典算法的可扩展实现,包括聚类、分类、推荐过滤、频繁子项挖掘等。并且可以通过Hadoop扩展到云端。
四. 暴风雨
Storm:一个分布式、容错的实时流计算系统,可用于实时分析、在线机器学习、信息流处理、连续性计算、分布式RPC、实时消息处理和数据库更新。
Kafka:一个高吞吐量的分布式发布-订阅消息系统,可以处理所有的动作流数据(浏览、搜索等。)在消费级网站。相比Hadoop的日志数据和离线分析,可以实现实时处理。目前Hadoop的并行加载机制统一了线上和线下的消息处理。
Redis:用C语言编写,支持网络,基于日志的数据库,可以基于内存,持久化的键值数据库。
动词(verb的缩写)火花
Scala:一种类似java的完全面向对象的编程语言。
Spark: Spark是一个类似Hadoop MapReduce的通用并行框架,用Scala语言实现。除了Hadoop MapReduce的优点,与MapReduce不同的是,job的中间输出结果可以保存在内存中,不需要读写HDFS。所以Spark可以更好的应用于数据挖掘、机器学习等需要迭代的MapReduce算法。它可以与Hadoop文件系统并行工作,使用Mesos的第三方集群框架可以支持这种行为。
Spark SQL:
Spark Streaming:基于Spark构建的实时计算框架,扩展了Spark处理大数据流数据的能力。
Spark MLlib: MLlib是Spark的实现库,Spark是一种常用的机器学习算法。目前(2014年5月)支持二元分类、回归、聚类、协同过滤。它还包括梯度下降优化的基本算法。MLlib自jblas线性代数库,jblas本身自远程Fortran程序。
Spark GraphX: GraphX是Spark中图形和图形并行计算的API。它可以在Spark上提供一站式的数据解决方案,可以方便高效地完成一整套图计算的流水线操作。
Jblas:一个快速线性代数库(JAVA)。基于BLAS和LAPACK,矩阵计算是实际的行业标准,ATLAS art使用高级基础设施等所有计算程序的实现使其速度非常快。
Fortran:最早的高级计算机编程语言,广泛应用于和工程计算领域。
BLAS:基本线性代数子程序库,里面有大量关于线性代数运算的编写程序。
LAPACK:一个知名的公共软件,它包括求解和工程计算中最常见的数值线性代数问题,如解线性方程组、线性最大值gxdxbw乘法问题、特征值问题、奇异值问题等。
ATLAS: BLAS线性算法库的BLAS优化版本。
Spark python: Spark是用scala语言写的,但是为了普及和兼容,提供了java和python接口。
不及物动词计算机编程语言
Python:一种面向对象的解释性计算机编程语言。
七. 云计算平台
Docker:一个开源应用程序容器引擎
kvm:(键盘视频鼠标)
Openstack:一个开源云计算管理平台项目
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试