大資料這個詞也許幾年前你聽着還會覺得陌生,但我相信你現在聽到hadoop這個詞的時候你應該都會覺得“熟悉”!越來越發現身邊從事hadoop開發或者是正在學習hadoop的人變多了。作為一個hadoop入門級的新手,你會覺得哪些地方很難呢?運作環境的搭建恐怕就已經足夠讓新手頭疼。如果每一個發行版hadoop都可以做到像大快DKHadoop那樣把各種環境搭建內建到一起,一次安裝搞定所有,那對于新手來說将是件多麼美妙的事情!
閑話扯得稍微多了點,回歸整體。這篇準備給大家hadoop新入門的朋友分享一些hadoop的基礎知識——hadoop家族産品。通過對hadoop家族産品的認識,進一步幫助大家學習好hadoop!同時,也歡迎大家提出寶貴意見!
一、Hadoop定義 Hadoop是一個大家族,是一個開源的生态系統,是一個分布式運作系統,是基于Java程式設計語言的架構。不過它最高明的技術還是HDFS和MapReduce,使得它可以分布式處理海量資料。 二、Hadoop産品
角色 | 描述 |
MapReduce | MapReduce常用于離線的複雜的大資料計算 |
Storm | Storm用于線上的實時的大資料計算,Storm的實時主要是一條一條資料處理; |
Spark | 可以用于離線的也可用于線上的實時的大資料計算,Spark的實時主要是處理一個個時間區域的資料,是以說Spark比較靈活。 |
2、資料存儲位置來說分磁盤計算和記憶體計算:
資料存在磁盤中 | |
Spark和Strom | 資料存在記憶體中 |
Pig | 是一種進階程式設計語言,在處理半結構化資料上擁有非常高的性能,可以幫助我們縮短開發周期。 |
Hive | 是資料分析查詢工具,尤其在使用類SQL查詢分析時顯示出極高的性能。可以在分分鐘完成ETL要一晚上才能完成的事情,這就是優勢,占了先機! |
HBase | 是運作在HDFS架構上的列存儲資料庫,并且已經與Pig/Hive很好地內建。通過Java API可以近無縫地使用HBase。 |
Sqoop | 設計的目的是友善從傳統資料庫導入資料到Hadoop資料集合(HDFS/Hive)。 |
Flume | 設計的目的是便捷地從日志檔案系統直接把資料導入到Hadoop資料集合(HDFS)中。 |
以上這些資料轉移工具都極大地友善了使用的人,提高了工作效率,把精力專注在業務分析上。
ZooKeeper/Oozie (系統管理架構):ZooKeeper | 是一個系統管理協調架構,用于管理分布式架構的基本配置。它提供了很多接口,使得配置管理任務簡單化。 |
Oozie | Oozie服務是用于管理工作流。用于排程不同工作流,使得每個工作都有始有終。這些架構幫助我們輕量化地管理大資料分布式計算架構。 |
Ambari | 幫助相關人員快捷地部署搭建整個大資料分析架構,并且實時監控系統的運作狀況。 |
Whirr | Whirr的主要作用是幫助快速地進行雲計算開發。 |
Mahout旨在幫助我們快速地完成高智商的系統。其中已經實作了部分機器學習的邏輯。這個架構可以讓我們快速地內建更多機器學習的智能。