java(Java se,javaweb)
Linux(shell,高并發(fā)架構(gòu),lucene,solr)
Hadoop(Hadoop,HDFS,Mapreduce,yarn,hive,hbase,sqoop,zookeeper,flume)
機(jī)器學(xué)習(xí)(R,mahout)
Storm(Storm,kafka,redis)
Spark(scala,spark,spark core,spark sql,spark streaming,spark mllib,spark graphx)
Python(python,spark python)
云計(jì)算平臺(tái)(docker,kvm,openstack)
名詞解釋
一、Linux
lucene: 全文檢索引擎的架構(gòu)
solr: 基于lucene的全文搜索服務(wù)器,實(shí)現(xiàn)了可配置、可擴(kuò)展并對(duì)查詢性能進(jìn)行了優(yōu)化,并且提供了一個(gè)完善的功能管理界面。
二、Hadoop
HDFS: 分布式存儲(chǔ)系統(tǒng),包含NameNode,DataNode。NameNode:元數(shù)據(jù),DataNode。DataNode:存數(shù)數(shù)據(jù)。
yarn: 可以理解為MapReduce的協(xié)調(diào)機(jī)制,本質(zhì)就是Hadoop的處理分析機(jī)制,分為ResourceManager NodeManager。
MapReduce: 軟件框架,編寫程序。
Hive: 數(shù)據(jù)倉庫 可以用SQL查詢,可以運(yùn)行Map/Reduce程序。用來計(jì)算趨勢(shì)或者網(wǎng)站日志,不應(yīng)用于實(shí)時(shí)查詢,需要很長(zhǎng)時(shí)間返回結(jié)果。
HBase: 數(shù)據(jù)庫。非常適合用來做大數(shù)據(jù)的實(shí)時(shí)查詢。Facebook用Hbase存儲(chǔ)消息數(shù)據(jù)并進(jìn)行消息實(shí)時(shí)的分析
ZooKeeper: 針對(duì)大型分布式的可靠性協(xié)調(diào)系統(tǒng)。Hadoop的分布式同步等靠Zookeeper實(shí)現(xiàn),例如多個(gè)NameNode,active standby切換。
Sqoop: 數(shù)據(jù)庫相互轉(zhuǎn)移,關(guān)系型數(shù)據(jù)庫和HDFS相互轉(zhuǎn)移
Mahout: 可擴(kuò)展的機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘庫。用來做推薦挖掘,聚集,分類,頻繁項(xiàng)集挖掘。
Chukwa: 開源收集系統(tǒng),監(jiān)視大型分布式系統(tǒng),建立在HDFS和Map/Reduce框架之上。顯示、監(jiān)視、分析結(jié)果。
Ambari: 用于配置、管理和監(jiān)視Hadoop集群,基于Web,界面友好。
二、Cloudera
Cloudera Manager: 管理 監(jiān)控 診斷 集成
Cloudera CDH:(Cloudera's Distribution,including Apache Hadoop) Cloudera對(duì)Hadoop做了相應(yīng)的改變,發(fā)行版本稱為CDH。
Cloudera Flume: 日志收集系統(tǒng),支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用來收集數(shù)據(jù)。
Cloudera Impala: 對(duì)存儲(chǔ)在Apache Hadoop的HDFS,HBase的數(shù)據(jù)提供直接查詢互動(dòng)的SQL。
Cloudera hue: web管理器,包括hue ui,hui server,hui db。hue提供所有CDH組件的shell界面的接口,可以在hue編寫mr。
三、機(jī)器學(xué)習(xí)/R
R: 用于統(tǒng)計(jì)分析、繪圖的語言和操作環(huán)境,目前有Hadoop-R
mahout: 提供可擴(kuò)展的機(jī)器學(xué)習(xí)領(lǐng)域經(jīng)典算法的實(shí)現(xiàn),包括聚類、分類、推薦過濾、頻繁子項(xiàng)挖掘等,且可通過Hadoop擴(kuò)展到云中。
四、storm
Storm: 分布式,容錯(cuò)的實(shí)時(shí)流式計(jì)算系統(tǒng),可以用作實(shí)時(shí)分析,在線機(jī)器學(xué)習(xí),信息流處理,連續(xù)性計(jì)算,分布式RPC,實(shí)時(shí)處理消息并更新數(shù)據(jù)庫。
Kafka: 高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),可以處理消費(fèi)者規(guī)模的網(wǎng)站中的所有動(dòng)作流數(shù)據(jù)(瀏覽,搜索等)。相對(duì)Hadoop的日志數(shù)據(jù)和離線分析,可以實(shí)現(xiàn)實(shí)時(shí)處理。目前通過Hadoop的并行加載機(jī)制來統(tǒng)一線上和離線的消息處理
Redis: 由c語言編寫,支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、key-value型數(shù)據(jù)庫。
五、Spark
Scala: 一種類似java的完全面向?qū)ο蟮木幊陶Z言。
jblas: 一個(gè)快速的線性代數(shù)庫(JAVA)?;贐LAS與LAPACK,矩陣計(jì)算實(shí)際的行業(yè)標(biāo)準(zhǔn),并使用先進(jìn)的基礎(chǔ)設(shè)施等所有的計(jì)算程序的ATLAS藝術(shù)的實(shí)現(xiàn),使其非???。
Spark:?Spark是在Scala語言中實(shí)現(xiàn)的類似于Hadoop MapReduce的通用并行框架,除了Hadoop MapReduce所具有的優(yōu)點(diǎn),但不同于MapReduce的是job中間輸出結(jié)果可以保存在內(nèi)存中,從而不需要讀寫HDFS,因此Spark能更好的適用于數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)等需要迭代的MapReduce算法??梢院虷adoop文件系統(tǒng)并行運(yùn)作,用過Mesos的第三方集群框架可以支持此行為。
Spark SQL:?作為Apache Spark大數(shù)據(jù)框架的一部分,可用于結(jié)構(gòu)化數(shù)據(jù)處理并可以執(zhí)行類似SQL的Spark數(shù)據(jù)查詢
Spark Streaming:一種構(gòu)建在Spark上的實(shí)時(shí)計(jì)算框架,擴(kuò)展了Spark處理大數(shù)據(jù)流式數(shù)據(jù)的能力。
Spark MLlib:?MLlib是Spark是常用的機(jī)器學(xué)習(xí)算法的實(shí)現(xiàn)庫,目前(2014.05)支持二元分類,回歸,聚類以及協(xié)同過濾。同時(shí)也包括一個(gè)底層的梯度下降優(yōu)化基礎(chǔ)算法。MLlib以來jblas線性代數(shù)庫,jblas本身以來遠(yuǎn)程的Fortran程序。
Spark GraphX:?GraphX是Spark中用于圖和圖并行計(jì)算的API,可以在Spark之上提供一站式數(shù)據(jù)解決方案,可以方便且高效地完成圖計(jì)算的一整套流水作業(yè)。
Fortran: 最早出現(xiàn)的計(jì)算機(jī)高級(jí)程序設(shè)計(jì)語言,廣泛應(yīng)用于科學(xué)和工程計(jì)算領(lǐng)域。
BLAS: 基礎(chǔ)線性代數(shù)子程序庫,擁有大量已經(jīng)編寫好的關(guān)于線性代數(shù)運(yùn)算的程序。
LAPACK: 著名的公開軟件,包含了求解科學(xué)與工程計(jì)算中最常見的數(shù)值線性代數(shù)問題,如求解線性方程組、線性最小二乘問題、特征值問題和奇異值問題等。
ATLAS: BLAS線性算法庫的優(yōu)化版本。
Spark Python: Spark是由scala語言編寫的,但是為了推廣和兼容,提供了java和python接口。
六、Python
Python: 一種面向?qū)ο蟮摹⒔忉屝陀?jì)算機(jī)程序設(shè)計(jì)語言。
七、云計(jì)算平臺(tái)
Docker: 開源的應(yīng)用容器引擎
kvm: (Keyboard Video Mouse)
openstack:? 開源的云計(jì)算管理平臺(tái)項(xiàng)目