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