hadoop入門經典:wordcount程式碼詳解
package cn.yzx.bigdata.mr.wcemo; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; /* * 為啥要main方法:先啟動自己,然後把整個程式提交到叢集 * 相當於yarn叢集的客戶端,yarn去分配運算資源,然後才能啟動 * 以為是yarn的客戶端,所以要再次封裝mr程式的相關執行引數,指定jar包 * 最後提交給yarn */ public class WordcountDriver { public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException { /* * import org.apache.hadoop.mapreduce.xxxx * import org.apache.hadoop.mapred.xxx mapred是老版本的,我們用MapReduce */ Configuration conf = new Configuration(); /*conf.set("mapreduce.framework.name", "yarn"); conf.set("yarn.resourcemanager.hostname","hadoop01");*/ //給一些預設的引數 Job job = Job.getInstance(conf); //指定本程式的jar包所在的本地路徑 把jar包提交到yarn job.setJarByClass(WordcountDriver.class); /* * 告訴框架呼叫哪個類 * 指定本業務job要是用的mapper/Reducer業務類 */ job.setMapperClass(WordcountMapper.class); job.setReducerClass(WordcountReduce.class); /* * 指定mapper輸出資料KV型別 */ job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(IntWritable.class); //指定最終的輸出資料的kv型別 ,有時候不需要reduce過程,如果有的話最終輸出指的就是指reducekv型別 job.setOutputKeyClass(Text.class); job.setMapOutputValueClass(IntWritable.class); // 指定job的檔案輸入的原始目錄 //paths指你的待處理檔案可以在多個目錄裡邊 //第一個引數是你給那個job設定 後邊的引數 逗號分隔的多個路徑 路徑是在hdfs裡的 FileInputFormat.setInputPaths(job, new Path(args[0])); // 指定job 的輸出結果所在的目錄 FileOutputFormat.setOutputPath(job, new Path(args[1])); /* * 找yarn通訊 * 將job中配置的引數, 以及job所用的java類所在的jar包提交給yarn去執行 */ /*job.submit();*/ // 引數表示程式執行完,告訴我們是否執行成功 boolean res = job.waitForCompletion(true); System.exit(res?0:1); } }
1.2 WordcountMapper
相關推薦
hadoop入門經典:wordcount程式碼詳解
package cn.yzx.bigdata.mr.wcemo; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.ap
MVC入門——經典MVC登入例項詳解--附完整程式碼
參考《JavaWeb開發實戰經典》 MVC是核心,是最重要的基礎! “有不少人一直問,是不是應該把框架(Struts、Spring、Hibernate等成為開發框架)開發作為學習重點,其實:框架只是一種很簡單的應用,而整個JavaEE的核心並不在框
Hadoop學習筆記:MapReduce框架詳解
object 好的 單點故障 提高 apr copy 普通 exce 代表性 開始聊mapreduce,mapreduce是hadoop的計算框架,我學hadoop是從hive開始入手,再到hdfs,當我學習hdfs時候,就感覺到hdfs和mapreduce關系的緊密。這個
SparkStream WordCount程式碼詳解
下面我要引用的程式碼來自於sparkStream的官網案例,案例內容為從kafka讀取資料進行wordcount計算 package org.apache.spark.examples.streaming; import java.util.HashMap; import java.util.
C++卷積神經網路例項:tiny_cnn程式碼詳解(6)——average_pooling_layer層結構類分析
在之前的博文中我們著重分析了convolutional_layer類的程式碼結構,在這篇博文中分析對應的下采樣層average_pooling_layer類: 一、下采樣層的作用 下采樣層的作用理論上來說由兩個,主要是降維,其次是提高一點特徵的魯棒性。在LeNet-5
SpringCloud入門(八): Zuul 過濾器詳解
Zuul 過濾器 zuul 有四種過濾器型別,分別是: 1、Pre:過濾器在請求被路由之前呼叫。我們可利用這種過濾器實現身份驗證、在叢集中選擇請求的微服務、記錄除錯資訊等; 2、Routing:過濾器將請求路由到微服務。這種過濾器用於構建傳送給微服務的請求,並使用Apache HttpClient或Netfi
進階版Venn plot:Upset plot入門實戰程式碼詳解——UpSetR包介紹
網上已有一些帖子講解了Upset plot的背景知識和實現方法,本文旨在從實戰角度出發,解讀Upset plot實現的一些途徑及其優劣勢以及如何通過upsetR包實現Upset plot的繪製,並提供程式碼和input格式示例。另博主在使用
《OpenCV3程式設計入門》——5.2.3 addWeighted()函式(線性混合)(附程式碼詳解)
addWeighted()函式用來計算兩個陣列(影象陣列)的加權和。 格式如下: void addWeighted(InputArray src1, double alpha, InputArray src2, double beta, double gamma, OutputArray
koa2+webpack4+React+pm2純手工架子搭建,SSR專案入門教程以及流程指引詳解:手把手教你實現服務端首屏渲染SSR專案
本人全職喵姐,兼職程式設計師,才疏學淺,大神如果有好的idea能指點迷津的話感激不盡。以下專案為純手工搭建的Webpack4+React+KOA2+PM2前端豆腐渣工程,房子的簡陋模型,入門教程以及流程指引。後續要精裝修還是蓋茅草屋看你自己了……/微微笑(自帶表情包)……先學習…...
upset plot入門實戰程式碼詳解——UpSetR包介紹
網上已有一些帖子講解了Upset plot的背景知識和實現方法,本文旨在從實戰角度出發,解讀Upset plot實現的一些途徑及其優劣勢以及如何通過upsetR包實現Upset plot的繪製,並提供程式碼和input格式示例。另博主在使用中發現一處報錯,尚不
【Gans入門】Pytorch實現Gans程式碼詳解【70+程式碼】
簡述 由於科技論文老師要求閱讀Gans論文並在網上找到類似的程式碼來學習。 程式碼來源 程式碼含義概覽 這個大致講講這個程式碼實現了什麼。 這個模型的輸入為:一些資料夾雜在x2x^2x2和2x2+12x^2+12x2+1這個兩個函式之間的一些資料。這個用線性
【TensorFlow】TFRecord資料集的製作:讀取、顯示及程式碼詳解
在跑通了官網的mnist和cifar10資料之後,筆者嘗試著製作自己的資料集,並儲存,讀入,顯示。 TensorFlow可以支援cifar10的資料格式, 也提供了標準的TFRecord 格式。 tensorflow 讀取資料, 官網提供了以下三種方法: 1 Feeding: 在
學習筆記:強化學習之A3C程式碼詳解
寫在前面:我是根據莫煩的視訊學習的Reinforce learning,具體程式碼實現包括Q-learning,SARSA,DQN,Policy-Gradient,Actor-Critic以及A3C。(莫凡老師的網站:https://morvanzhou.git
Hadoop之WordCount實戰詳解
WorldCount可以說是MapReduce中的helloworld了,單詞計數主要完成的功能是:統計一系列文字檔案中每個單詞出現的次數,通過完成這個簡單程式讓讀者摸清 MapReduce 程式的基本結構。 特別是對於每一個階段的函式執行所產生的鍵值對。這裡對
Android四大元件之一 廣播接受者入門(附程式碼詳解)
BroadCastReceiver 廣播機制 BroadcastRecevier是Android的四大元件之一。一、廣播的分類: 1.普通廣播 當手機應用程式中一旦觸發了某件事情,那麼就會發送一段廣播,這段廣播時非同步的,能夠被所有的廣播監聽者接收,進行處理。
MyBatis學習(1):Mybatis使用詳解和入門案例
前言 MyBatis和Hibernate一樣,是一個優秀的持久層框架。已經說過很多次了,原生的jdbc操作存在大量的重複性程式碼(如註冊驅動,建立連線,建立statement,結果集檢測等)。框架的作用就是把這些繁瑣的程式碼封裝,這樣可以讓程式設計師專注於sq
Faster RCNN程式碼詳解(三):資料處理的整體結構
在上一篇部落格中介紹了Faster RCNN網路結構的構建:Faster RCNN程式碼詳解(二):網路結構構建。網路結構是Faster RCNN演算法中最重要兩部分之一,這篇部落格將介紹非常重要的另一部分:資料處理。 資料處理是通過AnchorLoader類
Faster RCNN程式碼詳解(四):關於anchor的前世今生
在上一篇部落格中介紹了資料處理的整體結構:Faster RCNN程式碼詳解(三):資料處理的整體結構。這一篇部落格介紹資料處理的細節——關於anchor的前世今生,程式碼在指令碼的:~/mx-rcnn/rcnn/io/rpn.py的assign_anchor函式
TensorFlow 從入門到精通(六):tensorflow.nn 詳解
看過前面的例子,會發現實現深度神經網路需要使用 tensorflow.nn 這個核心模組。我們通過原始碼來一探究竟。 # Copyright 2015 Google Inc. All Rights Reserved. # # Licensed under th
ROS 自定義訊息釋出器和訂閱器測試 +程式碼詳解(入門級)
既對ros tutorial 上的例子有了一定的瞭解之後,今天對釋出器和訂閱器程式碼(http://wiki.ros.org/cn/ROS/Tutorials/WritingPublisherSub