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

MapReduce的基礎知識

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

1、什么是MapReduce

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

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

2、Map Reduce的優缺點

2.1 優點

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

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

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

? 適合PB級以上海量數據的離線處理: 可以實現上千臺服務器集群并發工作,提供數據處理能力。

2.2 缺點

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

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

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

3、 MapReduce進程

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

4、MapReduce編程規范

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

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

Mapper階段:

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

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

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

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

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

Reducer階段:

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

2. Reducer的輸入數據類型對應Mapper的輸出數據類型,也是KV

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

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

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

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

5、常用數據序列化類型

Java類型

Hadoop Writable類型

Boolean

BooleanWritable

Byte

ByteWritable

Int

IntWritable

Float

FloatWritable

Long

LongWritable

Double

DoubleWritable

String

Text

Map

MapWritable

Array

ArrayWritable

Null

NullWritable


責任編輯:武曉燕 來源: 今日頭條
相關推薦

2021-11-05 15:31:01

UbuntuLinux

2011-11-04 17:26:12

2013-03-27 15:56:05

Android開發Andriod繪圖

2021-08-18 16:09:39

NestJS

2009-04-17 14:22:40

XPathXML基礎

2009-09-23 11:07:11

Hibernate基礎

2010-07-16 10:53:30

Perl基礎

2015-06-01 13:35:43

數據中心DCIM

2009-04-10 09:35:00

WCDMA基礎無線網絡

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

2011-03-18 09:26:13

Iptables規則

2011-03-18 09:26:14

iptableslimit

2009-09-18 11:29:23

.NET CLR

2022-03-21 13:59:36

云計算云遷移技術

2023-07-14 15:10:17

PythonAsyncIO庫

2022-08-08 11:53:02

區塊鏈CIO

2010-04-15 13:19:29

Oracle架構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久噜噜噜精品国产亚洲综合 | 99精品一区二区三区 | 国产福利在线视频 | 欧美综合久久 | 日韩视频高清 | 欧美日韩视频在线播放 | 国产三级| 欧美激情精品久久久久久 | 在线观看免费av片 | www.精品一区 | 亚洲36d大奶网 | 黄a免费网络 | 日韩视频在线观看一区二区 | 成人精品免费视频 | 中文一区 | 蜜桃在线播放 | 人人cao| 久久九九免费 | 日韩在线小视频 | 久久成人久久 | 日本精品视频 | 欧美一区二区三区四区视频 | 欧美国产日韩一区二区三区 | 国产精品69毛片高清亚洲 | 欧美成人一区二区三区 | 国产精品国产精品国产专区不蜜 | 欧美日韩电影一区二区 | 精品九九九| 日韩av免费在线观看 | 中文字幕精品一区二区三区在线 | 成人免费视频 | 中文字幕91 | 中文字幕一区二区三区日韩精品 | 男女啪啪高潮无遮挡免费动态 | 国产精品资源在线观看 | av二区三区 | 日韩欧美国产一区二区 | 日韩三级一区 | 成人特级毛片 | 久久亚洲春色中文字幕久久久 | 欧美日韩不卡 |