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

Hadoop Map-Reduce使用教程

開發 架構 Hadoop
在學習Hadoop的過程中,你可能會遇到Hadoop Map-Reduce方面的問題,本文就向大家介紹一下Hadoop Map-Reduce教程,歡迎大家一起來學習Hadoop方面的知識,希望本文的介紹對你的學習有所幫助。

本節從用戶的角度出發,全面地介紹了Hadoop Map-Reduce框架的各個方面,希望通過本節介紹大家對Hadoop Map-Reduce有一定的認識,歡迎大家一起來學習。

先決條件

請先確認Hadoop被正確安裝、配置和正常運行中。

概述

Hadoop Map-Reduce是一個使用簡易的軟件框架,基于它寫出來的應用程序能夠運行在由上千個商用機器組成的大型集群上,并以一種可靠容錯的方式并行處理上T級別的數據集。
一個Map-Reduce作業(job)通常會把輸入的數據集切分為若干獨立的數據塊,由map任務(task)以完全并行的方式處理它們。框架會對map的輸出先進行排序,然后把結果輸入給reduce任務。通常作業
的輸入和輸出都會被存儲在文件系統中。整個框架負責任務的調度和監控,以及重新執行已經失敗的任務。
通常,Map-Reduce框架和分布式文件系統是運行在一組相同的節點上的,也就是說,計算節點和存儲節點通常在一起。這種配置允許框架在那些已經存好數據的節點上高效地調度任務,這可以使整個集群的網絡帶寬被非常高效地利用。

Map-Reduce框架由單獨一個masterJobTracker和每個集群節點一個slaveTaskTracker共同組成。這個master負責調度構成一個作業的所有任務,這些任務分布在不同的slave上,master監控它們的執行,重新執行已經失敗的任務。而slave僅負責執行由master指派的任務。
應用程序至少應該指明輸入/輸出的位置(路徑),并通過實現合適的接口或抽象類提供map和reduce函數。再加上其他作業的參數,就構成了作業配置(jobconfiguration)。然后,Hadoop的jobclient提交作業(jar包/可執行程序等)和配置信息給JobTracker,后者負責分發這些軟件和配置信息給slave、調度任務且監控它們的執行,同時提供狀態和診斷信息給job-client。
雖然Hadoop框架是用JavaTM實現的,但Map-Reduce應用程序則不一定要用Java來寫。
HadoopStreaming是一種運行作業的實用工具,它允許用戶創建和運行任何可執行程序(例如:Shell工具)來做為mapper和reducer。
HadoopPipes是一個與SWIG兼容的C++API(沒有基于JNITM技術),它也可用于實現Map-Reduce應用程序。

Hadoop Map-Reduce輸入與輸出

Map-Reduce框架運轉在<key,value>鍵值對上,也就是說,框架把作業的輸入看為是一組<key,value>鍵值對,同樣也產出一組<key,value>鍵值對做為作業的輸出,這兩組鍵值對的類型可能不同。
框架需要對key和value的類(classes)進行序列化操作,因此,這些類需要實現Writable接口。另外,為了方便框架執行排序操作,key類必須實現WritableComparable接口。
一個Map-Reduce作業的輸入和輸出類型如下所示:
(input)<k1,v1>->map-><k2,v2>->combine-><k2,v2>->reduce-><k3,v3>(output)

Hadoop Map-Reduce-用戶界面

這部分文檔為用戶將會面臨的Map-Reduce框架中的各個環節提供了適當的細節。這應該會幫助用戶更細粒度地去實現、配置和調優作業。然而,請注意每個類/接口的javadoc文檔依然是能提供最全面的
文檔;本文只是想起到教程的作用。
我們會先看看Mapper和Reducer接口。應用程序通常會通過提供map和reduce方法來實現它們。
然后,我們會討論其他的核心接口,其中包括:JobConf,JobClient,Partitioner,OutputCollector,Reporter,InputFormat,OutputFormat等等。
最后,我們將以通過討論框架一些有用的功能點(例如:DistributedCache,IsolationRunner等等)的方式來收尾。

Hadoop Map-Reduce核心功能描述

應用程序通常會通過提供map和reduce來實現Mapper和Reducer接口,它們組成作業的核心。
Mapper
Mapper將輸入鍵值對(key/valuepair)映射到一組中間格式的鍵值對集合。
Map是一類將輸入記錄集轉換為中間格式記錄集的獨立任務。這種轉換的中間格式記錄集不需要與輸入記錄集的類型一致。一個給定的輸入鍵值對可以映射成0個或多個輸出鍵值對。
HadoopMap-Reduce框架為每一個InputSplit產生一個map任務,而每個InputSplit是由對應每個作業的InputFormat產生的。

概括地說,對Mapper的實現者需要重寫JobConfigurable.configure(JobConf)方法,這個方法需要傳遞一個JobConf參數,目的是完成Mapper的初始化工作。然后,框架為這個任務的InputSplit中每個鍵值對調用一次map(WritableComparable,Writable,OutputCollector,Reporter)操作。之后,應用程序可以通過重寫Closeable.close()方法來執行相應的清理工作。
輸出鍵值對不需要與輸入鍵值對的類型一致。一個給定的輸入鍵值對可以映射成0個或多個輸出鍵值對。通過調用OutputCollector.collect(WritableComparable,Writable)可以收集輸出的鍵值對。

應用程序可以使用Reporter報告進度,設定應用級別的狀態消息,更新Counters(計數器),或者僅是表明自己運行正常。
框架隨后會把與一個特定key關聯的所有中間過程的值(value)分成組,然后把它們傳給Reducer以產出最終的結果。用戶可以通過JobConf.setOutputKeyComparatorClass(Class)來指定具體負責分組的Comparator。
Mapper的輸出被排序后,就被劃分給每個Reducer。分塊的總數目和一個作業的reduce任務的數目是一樣的。用戶可以通過實現自定義的Partitioner來控制哪個key被分配去哪個Reducer。
用戶可選擇通過JobConf.setCombinerClass(Class)指定一個combiner,它負責對中間過程的輸出進行本地的聚集,這會有助于降低從Mapper到Reducer數據傳輸量。
這些被排好序的中間過程的輸出結果通常是以SequenceFile格式的文件被存放的。應用程序可以通過JobConf控制對這些中間結果是否進行壓縮以及怎么壓縮,使用哪種ompressionCodec。本節關于Hadoop Map-Reduce相關內容介紹到這里。
 

【編輯推薦】

  1. Hadoop MapReduce的簡單應用Cascading詳解
  2. 如何實現Cassandra與Hadoop MapReduce的整合?
  3. Hadoop集群與Hadoop性能優化
  4. HadoopHBase實現配置簡單的單機環境
  5. 深入剖析Hadoop HBase

 

 

 

責任編輯:佚名 來源: csdn.net
相關推薦

2014-03-18 10:16:58

SVM

2015-01-08 14:52:29

google云計算分布式計算框架

2023-01-03 13:30:14

C++代碼map

2024-01-10 08:47:48

Python函數Map()

2024-11-08 12:42:34

Rustmapfilter

2021-03-22 06:28:44

reducemap函數

2024-06-04 00:20:00

Python函數

2024-07-11 12:14:20

Pythonmapfilter

2022-03-01 08:40:34

StormHadoop批處理

2021-09-29 06:03:37

JavaScriptreduce() 前端

2022-12-11 09:27:01

MapReduceHadoop框架

2021-03-05 07:45:59

JSreducemap

2025-04-11 08:00:00

函數式編程Python

2021-08-11 06:57:16

ShuffleSpark核心

2010-07-21 10:18:41

Perl map函數

2019-04-22 15:24:24

HadoopSuffleMap端

2015-08-26 10:18:40

hbase

2012-06-05 09:54:50

Windows Pho

2024-08-19 00:01:00

2020-11-06 07:53:59

MapJavaHashMap
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91视频网址 | 国产成在线观看免费视频 | 免费日韩网站 | a天堂在线| 看特级黄色片 | 在线伊人 | 夜夜爽99久久国产综合精品女不卡 | 蜜桃视频成人 | 中文字幕高清免费日韩视频在线 | 日韩一区不卡 | 岛国av一区二区三区 | 精品国产精品三级精品av网址 | 国产精品久久国产精品99 gif | 日本一本在线 | 波波电影院一区二区三区 | 在线精品一区二区三区 | 国产高清精品一区二区三区 | 亚洲色图综合 | 亚洲天堂成人在线视频 | 色婷婷av777| 精品国产一区二区三区久久狼黑人 | www.黄网 | 欧美日韩三级视频 | 激情小说综合网 | 亚洲国产精品成人 | 日韩久久久久久 | 亚洲精品综合 | 中文字幕蜜臀 | 亚洲欧美日韩一区二区 | 看av网| 国产精品1 | 免费看a | 国产精品国产成人国产三级 | 精品视频一区二区三区在线观看 | 2019中文字幕视频 | 精品日本久久久久久久久久 | 中文字幕91av | 久久久久久久久中文字幕 | 亚洲精品二三区 | 黄a大片| 一级黄色片毛片 |