Hadoop 快速入門

2022-04-10 09:20:16 字數 3050 閱讀 6275

1.1 什麼是hadoop

1、hadoop是apache旗下一套開源軟體平台。

2、hadoop提供的功能:利用伺服器集群,根據使用者的自定義業務邏輯,對海量資料進行分布式處理。

3、hadoop的核心元件有:

a、common(基礎元件)

b、hdfs(分布式檔案系統)

c、yarn(運算支援排程系統)

d、mapreduce(分布式運算程式設計框架)

4、廣義上來說,hadoop通常是指乙個更廣泛的概念-------------hadoop生態圈

1.2 hadoop的產生背景

1、hadoop最早起源於nutch,nutch的設計目標是構建乙個大型的全網搜尋引擎,包括網頁抓取、索引、查詢等功能,但隨著

抓取網頁數量的增加,遇到了嚴重的可擴充套件性問題------如何解決數十億網頁的儲存和索引問題。

2、2003、2004股溝發表三篇**為該問題提供了可行性的解決方案。

------分布式檔案系統gfs,可用於處理海量網頁的儲存

------分布式計算框架mapreduce,可用於處理海量網頁的索引計算問題。

------分布式資料庫bigtable  apache開源版本hbase,一張表可以儲存上billons行,milions列

3、nutch的開發人員完成了相應的開源實現hdfs和mapreduce,並從nutch中剝離成為獨立的專案hadoop,到2008.1月

hadoop成為apache頂級專案,迎來了快速發展期。

1.3 hadoop在大資料和雲計算當中的位置和關係

1、雲計算是分布式計算、平行計算、網格計算、多核計算、網路儲存、虛擬化、負載均衡等傳統計算機技術和網際網路技術融合的發展產物。

借助laas(基礎設施即服務)、paas(平台即服務)、saas(軟體即服務)等業務模式,把強大的計算能力提供給終端使用者。

2、現階段,雲計算的量大底層支撐技術為"虛擬化"和"大資料技術"。虛擬化:docker、openstack

3、而hadoop則是雲計算的paas層的解決方案之一,並不等同於paas,更不等同於雲計算本身。

1.4 hadoop技術應用架構概覽

1.4.1 hadoop應用於資料服務基礎平台建設

1.4.2 hadoop使用者使用者畫像

金融行業:個人徵信分析

**行業:投資模型分析

交通行業:車輛、路況監控分析

電信行業:使用者上網行為分析

電商行業:使用者瀏覽、購買行為分析

最後總結:hadoop並不會跟某個具體的行業或者某個具體的業務掛鉤,它只是用來做海量資料分析處理的工具

1.5 hadoop生態圈以及各組成部分的簡介

重點元件:

hdfs:分布式檔案系統

mapreduce:分布式程式運算框架,也可以叫做一種程式設計模型

hive:基於hadoop的類sql資料倉儲工具

hbase:基於hadoop的列式分布式資料庫

zookeeper:分布式協調服務元件

mahout:基於mapreduce/flink/spark等分布式運算框架的機器學習演算法庫

oozie/azkaban:工作流排程引擎

sqoop:資料遷入遷出工具

flume:日誌採集工具

1.6 hadoop技能要求

大資料是個複核專業,包括應用開發、軟體平台、演算法、資料探勘等,因此大資料技術領域的就業選擇是多樣的,

但就hadoop而言,通常都需要具備以下技能或知識:

a、hadoop分布式集群的平台搭建

b、hadoop分布式檔案系統hdfs的原理理解及使用

c、hadoop分布式運算框架mapreduce的原理理解及程式設計

d、hive資料倉儲工具的熟練應用

e、flume、sqoop、oozie等輔助工具的熟練使用

f、shell/python等指令碼語言的開發能力

分布式系統概述

ps:由於大資料技術領域的各類技術框架基本上都是分布式系統,因此理解hadoop、storm、spark等技術框架,

都需要具備基本的分布式系統概念。

a、集群 + 負載均衡

b、分布式:

1、該軟體系統會劃分成多個子系統或模組,各自執行在不同的機器上,子系統或模組之間通過網路通訊進行協作,

實現最終的整體功能。

2、比如分布式作業系統、分布式程式語言及其編譯(解釋)系統、分布式檔案系統和分布式資料庫系統等。

總結:利用多個節點共同協作完成一項或多項具體業務功能的系統就是分布式系統。

離線分析系統結構概述

需求分析:

哪個網頁訪問人數最多,哪個網頁最後價值,廣告轉化率、訪客的**資訊,訪客的終端資訊等。

4、獲取方式:在頁面預埋一段js程式,為頁面上想要監聽的標籤繫結事件,只要使用者點選或移動到標籤,

即可觸發ajax請求到後台servlet程式,用log4j記錄下事件資訊,從而在web伺服器(nginx、tomcat等)

上形成不斷增長的日誌檔案。

5、資料處理流程

資料採集--->資料預處理--->匯入hive庫--->etl--->報表統計--->結果匯出到mysql--->資料視覺化

a、資料採集:定製開發採集程式,或使用開源框架flume

b、資料預處理:定製開發mapreduce程式執行於hadoop群

c、資料倉儲技術:基於hadoop之上的hive

d、資料匯出:基於hadoop的sqoop資料匯入匯出工具

e、資料視覺化:定製開發web程式或使用kettle等產品   echart

f、整個過程的流程排程:hadoop生態圈中的oozie/azkaban 工具或其他類似開源產品

hadoop快速入門

大資料核心含義是一種技術革新 隨著網際網路時代的深入,產生了越來越多的資料,比如 1 電商產生的大量使用者瀏覽 購物行為 2 移動運營商記錄了大量的使用者上網行為 3 網路輿情分析 營銷支撐 4 金融系統徵信分析 上述的這些需求,用以前的傳統技術無法勝任,需要有乙個全新的技術體系來支撐 在此背景之下...

Hadoop快速入門( Hadoop簡介)

hadoop 核心元件 hadoop 包含以下模組 hadoop common 常見實用工具,用來支援其他 hadoop 模組。hadoop distributed file system hdfs 分布式檔案系統,它提供對應用程式資料的高吞吐量訪問。hadoop yarn 乙個作業排程和集群資源管...

Hadoop 入門介紹

hadoop 優勢 高可靠性 hadoop底層維護多個資料副本,所以即使hadoop某個計算元素或儲存出現故障,也不會導致資料丟失 高擴充套件性 在集群間分配任務資料,可方便擴充套件節點 高效性 在mapreduce思想下,hadoop是並行工作的,以加快任務處理速度 高容錯性 能夠自動將失敗的任務...