13款java開源大資料工具

來源:互聯網
上載者:User

大資料幾乎已成為所有商業領域共有的最新趨勢,然而大資料究竟是什嗎?是噱頭、泡沫,又或是真如傳言一樣的重要。

事實上,大資料是個非常簡單的術語——就像它所說的一樣,是非常大的資料集。那麼究竟有大多?真實的答案就是“如你所想的那麼大”!

那麼為什麼會產生如此之大的資料集?因為當今的資料已經無所不在並且存在著巨大的回報:收集通訊資料的RFID感應器,收集天氣資訊的感應器,行動裝置給社交網站發送的GPRS資料包,圖片視頻,線上購物產生的交易記錄,應有盡有!大資料是一個巨大的資料集,包含了任何資料來源產生的資訊,當然前提是這些資訊是我們感興趣的。

然而大資料的含義絕不只與體積相關,因為大資料還可以用於尋找新的真知、形成新的資料和內容;我們可以使用從大資料中提取的真知、資料和內容去使商業更加靈活,以及回答那些之前被認為遠超當前範疇的問題。這也是大資料被從以下4個方面定義的原因:Volume(體積)、Variety(多樣)、Velocity(效率)以及Veracity(Value,價值),也就是大資料的4V。下面將簡述每個特性以及所面臨的挑戰:

1. Volume

Volume說的是一個業務必須捕獲、儲存及訪問的資料量,僅僅在過去兩年內就生產了世界上所有資料的90%。現今的機構已完全被資料的體積所淹沒,輕易的就會產生TB甚至是PB級不同類型的資料,並且其中有些資料需要被組織、防護(竊取)以及分析。

2. Variety

世界上產生的資料有80%都是半結構化的,感應器、智慧型裝置和社交媒體都是通過Web頁面、部落格檔案、社交媒體論壇、音頻、視頻、點擊流、電子郵件、文檔、感測系統等產生這些資料。傳統的分析方案往往只適合結構化資料,舉個例子:儲存在關係型資料庫中的資料就有完整的結構模型。資料類型的多樣化同樣意味著為支援當下的決策制定及真知處理,我們需要在資料儲存和分析上面進行根本的改變。Variety代表了在傳統關聯式資料庫中無法輕易捕獲和管理的資料類型,使用大資料技術卻可以輕鬆的儲存和分析。

3. Velocity

Velocity則需要對資料進行近即時的分析,亦稱“sometimes 2 minutes is too late!”。擷取競爭優勢意味著你需要在幾分鐘,甚至是幾秒內識別一個新的趨勢或機遇,同樣還需要儘可能的快於你競爭者。另外一個例子是時間敏感性資料的處理,比如說捕捉罪犯,在這裡資料必須被收集後就完成被分析,這樣才能擷取最大價值。對時間敏感的資料保質期往往都很短,這就需求組織或機構使用近即時的方式對其分析。

4. Veracity

通過分析資料我們得出如何的抓住機遇及收穫價值,資料的重要性就在於對決策的支援;當你著眼於一個可能會對你企業產生重要影響的決策,你希望獲得儘可能多的資訊與用例相關。單單資料的體積並不能決定其是否對決策產生協助,資料的真實性和品質才是獲得真知和思路最重要的因素,因此這才是制定成功決策最堅實的基礎。

然而當下現有的商業智慧和資料倉儲技術並不完全支援4V理論,大資料解決方案的開發正是針對這些挑戰。

下面將介紹大資料領域支援Java的主流開源工具

1. HDFS

HDFS是Hadoop應用程式中主要的分布式儲存系統, HDFS叢集包含了一個NameNode(主節點),這個節點負責管理所有檔案系統的中繼資料及儲存了真實資料的DataNode(資料節點,可以有很多)。HDFS針對海量資料所設計,所以相比傳統檔案系統在大批量小檔案上的最佳化,HDFS最佳化的則是對小批量大型檔案的訪問和儲存。

2. MapReduce

Hadoop MapReduce是一個軟體架構,用以輕鬆編寫處理海量(TB級)資料的並行應用程式,以可靠和容錯的方式串連大型叢集中上萬個節點(商用硬體)。

3. HBase

Apache HBase是Hadoop資料庫,一個分布式、可擴充的大資料存放區。它提供了大資料集上隨機和即時的讀/寫訪問,並針對了商用伺服器叢集上的大型表格做出最佳化——上百億行,上千萬列。其核心是Google Bigtable論文的開源實現,分布式列式儲存。就像Bigtable利用GFS(Google File System)提供的分布式資料存放區一樣,它是Apache Hadoop在HDFS基礎上提供的一個類Bigatable。

4. Cassandra

Apache Cassandra是一個高效能、可線性擴充、高有效性資料庫,可以運行在商用硬體或雲基礎設施上打造完美的任務關鍵性資料平台。在橫跨資料中心的複製中,Cassandra同類最佳,為使用者提供更低的延時以及更可靠的災難備份。通過log-structured update、反正常化和物化視圖的強支援以及強大的內建緩衝,Cassandra的資料模型提供了方便的二級索引(column indexe)。

5. Hive

Apache Hive是Hadoop的一個資料倉儲系統,促進了資料的綜述(將結構化的資料檔案映射為一張資料庫表)、即席查詢以及儲存在Hadoop相容系統中的大型資料集分析。Hive提供完整的SQL查詢功能——HiveQL語言,同時當使用這個語言表達一個邏輯變得低效和繁瑣時,HiveQL還允許傳統的Map/Reduce程式員使用自己定製的Mapper和Reducer。

6. Pig

Apache Pig是一個用於大型資料集分析的平台,它包含了一個用於資料分析應用的進階語言以及評估這些應用的基礎設施。Pig應用的閃光特性在於它們的結構經得起大量的並行,也就是說讓它們支撐起非常大的資料集。Pig的基礎設施層包含了產生Map-Reduce任務的編譯器。Pig的語言層當前包含了一個原生語言——Pig Latin,開發的初衷是易於編程和保證可擴充性。

7. Chukwa

Apache Chukwa是個開源的Tlog,用以監視大型分布系統。建立於HDFS和Map/Reduce架構之上,繼承了Hadoop的可擴充性和穩定性。Chukwa同樣包含了一個靈活和強大的工具包,用以顯示、監視和分析結果,以保證資料的使用達到最佳效果。

8. Ambari

Apache Ambari是一個基於web的工具,用於配置、管理和監視Apache Hadoop叢集,支援Hadoop HDFS,、Hadoop MapReduce、Hive、HCatalog,、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari同樣還提供了叢集狀況儀錶盤,比如heatmaps和查看MapReduce、Pig、Hive應用程式的能力,以友好的使用者介面對它們的效能特性進行診斷。

9. ZooKeeper

Apache ZooKeeper是一個針對大型分布式系統的可靠協調系統,提供的功能包括:配置維護、命名服務、分布式同步、組服務等。ZooKeeper的目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的介面和效能高效、功能穩定的系統提供給使用者。

10. Sqoop

Sqoop是一個用來將Hadoop和關係型資料庫中的資料相互轉移的工具,可以將一個關係型資料庫中資料匯入Hadoop的HDFS中,也可以將HDFS中資料匯入關係型資料庫中。

11. Oozie

Apache Oozie是一個可擴充、可靠及可擴充的工作流程調度系統,用以管理Hadoop作業。Oozie Workflow作業是活動的Directed Acyclical Graphs(DAGs)。Oozie Coordinator作業是由周期性的Oozie Workflow作業觸發,周期一般決定於時間(頻率)和資料可用性。Oozie與餘下的Hadoop堆棧結合使用,開箱即用的支援多種類型Hadoop作業(比如:Java map-reduce、Streaming map-reduce、Pig、 Hive、Sqoop和Distcp)以及其它系統作業(比如Java程式和Shell指令碼)。

12. Mahout

Apache Mahout是個可擴充的機器學習和資料採礦庫,當前Mahout支援主要的4個用例:

  • 推薦挖掘:搜集使用者動作並以此給使用者推薦可能喜歡的事物。
  • 聚集:收集檔案並進行相關檔案分組。
  • 分類:從現有的分類文檔中學習,尋找文檔中的相似特徵,並為無標籤的文檔進行正確的歸類。
  • 頻繁項集挖掘:將一組項分組,並識別哪些個別項會經常一起出現。

13. HCatalog

Apache HCatalog是Hadoop建立資料的映射表和儲存管理服務,它包括:

  • 提供一個共用模式和資料類型機制。
  • 提供一個抽象表,這樣使用者就不需要關注資料存放區的方式和地址。
  • 為類似Pig、MapReduce及Hive這些資料處理工具提供互通性。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.