paulwong

          一網(wǎng)打盡13款開源Java大數(shù)據(jù)工具

          下面將介紹大數(shù)據(jù)領(lǐng)域支持Java的主流開源工具

          1. HDFS

          HDFS是Hadoop應(yīng)用程序中主要的分布式儲存系統(tǒng), HDFS集群包含了一個NameNode(主節(jié)點),這個節(jié)點負責(zé)管理所有文件系統(tǒng)的元數(shù)據(jù)及存儲了真實數(shù)據(jù)的DataNode(數(shù)據(jù)節(jié)點,可以有很多)。HDFS針對海量數(shù)據(jù)所設(shè)計,所以相比傳統(tǒng)文件系統(tǒng)在大批量小文件上的優(yōu)化,HDFS優(yōu)化的則是對小批量大型文件的訪問和存儲。

          2. MapReduce

          Hadoop MapReduce是一個軟件框架,用以輕松編寫處理海量(TB級)數(shù)據(jù)的并行應(yīng)用程序,以可靠和容錯的方式連接大型集群中上萬個節(jié)點(商用硬件)。

          3. HBase

          Apache HBase是Hadoop數(shù)據(jù)庫,一個分布式、可擴展的大數(shù)據(jù)存儲。它提供了大數(shù)據(jù)集上隨機和實時的讀/寫訪問,并針對了商用服務(wù)器集群上的大型表格做出優(yōu)化——上百億行,上千萬列。其核心是Google Bigtable論文的開源實現(xiàn),分布式列式存儲。就像Bigtable利用GFS(Google File System)提供的分布式數(shù)據(jù)存儲一樣,它是Apache Hadoop在HDFS基礎(chǔ)上提供的一個類Bigatable。

          4. Cassandra

          Apache Cassandra是一個高性能、可線性擴展、高有效性數(shù)據(jù)庫,可以運行在商用硬件或云基礎(chǔ)設(shè)施上打造完美的任務(wù)關(guān)鍵性數(shù)據(jù)平臺。在橫跨數(shù)據(jù)中心的復(fù)制中,Cassandra同類最佳,為用戶提供更低的延時以及更可靠的災(zāi)難備份。通過log-structured update、反規(guī)范化和物化視圖的強支持以及強大的內(nèi)置緩存,Cassandra的數(shù)據(jù)模型提供了方便的二級索引(column indexe)。

          5. Hive

          Apache Hive是Hadoop的一個數(shù)據(jù)倉庫系統(tǒng),促進了數(shù)據(jù)的綜述(將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表)、即席查詢以及存儲在Hadoop兼容系統(tǒng)中的大型數(shù)據(jù)集分析。Hive提供完整的SQL查詢功能——HiveQL語言,同時當(dāng)使用這個語言表達一個邏輯變得低效和繁瑣時,HiveQL還允許傳統(tǒng)的Map/Reduce程序員使用自己定制的Mapper和Reducer。

          6. Pig

          Apache Pig是一個用于大型數(shù)據(jù)集分析的平臺,它包含了一個用于數(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)前包含了一個原生語言——Pig Latin,開發(fā)的初衷是易于編程和保證可擴展性。

          7. Chukwa

          Apache Chukwa是個開源的數(shù)據(jù)收集系統(tǒng),用以監(jiān)視大型分布系統(tǒng)。建立于HDFS和Map/Reduce框架之上,繼承了Hadoop的可擴展性和穩(wěn)定性。Chukwa同樣包含了一個靈活和強大的工具包,用以顯示、監(jiān)視和分析結(jié)果,以保證數(shù)據(jù)的使用達到最佳效果。

          8. Ambari

          Apache Ambari是一個基于web的工具,用于配置、管理和監(jiān)視Apache Hadoop集群,支持Hadoop HDFS,、Hadoop MapReduce、Hive、HCatalog,、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari同樣還提供了集群狀況儀表盤,比如heatmaps和查看MapReduce、Pig、Hive應(yīng)用程序的能力,以友好的用戶界面對它們的性能特性進行診斷。

          9. ZooKeeper

          Apache ZooKeeper是一個針對大型分布式系統(tǒng)的可靠協(xié)調(diào)系統(tǒng),提供的功能包括:配置維護、命名服務(wù)、分布式同步、組服務(wù)等。ZooKeeper的目標(biāo)就是封裝好復(fù)雜易出錯的關(guān)鍵服務(wù),將簡單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶。

          10. Sqoop

          Sqoop是一個用來將Hadoop和關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)相互轉(zhuǎn)移的工具,可以將一個關(guān)系型數(shù)據(jù)庫中數(shù)據(jù)導(dǎo)入Hadoop的HDFS中,也可以將HDFS中數(shù)據(jù)導(dǎo)入關(guān)系型數(shù)據(jù)庫中。

          11. Oozie

          Apache Oozie是一個可擴展、可靠及可擴充的工作流調(diào)度系統(tǒng),用以管理Hadoop作業(yè)。Oozie Workflow作業(yè)是活動的Directed Acyclical Graphs(DAGs)。Oozie Coordinator作業(yè)是由周期性的Oozie Workflow作業(yè)觸發(fā),周期一般決定于時間(頻率)和數(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是個可擴展的機器學(xué)習(xí)和數(shù)據(jù)挖掘庫,當(dāng)前Mahout支持主要的4個用例:

          • 推薦挖掘:搜集用戶動作并以此給用戶推薦可能喜歡的事物。
          • 聚集:收集文件并進行相關(guān)文件分組。
          • 分類:從現(xiàn)有的分類文檔中學(xué)習(xí),尋找文檔中的相似特征,并為無標(biāo)簽的文檔進行正確的歸類。
          • 頻繁項集挖掘:將一組項分組,并識別哪些個別項會經(jīng)常一起出現(xiàn)。

          13. HCatalog

          Apache HCatalog是Hadoop建立數(shù)據(jù)的映射表和存儲管理服務(wù),它包括:

          • 提供一個共享模式和數(shù)據(jù)類型機制。
          • 提供一個抽象表,這樣用戶就不需要關(guān)注數(shù)據(jù)存儲的方式和地址。
          • 為類似Pig、MapReduce及Hive這些數(shù)據(jù)處理工具提供互操作性。

          posted on 2013-05-03 09:05 paulwong 閱讀(502) 評論(0)  編輯  收藏 所屬分類: 分布式HADOOP云計算HBASE

          主站蜘蛛池模板: 高陵县| 商南县| 金湖县| 姜堰市| 天台县| 千阳县| 浮梁县| 阳春市| 舒兰市| 新化县| 和硕县| 宜兰市| 永吉县| 安泽县| 阳谷县| 德州市| 冷水江市| 汉源县| 荥经县| 南岸区| 永嘉县| 南靖县| 肇庆市| 枞阳县| 武清区| 怀集县| 星子县| 伊宁县| 樟树市| 石泉县| 虞城县| 巩留县| 通化县| 桂林市| 囊谦县| 绥中县| 枞阳县| 防城港市| 左权县| 闻喜县| 高安市|