1. 程式人生 > >我是怎麼玩hadoop的(一)--執行自己的mapreduce

我是怎麼玩hadoop的(一)--執行自己的mapreduce

 單拿標題來講,看來有點裝x,但是沒有惡意,知識記錄自己的學習過程,希望能碰到一些志同道合的人,一起討論。

首先,我們要理解:什麼是hadoop?給人的第一感覺就一個字“雲”,似乎帶著點神奇的色彩,不可否認hadoop有他獨特的地方,但也沒那麼神乎其神。他是一個開源框架,可以編寫和執行分散式應用處理大規模資料,通過建立hadoop叢集和執行一些mapred例子,我所感到只有就個字:“方便”、“健壯”、“可擴充套件”、“簡單”。hadoop自身帶有檔案系統,可以處理大規模資料,相比較下:

會和sql資料庫有什麼區別呢?

1.隨著資料量的增大,提高資料庫配置的開銷越來越大,2倍於pc機的伺服器的價格遠遠高於2臺pc機的價格,這就是hadoop的優勢,增加一個電腦(節點),要比一次伺服器升級划算的多。

2.用鍵值代替了關係表,個人感覺在大規模資料面前的資料處理,鍵值對跟為靈活。

如何理解hadoop的mapreduce:

概念性的東西聽著有些乏味:下面我們動手改一個自己的mapreduce程式:

我們都知道hadoop自帶例子中有一個wordcount的例子,下面我們就改寫這個例子,執行一個屬於我們自己的mapreduce程式;

1、首先要找到wordcount的原始碼,在hadoop目錄下的src/examples/org/apache/hadoop/examples/WordCount.java

2、建立資料夾並且把wordcount檔案拷出來:

mkdir playground

mkdir playground/src

mkdir playground/classes

cp src/examples/org/apache/hadoop/examples/WordCount.java playground/src/WordCount.java


3、在hadoop框架中編譯和執行這個副本

javac -classpath hadoop-0.20.2-core.jar:lib/commons-cli-1.2.jar -d playground/classes/ playground/src/WordCount.java 
[[email protected] hadoop-0.20.2]$ jar -cvf playground/wordcount.jar -C playground/classes/ .
標明清單(manifest)
增加:org/(讀入= 0) (寫出= 0)(儲存了 0%)
增加:org/apache/(讀入= 0) (寫出= 0)(儲存了 0%)
增加:org/apache/hadoop/(讀入= 0) (寫出= 0)(儲存了 0%)
增加:org/apache/hadoop/examples/(讀入= 0) (寫出= 0)(儲存了 0%)
增加:org/apache/hadoop/examples/WordCount.class(讀入= 1911) (寫出= 996)(壓縮了 47%)
增加:org/apache/hadoop/examples/WordCount$IntSumReducer.class(讀入= 1789) (寫出= 746)(壓縮了 58%)
增加:org/apache/hadoop/examples/WordCount$TokenizerMapper.class(讀入= 1903) (寫出= 819)(壓縮了 56%)


4、執行你的程式,出現如下資訊說明執行成功:

[[email protected] hadoop-0.20.2]$ bin/hadoop jar playground/wordcount.jar org.apache.hadoop.examples.WordCount input my_output
11/12/05 21:33:30 INFO input.FileInputFormat: Total input paths to process : 1
11/12/05 21:33:31 INFO mapred.JobClient: Running job: job_201111281334_0014
11/12/05 21:33:32 INFO mapred.JobClient:  map 0% reduce 0%
11/12/05 21:33:41 INFO mapred.JobClient:  map 100% reduce 0%
11/12/05 21:33:53 INFO mapred.JobClient:  map 100% reduce 100%
11/12/05 21:33:55 INFO mapred.JobClient: Job complete: job_201111281334_0014
11/12/05 21:33:55 INFO mapred.JobClient: Counters: 17
11/12/05 21:33:55 INFO mapred.JobClient:   Job Counters 
11/12/05 21:33:55 INFO mapred.JobClient:     Launched reduce tasks=1
11/12/05 21:33:55 INFO mapred.JobClient:     Launched map tasks=1
11/12/05 21:33:55 INFO mapred.JobClient:     Data-local map tasks=1
11/12/05 21:33:55 INFO mapred.JobClient:   FileSystemCounters
11/12/05 21:33:55 INFO mapred.JobClient:     FILE_BYTES_READ=25190
11/12/05 21:33:55 INFO mapred.JobClient:     HDFS_BYTES_READ=44253
11/12/05 21:33:55 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=50412
11/12/05 21:33:55 INFO mapred.JobClient:     HDFS_BYTES_WRITTEN=17876
11/12/05 21:33:55 INFO mapred.JobClient:   Map-Reduce Framework
11/12/05 21:33:55 INFO mapred.JobClient:     Reduce input groups=1857
11/12/05 21:33:55 INFO mapred.JobClient:     Combine output records=1857
11/12/05 21:33:55 INFO mapred.JobClient:     Map input records=734
11/12/05 21:33:55 INFO mapred.JobClient:     Reduce shuffle bytes=25190
11/12/05 21:33:55 INFO mapred.JobClient:     Reduce output records=1857
11/12/05 21:33:55 INFO mapred.JobClient:     Spilled Records=3714
11/12/05 21:33:55 INFO mapred.JobClient:     Map output bytes=73129
11/12/05 21:33:55 INFO mapred.JobClient:     Combine input records=7696
11/12/05 21:33:55 INFO mapred.JobClient:     Map output records=7696
11/12/05 21:33:55 INFO mapred.JobClient:     Reduce input records=1857

5、檢視結果,在檔案系統的my_output中

6、最後大家可以任意更改wordcount.java裡面的檔案,達到自己想要的效果。

相關推薦

是怎麼hadoop的()--執行自己mapreduce

 單拿標題來講,看來有點裝x,但是沒有惡意,知識記錄自己的學習過程,希望能碰到一些志同道合的人,一起討論。 首先,我們要理解:什麼是hadoop?給人的第一感覺就一個字“雲”,似乎帶著點神奇的色彩,不可否認hadoop有他獨特的地方,但也沒那麼神乎其神。他是一個開源框架,可

步跟學習hadoop(2)----hadoop eclipse外掛安裝和執行wordcount程式

本部落格hadoop版本是hadoop  0.20.2。 安裝hadoop-0.20.2-eclipse-plugin.jar 下載hadoop-0.20.2-eclipse-plugin.jar檔案,並新增到eclipse外掛庫,新增方法很簡單:找到eclipse安裝目錄

步跟學習hadoop(5)----hadoop Map/Reduce教程(2)

submit calc run submitjob des conf sam ner 打開 Map/Reduce用戶界面 本節為用戶採用框架要面對的各個環節提供了具體的描寫敘述,旨在與幫助用戶對實現、配置和調優進行具體的設置。然而,開發時候還是要相應著API進行

hadoop學習筆記(十):MapReduce數據類型

筆記 ash all 記錄 write 一個 操作 png bool 一、序列化 1 hadoop自定義了數據類型,在hadoop中,所有的key/value類型必須實現Writable接口。有兩個方法,一個是write,一個是readFileds。分別用於讀(反序列化操

IGFrame()HelloWorld

各位轉載請註明出處,謝謝合作~作者:ioozhuangzi 各位好~寫了N久的Java2D遊戲架子IGFrame終於扔出來了。雖然寫了很久,但現在回頭看看,其實也沒啥複雜的東西,只是自己繞的彎路太多了而已o(∩_∩)o... 書歸正傳,且說自己寫架子,自己用,實在沒啥意思,扔出了大家圍觀一下

線上執行的Java應用出故障了!慌得匹!

線上執行的Java應用突然沒有響應、響應緩慢,程序突然消失,遇到這些情況應該如何應對呢? 今天教大家如何應對線上故障! 歡迎工作一到五年的Java工程師朋友們

大資料技術學習筆記之Hadoop框架基礎2-MapReduce程式設計及執行流程

一、回顧     -》hadoop的功能?         -》海量資料儲存和海量計算問題         -》分散式檔案儲存框架hdfs和

【JAVA秒會技術之轉多執行緒】多執行緒那些事兒(

多執行緒那些事兒(一) 現在只要出去面試,關於“Java多執行緒”的問題,幾乎沒有一家單位不問的,可見其重要性。於是博主抽空研究了一下,確實很有意思!以下是我綜合整理了網上的各種資料,和個人的一些理解,寫的一篇總結博文,僅供學習、交流。 (一)多執行緒的概念      

hadoop執行mapreduce.job: Running job後停止執行

版本資訊:Hadoop2.7.1, openjdk 8,執行在VirtualBox 5.0.6的Ubuntu 15.04上,基本上是目前(2015.10.13)最新的版本; 問題,在偽分佈環境下,執行 bin/hadoop jarshare/hadoop/mapreduce

使用命令列編譯打包執行自己MapReduce程式 hadoop2.7.3

網上的 MapReduce WordCount 教程對於如何編譯 WordCount.java 幾乎是一筆帶過… 而有寫到的,大多又是 0.20 等舊版本版本的做法,即 javac -classpath /usr/local/hadoop/hadoop-1.0.1/ha

跟著阿里p7一起學java高併發 - 第18天:轉java執行緒池,這篇就夠了

java中的執行緒池,這一篇就夠了 java高併發系列第18篇文章。 本文主要內容 什麼是執行緒池 執行緒池實現原理 執行緒池中常見的各種佇列 自定義執行緒建立的工廠 常見的飽和策略 自定義飽和策略 執行緒池中兩種關閉方法有何不同 擴充套件執行緒池 合理地配置執行緒池 執行緒池中執行緒數量的配置 什麼是執

Blazor帶前端()

寫在前面 曾經我和前端朋友聊天的時候,我說我希望有一天可以用C#寫前端,不過當時更多的是美好的想象,而現在這一切正變得真實……   什麼是Blazor 我們知道瀏覽器可以正確解釋並執行JavaScript程式碼,那麼瀏覽器是如何執行C#程式碼的呢?答案是通過WebAssembly。通過WebAsse

關於多執行緒中拋異常的這個面試題再說最後次!

這裡why的第 66 篇原創文章 一道面試題 我一年前寫過這篇文章《有的執行緒它死了,於是它變成一道面試題》,這是早期作品,遣詞造句,排版行文都有一點稚嫩,但是不知咋地,還是有很多人看過。 甚至已經進入了某網紅公司的面試題庫裡面。 所以我後面應該會重寫一下,翻新翻新,再補充一點新的東西進去。 現在先回

【記憤怒的次】通過灌水進行註冊北京進京證

gecko false ddl ddc 後臺運行 height kit 對手 狀態碼   背景:     “北京交警APP”可以網上辦理進京證,但是最近每次在該APP辦理進京證,總會提示“排隊人數過多”。很是苦惱,想一探究竟,到底是真的排隊過多,偶有成功,還是總會彈出該錯誤

hadoop()實現免密登陸

etc fig 技術 開啟 .com ima sshd hdfs http 首先開啟linux sshd 服務區停用防火墻,命令如下:   然後去掉紅框中的#      重啟服務    創建hadoop 用戶(abcd_123是用戶密碼,這個可以自己隨意改)   

【征文】Hadoop十周年特別策劃——Hadoop不得不說的故事

strong 博客 線上 發布 展示 電話 clas master col 2016年是Hadoop的十周年生日,在今年,CSDN將以技術和實戰為主題與大家共同為Hadoop慶生。其主要內容包含Hadoop專業詞典、系列視頻技術解析、Hadoop行業實踐、線上問答、

Hadoop體系結構之 Mapreduce

框架 多個 不同 merge 單獨 ref order class task MR框架是由一個單獨運行在主節點上的JobTracker和運行在每個集群從節點上的TaskTracker共同組成。主節點負責調度構成一個作業的所有任務,這些任務分布在不同的不同的從節點上。主節

Hadoop學習筆記:MapReduce框架詳解

object 好的 單點故障 提高 apr copy 普通 exce 代表性 開始聊mapreduce,mapreduce是hadoop的計算框架,我學hadoop是從hive開始入手,再到hdfs,當我學習hdfs時候,就感覺到hdfs和mapreduce關系的緊密。這個

曾七次鄙視自己的靈魂

靈魂 填充 選擇 自己 正是 二次 三次 自由 也會 我曾七次鄙視自己的靈魂:第一次,當它本可進取時,卻故作謙卑;第二次,當它空虛時,用愛欲來填充;第三次,在困難和容易之間,它選擇了容易;第四次,它犯了錯,卻借由別人也會犯錯來寬慰自己;第五次,它自由軟弱,卻把它認為是生命的

ABBYY FineReader去他的光棍節,的雙十

net 打折 圖文教程 ner -1 同時 圖文 會有 免費下載 今天就是雙十一,全民剁手的雙十一,一年僅一次的雙十一,不只是半價的雙十一.....此時此刻,多少錢拿起手機在瘋狂購物,又有多少人死守著電腦,不敢怠慢一丁點機會,買著買著購物車就空了,然後才發現,咦!超額了,早