成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MapReduce的基礎知識

開發(fā) 前端
MapReduce 是一種面向海量數(shù)據(jù)處理的一種指導思想,也是一種用于對大規(guī)模數(shù)據(jù)進行分布式計算的編程模型。

1、什么是MapReduce

1. Hadoop MapReduce 是一個 分布式計算框架,用于輕松編寫分布式應用程序,這些應用程序以可靠,容錯的方式并行處理大型硬件集群(數(shù)千個節(jié)點)上的大量數(shù)據(jù)(多TB數(shù)據(jù)集)

2. MapReduce 是一種面向海量數(shù)據(jù)處理的一種指導思想,也是一種用于對大規(guī)模數(shù)據(jù)進行分布式計算的編程模型。

2、Map Reduce的優(yōu)缺點

2.1 優(yōu)點

? MapReduce易于編程: 它簡單的實現(xiàn)一些接口,就可以完成一個分布式程序

? 良好的擴展性: 當你的計算資源不能得到滿足的時候,你可以通過簡單的增加機器來擴展它的計算能力。

? 高容錯性: MapReduce設計的初衷就是使程序能夠部署在廉價的PC機器上,這就要求它具有很高的容錯性。比如其中一臺機器掛了,它可以把上面的計算任務轉(zhuǎn)移到另外一個節(jié)點上運行,不至于這個任務運行失敗,而且這個過程不需要人工參與,而完全是由Hadoop內(nèi)部完成的。

? 適合PB級以上海量數(shù)據(jù)的離線處理: 可以實現(xiàn)上千臺服務器集群并發(fā)工作,提供數(shù)據(jù)處理能力。

2.2 缺點

? 實時計算性能差: MapReduce 主要應用于離線作業(yè),無法做到秒級或者是亞秒級別的數(shù)據(jù)響應。

? 不能進行流式計算: 流式計算的輸入數(shù)據(jù)是動態(tài)的,而MapReduce的輸入數(shù)據(jù)集是靜態(tài)的,不能動態(tài)變化。這是因為MapReduce自身的設計特點決定了數(shù)據(jù)源必須是靜態(tài)的。

? 不擅長DAG(有向無環(huán)圖)計算 多個應用程序存在依賴關(guān)系,后一個應用程序的輸入為前一個的輸出。在這種情況下,MapReduce并不是不能做,而是使用后,每個MapReduce作業(yè)的輸出結(jié)果都會寫入到磁盤,會造成大量的磁盤IO,導致性能非常的低下。

3、 MapReduce進程

一個完整的MapReduce程序在分布式運行時有三類實例進程: (1)MrAppMaster:負責整個程序的過程調(diào)度及狀態(tài)協(xié)調(diào)。 (2)MapTask:負責Map階段的整個數(shù)據(jù)處理流程。 (3)ReduceTask:負責Reduce階段的整個數(shù)據(jù)處理流程。

4、MapReduce編程規(guī)范

? 用戶編寫的程序代碼分成三個部分: Mapper、Reducer和Driver(客戶端提交作業(yè)驅(qū)動程序)

? 用戶自定義的Mapper和Reducer都要繼承各自的父類。

Mapper階段:

1. 用戶自定義的Mapper要繼承自己的父類

2. Mapper的輸入數(shù)據(jù)是KV對的形式(KV的類型可自定義)

3. Mapper中的業(yè)務邏輯寫在map()方法中

4. Mapper的輸出數(shù)據(jù)是KV對的形式(KV的類型可自定義)

5. map()方法(MapTask進程)對每一個<K,V>調(diào)用一次

Reducer階段:

1. 用戶自定義的Reducer要繼承自己的父類

2. Reducer的輸入數(shù)據(jù)類型對應Mapper的輸出數(shù)據(jù)類型,也是KV

3. Reducer的業(yè)務邏輯寫在reduce()方法中

4. ReduceTask進程對每一組相同k的<k,v>組調(diào)用一次reduce()方法

Driver: 描述的是提交Job對象需要的各種必要的信息。

MapReduce內(nèi)置了很多默認屬性,比如: 排序(key的字典序)、分組(reduce階段key相同的為一組,一組調(diào)用一次reduce處理)等,這些都和數(shù)據(jù)的K有關(guān),所以說kv的類型數(shù)據(jù)確定是及其重要的。

5、常用數(shù)據(jù)序列化類型

Java類型

Hadoop Writable類型

Boolean

BooleanWritable

Byte

ByteWritable

Int

IntWritable

Float

FloatWritable

Long

LongWritable

Double

DoubleWritable

String

Text

Map

MapWritable

Array

ArrayWritable

Null

NullWritable


責任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2021-11-05 15:31:01

UbuntuLinux

2013-03-27 15:56:05

Android開發(fā)Andriod繪圖

2011-11-04 17:26:12

2021-08-18 16:09:39

NestJS

2009-04-10 09:35:00

WCDMA基礎無線網(wǎng)絡

2010-07-16 11:22:31

Perl

2011-09-16 10:13:02

Emacs

2011-03-29 14:11:20

Cacti基礎知識

2014-08-20 10:15:45

2010-07-16 10:53:30

Perl基礎

2009-04-17 14:22:40

XPathXML基礎

2009-09-23 11:07:11

Hibernate基礎

2015-06-01 13:35:43

數(shù)據(jù)中心DCIM

2023-07-14 15:10:17

PythonAsyncIO庫

2022-08-08 11:53:02

區(qū)塊鏈CIO

2010-04-15 13:19:29

Oracle架構(gòu)

2011-03-18 09:26:13

Iptables規(guī)則

2011-03-18 09:26:14

iptableslimit

2009-09-18 11:29:23

.NET CLR

2022-03-21 13:59:36

云計算云遷移技術(shù)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 成人欧美一区二区三区1314 | 国产精品久久久久久久一区探花 | 国产精品夜色一区二区三区 | 免费中文字幕日韩欧美 | 高清视频一区二区三区 | 国产一区二区三区 | 久久精品久久久久久 | chinese中国真实乱对白 | 国产黄色在线观看 | 国产精品久久久久久久久久久久 | 久久蜜桃精品 | 欧美在线观看免费观看视频 | 日韩精品在线免费观看 | 激情久久av一区av二区av三区 | 国产成人精品久久二区二区91 | 欧美一区二区三区在线看 | 国产午夜精品一区二区三区四区 | 欧美日韩在线一区二区 | 久久偷人 | 亚洲成人精 | 国产真实精品久久二三区 | 狠狠操av| av网址在线播放 | 91精品国产综合久久精品 | 日韩视频在线观看中文字幕 | 欧美日韩一区二区三区四区 | 精品国产乱码久久久久久影片 | 一区二区三区回区在观看免费视频 | 中文字幕高清免费日韩视频在线 | 欧美视频免费在线 | 999久久久| 日韩在线一区二区 | 国产伦精品一区二区 | 久久久久国产精品一区 | av在线黄| 天堂资源最新在线 | 久久久久午夜 | 国产电影一区 | 国产日韩欧美二区 | 波多野结衣一二三区 | 国产欧美在线一区二区 |