天天看點

hadoop spark學習筆記

http://www.csdn.net/article/2015-06-08/2824889

hive:是基于hadoop的一個資料倉庫工具,可以将結構化的資料檔案映射為一張資料庫表,并提供簡單的sql查詢功能,可以将sql語句轉換為mapreduce任務進行運作。 其優點是學習成本低,可以通過類sql語句快速實作簡單的mapreduce統計,不必開發專門的mapreduce應用,十分适合資料倉庫的統計分析。

​​mapreduce​​:是一種程式設計模型,用于大規模資料集(大于1tb)的并行運算。概念"map(映射)"和"reduce(歸約)",和它們的主要思想,都是從函數式程式設計語言裡借來的,還有從矢量程式設計語言裡借來的特性。它極大地友善了程式設計人員在不會分布式并行程式設計的情況下,将自己的程式運作在分布式系統上。 目前的軟體實作是指定一個map(映射)函數,用來把一組鍵值對映射成一組新的鍵值對,指定并發的reduce(歸約)函數,用來保證所有映射的鍵值對中的每一個共享相同的鍵組。

在函數式語言裡,map表示對一個清單(list)中的每個元素做計算,reduce表示對一個清單中的每個元素做疊代計算。它們具體的計算是通過傳入的函數來實作的,map和reduce提供的是計算的架構。

 為了減少資料通信,一個基本原則是本地化資料處理,即一個計算節點盡可能處理其本地磁盤上所分布存儲的資料,這實作了代碼向資料的遷移;當無法進行這種本地化資料處理時,再尋找其他可用節點并将資料從網絡上傳送給該節點(資料向代碼遷移),但将盡可能從資料所在的本地機架上尋 找可用節點以減少通信延遲。

hdfs:hadoop分布式檔案系統(hdfs)被設計成适合運作在通用硬體(commodity hardware)上的分布式檔案系統。它和現有的分布式檔案系統有很多共同點。但同時,它和其他的分布式檔案系統的差別也是很明顯的。hdfs是一個高度容錯性的系統,适合部署在廉價的機器上。hdfs能提供高吞吐量的資料通路,非常适合大規模資料集上的應用。hdfs放寬了一部分posix限制,來實作流式讀取檔案系統資料的目的。hdfs在最開始是作為apache nutch搜尋引擎項目的基礎架構而開發的。hdfs是apache hadoop core項目的一部分。

移動計算比移動資料更經濟

在靠近計算資料所存儲的位置來進行計算是最理想的狀态,尤其是在資料集特别巨大的時候。這樣消除了網絡的擁堵,提高了系統的整體吞吐量。一個假定就是遷移計算到離資料更近的位置比将資料移動到程式運作更近的位置要更好。hdfs提供了接口,來讓程式将自己移動到離資料存儲更近的位置

​​yarn​​:apache hadoop yarn (yet another resource negotiator,另一種資源協調者)是一種新的 hadoop 資料總管,它是一個通用資源管理系統,可為上層應用提供統一的資源管理和排程,它的引入為叢集在使用率、資源統一管理和資料共享等方面帶來了巨大好處。

yarn從某種那個意義上來說應該算做是一個雲作業系統,它負責叢集的資源管理

​​

hadoop spark學習筆記

​​ 

hadoop spark學習筆記

​​kafka分布式消息系統​​:kafka[1]是linkedin用于日志處理的分布式消息隊列,linkedin的日志資料容量大,但對可靠性要求不高,其日志資料主要包括使用者行為(登入、浏覽、點選、分享、喜歡)以及系統運作日志(cpu、記憶體、磁盤、網絡、系統及程序狀态)

繼續閱讀