37
大大大大大大大大大大 Hadoop MapReduce 大大大 1

大資料分析技術的濫觴 0727

  • Upload
    -

  • View
    132

  • Download
    9

Embed Size (px)

Citation preview

Page 1: 大資料分析技術的濫觴 0727

大資料分析技術的濫觴 Hadoop MapReduce

莊家雋

1

Page 2: 大資料分析技術的濫觴 0727

生活中的推薦系統

• YouTube• 博客來

Page 3: 大資料分析技術的濫觴 0727

 Google 流感預測趨勢

3

Page 4: 大資料分析技術的濫觴 0727

大資料在食的應用

• 預測與分析社會趨勢– 食安危機

4

Page 5: 大資料分析技術的濫觴 0727

大資料在行的應用

5

• 幫你查即時路況的地理資訊務

Page 6: 大資料分析技術的濫觴 0727

電腦不只會選花生,還會選伴侶

6

Page 7: 大資料分析技術的濫觴 0727

大資料應用的 LIFE CYCLE

7

Page 8: 大資料分析技術的濫觴 0727

傳統計算機科學思維

• 有一個問題,找出一個答案• 傳統的資料處理模式:集中式• 讓電腦快一千倍,這個問題就解的出來

8

CPU

Mem

disk

CPU

Memory

disk

CPU

Memory

disk

磁碟陣列

Page 9: 大資料分析技術的濫觴 0727

新式計算機科學思維

• 有一堆資料,找出有用的情報• 給我的資料多一千倍,這個問題才解得出來

• 以電腦翻譯為例:– 傳統方法:字典 + 文法 + 例外

• 干货 vs. 乾貨 or 幹貨…– 統計翻譯:比對同一文章之不同語語版本,建立統計

模式• 以拼字校正為例:– 傳統方法:建立字典– Google 法:看大家都怎麼打

9

Page 10: 大資料分析技術的濫觴 0727

大資料面臨的三個挑戰

10

大資料的 3V

Volume:資料量非常龐大,

單獨的表格、電腦主機、資料庫無法存放

Velocity:資料產生的速度太快

,以致於系統無法即時提供反應。

Variety:不同的來源、格式、

類型,資料內容又包含了不需要的成份。

Page 11: 大資料分析技術的濫觴 0727

解決 Variety

11

大資料的 3V

Volume:資料量非常龐大,

單獨的表格、電腦主機、資料庫無法存放

Velocity:資料產生的速度太快

,以致於系統無法即時提供反應。

Variety:不同的來源、格式、

類型,資料內容又包含了不需要的成份。

Page 12: 大資料分析技術的濫觴 0727

資料來源不夠〝乾淨〞

• 讀取資料、清洗資料– 非常無趣,且通常要花掉專案 80% 的時間,但又會影

響到分析的成果

12

Page 13: 大資料分析技術的濫觴 0727

無法預期的資料格式與內容

• 使用需事先定義好資料格式的方式不再適合– 資料庫表格

• 自我描述的資料格式– Key/value 型式的資料格式– XML 檔案 , JSON 檔案– NoSQL HBase 資料庫

13

Page 14: 大資料分析技術的濫觴 0727

如何透過分散式系統解決 Volume

14

大資料的 3V

Volume:資料量非常龐大,

單獨的表格、電腦主機、資料庫無法存放

Velocity:資料產生的速度太快

,以致於系統無法即時提供反應。

Variety:不同的來源、格式、

類型,資料內容又包含了不需要的成份。

Page 15: 大資料分析技術的濫觴 0727

計算機科學發展的三個定理

• Moore’s Law– 每 18 個月晶片效能會提高一倍

• Nielsen Law– 每 20 個月網路頻寬會增加一倍

• Kryder’s Law– 每 13 個月相同價格的儲存容量會增加一倍

15

Page 16: 大資料分析技術的濫觴 0727

16

Page 17: 大資料分析技術的濫觴 0727

樣本 = 母體 時代來臨

• 整體的資料搜集困難,導致統計學的發展

• 抽樣的隨機性決定統計的正確性

• 當樣本 = 母體,要用來處理的資料通常都很大

17

Page 18: 大資料分析技術的濫觴 0727

當資料多出 1000 倍

• 如何儲存這麼多的資料– 1000 億個網頁– 每個網頁大小 20KB– 1000 億個網頁 * 20KB = 2000TB

• 讀個檔案都要讀到天荒地老– 硬碟讀取速度: 50MB/sec– 讀完全部的網頁: 40000000 秒 = 460 天

• 更不用想要去處理它

18

Page 19: 大資料分析技術的濫觴 0727

一個便當吃不飽,可以吃二個

• 一台機器無法處理,就用多台機器同時處理– 分散式系統– 易於橫向擴充, scale-out

CPU

Memory

disk

CPU

Memory

disk

CPU

Memory

disk

CPU

Memory

disk

CPU

Memory

disk

CPU

Memory

disk

Page 20: 大資料分析技術的濫觴 0727

分散式系統的挑戰

• CAP 定理– 資料一致性: [C]onsistency– 系統可用系: [A]vailability– 分區容忍性: [P]artition Tolerance

• 全世界最大的廣告公司 Google– 提出 GFS 、 MapReduce 、 BigTable 等針對大資料

應用的分散式技術

20

Page 21: 大資料分析技術的濫觴 0727

自己打造一個分散式系統 ?

• 開發一個分散式系統很難– 主機間如何溝通– 系統的可靠性設計– …– 用人家寫好的很簡單

• Hadoop 生態系– HDFS– MapReduce– HBase– Hive…

21

Page 22: 大資料分析技術的濫觴 0727

分散式檔案系統: HDFS

• 在分散式的儲存環境裏,提供單一的目錄系統• 每個檔案被分割成許多區塊並進行異地備份

22

HDFS檔案 1 檔案 2

Page 23: 大資料分析技術的濫觴 0727

分散式檔案系統: HDFS

• 移動運算到資料端比移動資料到運算端來的成本低– 減少資料搬運,實現在地運算

23

CPU

Memory

disk

磁碟陣列

Page 24: 大資料分析技術的濫觴 0727

分散式運算系統: MapReduce

• 一個問題被分割之後而成的小問題。解決一個問題,其實就是要解決其所有子問題。

• 分而治之,各個擊破– 傳統方法

• 分而治之,”同時”各個擊破– MapReduce

• M ap :解決每個子問題• Reduce :將子問題的解答做匯總

• 針對 key/value 的資料類型做分析24

Page 25: 大資料分析技術的濫觴 0727

台灣最熱衷的全民運動

25

•台北市 10 個選區,共 100 萬票,要算出每個候選人的得票數

Id :A151 選 2

號Id :

B257 選 5號

號次 票數

1 1

1 1

3 1

… …

號次 票數

2 1

1 1

… …

號次 票數

3 1

2 1

1 1

號次 票數

1 1

3 1

3 …

號次 票數

3 1

2 1

3 1

監票人 1[ 負責 1 區 ] 監票人 2

[ 負責 2 區 ]監票人 3

[ 負責 3 區 ]監票人 4

[ 負責 4 區 ]監票人 5

[ 負責 5 區 ]

Page 26: 大資料分析技術的濫觴 0727

26

號次 票數

1 1

1 1

1 1

1 1

1 …

中選會[ 負責 全部的候選人 ]

號次 票數

5 1

1 1

7 1

… …

號次 票數

2 1

1 1

… …

號次 票數

5 1

2 1

1 1

號次 票數

1 1

5 1

3 …

號次 票數

4 1

2 1

6 1

由各投開票所送到中選會

號次 票數

2 1

2 1

2 1

2 1

2 …

號次 票數

3 1

3 1

3 1

3 1

3 …

號次 總票數

1 187532

號次 總票數

2 574821

號次 總票數

3 237647

Page 27: 大資料分析技術的濫觴 0727

日誌分析 - Mapper

27

•(k1, v1) list(k2, v2)

Page 28: 大資料分析技術的濫觴 0727

日誌分析 - Reducer

28

•(k2, list(v2)) (k3,v3)

Page 29: 大資料分析技術的濫觴 0727

凡事都有一個 BUT

• 對已經存在的一大堆資料,提供一個有效的平行運算機制– 得到結果所需的時間不夠快– 通常用在歷史資料分析– 批次性處理

• 對於快速產生的資料無法立即回應– 即時性處理

29

Page 30: 大資料分析技術的濫觴 0727

如何透過分散式系統解決 Velocity

30

大資料的 3V

Volume:資料量非常龐大,

單獨的表格、電腦主機、資料庫無法存放

Velocity:資料產生的速度太快

,以致於系統無法即時提供反應。

Variety:不同的來源、格式、

類型,資料內容又包含了不需要的成份。

Page 31: 大資料分析技術的濫觴 0727

即時性資料處理

• 對於即時資訊、訊號需要立馬提供反應

31

步驟 1 步驟 2 步驟 3 步驟 4

主機 1 主機 2 主機 3

主機 4 主機 5

Page 32: 大資料分析技術的濫觴 0727

即時處理遇上批次處理

• 由批次處理分析歷史資料• 由即時處理做出快速回應

32

Page 33: 大資料分析技術的濫觴 0727

Yahoo! 的 PinBall 系統

• 結合批次處理與即時處理的優點– 批次推荐:找出消費者有興趣的產品– 即時推荐:找出潛在的購買者

33

Page 34: 大資料分析技術的濫觴 0727

國網中心提供的服務

• 實體機器 Hadoop平台– HDFS 、 MapReduce 、 Hive 、 HBase

• 虛擬機器 Hadoop平台: EasyCloud• 建置與開發教育訓練

34

Page 35: 大資料分析技術的濫觴 0727

結語

• 大資料應用的重點在資料分析

• 不論是MapRedcue 還是 Excel ,能找出潛在資訊的工具就是好工具

• 當單一機器無法處理時,可以使用分散式系統的技術幫助我們

• 國網中心提供 Hadoop平台與教育訓練,提供國內學研界與政府機構使用

35

Page 36: 大資料分析技術的濫觴 0727

大資料在衣的應用

• 幫你決定如何如何穿衣的氣象服務

36

Page 37: 大資料分析技術的濫觴 0727

大資料在住的應用

• 幫你找房子的地理資訊務

37