您好,登錄后才能下訂單哦!
沒有Java,甚至不會(huì)有大數(shù)據(jù)的大發(fā)展,Hadoop本身就是用Java編寫的。當(dāng)你需要在運(yùn)行MapReduce的服務(wù)器集群上發(fā)布新功能時(shí),你需
要進(jìn)行動(dòng)態(tài)的部署,而這正是Java所擅長的。
大數(shù)據(jù)領(lǐng)域支持Java的主流開源工具:
1. HDFS
HDFS是Hadoop應(yīng)用程序中主要的分布式儲(chǔ)存系統(tǒng), HDFS集群包含了一個(gè)NameNode(主節(jié)點(diǎn)),這個(gè)節(jié)點(diǎn)負(fù)責(zé)管理所有文件系統(tǒng)的元數(shù)據(jù)
及存儲(chǔ)了真實(shí)數(shù)據(jù)的DataNode(數(shù)據(jù)節(jié)點(diǎn),可以有很多)。HDFS針對海量數(shù)據(jù)所設(shè)計(jì),所以相比傳統(tǒng)文件系統(tǒng)在大批量小文件上的優(yōu)化,
HDFS優(yōu)化的則是對小批量大型文件的訪問和存儲(chǔ)。
2. MapReduce
Hadoop MapReduce是一個(gè)軟件框架,用以輕松編寫處理海量(TB級)數(shù)據(jù)的并行應(yīng)用程序,以可靠和容錯(cuò)的方式連接大型集群中上萬個(gè)節(jié)
點(diǎn)(商用硬件)。
3. HBase
Apache HBase是Hadoop數(shù)據(jù)庫,一個(gè)分布式、可擴(kuò)展的大數(shù)據(jù)存儲(chǔ)。它提供了大數(shù)據(jù)集上隨機(jī)和實(shí)時(shí)的讀/寫訪問,并針對了商用服務(wù)器
集群上的大型表格做出優(yōu)化——上百億行,上千萬列。其核心是Google Bigtable論文的開源實(shí)現(xiàn),分布式列式存儲(chǔ)。就像Bigtable利用
GFS(Google File System)提供的分布式數(shù)據(jù)存儲(chǔ)一樣,它是Apache Hadoop在HDFS基礎(chǔ)上提供的一個(gè)類Bigatable。
4. Cassandra
Apache Cassandra是一個(gè)高性能、可線性擴(kuò)展、高有效性數(shù)據(jù)庫,可以運(yùn)行在商用硬件或云基礎(chǔ)設(shè)施上打造完美的任務(wù)關(guān)鍵性數(shù)據(jù)平臺。
在橫跨數(shù)據(jù)中心的復(fù)制中,Cassandra同類最佳,為用戶提供更低的延時(shí)以及更可靠的災(zāi)難備份。通過log-structured update、反規(guī)范化
和物化視圖的強(qiáng)支持以及強(qiáng)大的內(nèi)置緩存,Cassandra的數(shù)據(jù)模型提供了方便的二級索引(column indexe)。
5. Hive
Apache Hive是Hadoop的一個(gè)數(shù)據(jù)倉庫系統(tǒng),促進(jìn)了數(shù)據(jù)的綜述(將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表)、即席查詢以及存儲(chǔ)在
Hadoop兼容系統(tǒng)中的大型數(shù)據(jù)集分析。Hive提供完整的SQL查詢功能——HiveQL語言,同時(shí)當(dāng)使用這個(gè)語言表達(dá)一個(gè)邏輯變得低效和繁瑣
時(shí),HiveQL還允許傳統(tǒng)的Map/Reduce程序員使用自己定制的Mapper和Reducer。
6. Pig
Apache Pig是一個(gè)用于大型數(shù)據(jù)集分析的平臺,它包含了一個(gè)用于數(shù)據(jù)分析應(yīng)用的高級語言以及評估這些應(yīng)用的基礎(chǔ)設(shè)施。Pig應(yīng)用的閃
光特性在于它們的結(jié)構(gòu)經(jīng)得起大量的并行,也就是說讓它們支撐起非常大的數(shù)據(jù)集。Pig的基礎(chǔ)設(shè)施層包含了產(chǎn)生Map-Reduce任務(wù)的編譯
器。Pig的語言層當(dāng)前包含了一個(gè)原生語言——Pig Latin,開發(fā)的初衷是易于編程和保證可擴(kuò)展性。
7. Chukwa
Apache Chukwa是個(gè)開源的數(shù)據(jù)收集系統(tǒng),用以監(jiān)視大型分布系統(tǒng)。建立于HDFS和Map/Reduce框架之上,繼承了Hadoop的可擴(kuò)展性和穩(wěn)定
性。Chukwa同樣包含了一個(gè)靈活和強(qiáng)大的工具包,用以顯示、監(jiān)視和分析結(jié)果,以保證數(shù)據(jù)的使用達(dá)到最佳效果。
8. Ambari
Apache Ambari是一個(gè)基于web的工具,用于配置、管理和監(jiān)視Apache Hadoop集群,支持Hadoop HDFS,、Hadoop MapReduce、Hive、
HCatalog,、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari同樣還提供了集群狀況儀表盤,比如heatmaps和查看MapReduce、Pig、Hive
應(yīng)用程序的能力,以友好的用戶界面對它們的性能特性進(jìn)行診斷。
9. ZooKeeper
Apache ZooKeeper是一個(gè)針對大型分布式系統(tǒng)的可靠協(xié)調(diào)系統(tǒng),提供的功能包括:配置維護(hù)、命名服務(wù)、分布式同步、組服務(wù)等。
ZooKeeper的目標(biāo)就是封裝好復(fù)雜易出錯(cuò)的關(guān)鍵服務(wù),將簡單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶。
10. Sqoop
Sqoop是一個(gè)用來將Hadoop和關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)相互轉(zhuǎn)移的工具,可以將一個(gè)關(guān)系型數(shù)據(jù)庫中數(shù)據(jù)導(dǎo)入Hadoop的HDFS中,也可以將
HDFS中數(shù)據(jù)導(dǎo)入關(guān)系型數(shù)據(jù)庫中。
11. Oozie
Apache Oozie是一個(gè)可擴(kuò)展、可靠及可擴(kuò)充的工作流調(diào)度系統(tǒng),用以管理Hadoop作業(yè)。Oozie Workflow作業(yè)是活動(dòng)的Directed Acyclical
Graphs(DAGs)。Oozie Coordinator作業(yè)是由周期性的Oozie Workflow作業(yè)觸發(fā),周期一般決定于時(shí)間(頻率)和數(shù)據(jù)可用性。Oozie與
余下的Hadoop堆棧結(jié)合使用,開箱即用的支持多種類型Hadoop作業(yè)(比如:Java map-reduce、Streaming map-reduce、Pig、 Hive、
Sqoop和Distcp)以及其它系統(tǒng)作業(yè)(比如Java程序和Shell腳本)。
12. Mahout
Apache Mahout是個(gè)可擴(kuò)展的機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘庫,當(dāng)前Mahout支持主要的4個(gè)用例:
推薦挖掘:搜集用戶動(dòng)作并以此給用戶推薦可能喜歡的事物。
聚集:收集文件并進(jìn)行相關(guān)文件分組。
分類:從現(xiàn)有的分類文檔中學(xué)習(xí),尋找文檔中的相似特征,并為無標(biāo)簽的文檔進(jìn)行正確的歸類。
頻繁項(xiàng)集挖掘:將一組項(xiàng)分組,并識別哪些個(gè)別項(xiàng)會(huì)經(jīng)常一起出現(xiàn)。
13. HCatalog
Apache HCatalog是Hadoop建立數(shù)據(jù)的映射表和存儲(chǔ)管理服務(wù),它包括:
提供一個(gè)共享模式和數(shù)據(jù)類型機(jī)制。
提供一個(gè)抽象表,這樣用戶就不需要關(guān)注數(shù)據(jù)存儲(chǔ)的方式和地址。
為類似Pig、MapReduce及Hive這些數(shù)據(jù)處理工具提供互操作性。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。