Hadoop基础认识之WordCount

Hadoop基础学习(一)分析、编写并运行WordCount词频统计程序 前面已经在我的Ubuntu单机上面搭建好了伪分布模式的HBase环境,其中包括了Hadoop的运行环境。 详见我的这篇博文:http://blog.youkuaiyun.com/jiyiqinlovexx/article/details/29208703 我的目的主要是学习HBase,下一步打算学习的是将HBase作为Hadoop作业的输入和输出。 但是好像以前在南大上学时学习的Hadoop都忘记得差不 阅读详情

 大数据的核心是分布式存储HDFS和分布式计算MapReduce!

 其中分布式计算MapReduce最基础实例Wordcount如下所示:

 依赖jar包
      $HADOOP_HOME/share/hadoop/common
      $HADOOP_HOME/share/hadoop/common/lib
      $HADOOP_HOME/share/hadoop/mapreduce
      $HADOOP_HOME/share/hadoop/mapreducel/lib

1.WordCountMapper.java代码段:

package wc;

import java.io.IOException;

import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;

//                                      泛型                 k1       v1    k2       v2
public class WordCountMapper extends Mapper<LongWritable, Text, Text, IntWritable>{

	@Override
	protected void map(LongWritable key1, Text value1, Context context)
			throws IOException, InterruptedException {
		/*
		 * context 表示Mapper的上下文
		 * 上文:HDFS
		 * 下文:Mapper
		 */
		//数据: I love Beijing
		String data = value1.toString();
		
		//分词
		String[] words = data.split(" ");
		
		//输出 k2    v2
		for(String w:words){
			context.write(new Text(w), new IntWritable(1));
		}
	}

}

2.WordCountReducer.java代码段:

package wc;

import java.io.IOException;

import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;

//                                             k3      v3         k4       v4
public class WordCountReducer extends Reducer<Text, IntWritable, Text, IntWritable> {

	@Override
	protected void reduce(Text k3, Iterable<IntWritable> v3,Context context) throws IOException, InterruptedException {
		/*
		 * context是reduce的上下文
		 * 上文
		 * 下文 
		 */
		//对v3求和
		int total = 0;
		for(IntWritable v:v3){
			total += v.get();
		}
		
		//输出   k4 单词   v4  频率
		context.write(k3, new IntWritable(total));
	}

}

3.WordCountMain.java代码段:

package wc;

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;

public class WordCountMain {

	public static void main(String[] args) throws Exception {
		// 创建一个job和任务入口
		Job job = Job.getInstance(new Configuration());
		job.setJarByClass(WordCountMain.class);  //main方法所在的class
		
		//指定job的mapper和输出的类型<k2 v2>
		job.setMapperClass(WordCountMapper.class);
		job.setMapOutputKeyClass(Text.class);    //k2的类型
		job.setMapOutputValueClass(IntWritable.class);  //v2的类型
		
		//指定job的reducer和输出的类型<k4  v4>
		job.setReducerClass(WordCountReducer.class);
		job.setOutputKeyClass(Text.class);  //k4的类型
		job.setOutputValueClass(IntWritable.class);  //v4的类型
		
		//指定job的输入和输出
		FileInputFormat.setInputPaths(job, new Path(args[0]));
		FileOutputFormat.setOutputPath(job, new Path(args[1]));
		
		//执行job
		job.waitForCompletion(true);
	}

}

 

Hadoop基础-如何提交应用程序-以wordcount为例 一、基础知识 1.1 几个常见的HDFS操作命令 想要在Hadoop平台上运行MapReduce程序,首先要将数据从本地上传到HDFS集群上,通常涉及到表1-1中的几个命令。 表1-1本文要用到的几个HDFS命令 1.2 Hadoop 自带的例子程序 图1-1Hadoop-2.7.7自带的例子程序 在$HADOOP_HOME目录下执行命令: hadoop jarshare/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar 可显示Hadoop-2.7.7 阅读详情

相关推荐

hadoop基础----hadoop实战(三)-----hadoop运行MapReduce---对单词进行统计--经典的自带例子wordcount

ass

直到世界的尽头 6434

Hadoop WordCount详细分析

import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.util.GenericOptionsParser; public class WordCoun

晴天的专栏 1751

Hadoop基础教程:WordCount项目实战

在处理大数据时,分布式文本处理是不可或缺的技术。随着数据量的持续增长,传统的单机处理方法已无法满足需求,因此分布式技术应运而生。分布式文本处理涉及将文本数据切分成多个小块,然后分布到多个计算节点上进行处理。这种方式不仅可以有效利用计算资源,提升数据处理速度,而且对于容错性和可扩展性也有显著提高。MapReduce框架就是为了解决大数据分布式处理而诞生的,而WordCount项目作为MapReduce框架的经典入门案例,深入学习其工作原理对于理解分布式计算具有重要意义。

weixin_30476025的博客 916

Hadoop学习笔记之WordCount

        WordCount是hadoop的一个入门程序,其地位相当与java中的HelloWorld,它使用map/reduce对文本中出现的单词进行计数。       程序分三个部分:     Map类  Reduce类 和主函数     Map类:Map类继承Mapreducebase类并实现了Mapper接口,其中 MapReduceBase类:实现了Mapper和Red...

rootke的专栏 255

Hadoop开发WordCount源码详细讲解

Hadoop开发WordCount源码程序详细讲解,每一行都带注释说明。

Hadoop的WordCount实例代码

关于Hadoop的WordCount实例代码,能够实现实现单词计数。

数据挖掘实验:使用 Hadoop 实现 WordCount 应用

数据挖掘实验:使用 Hadoop 实现 WordCount 应用

ProgramNovice的博客 9155

关于示波器测485串口波特率的使用方法总结

之前没有用过示波器,更不知道怎么来测试串口的波特率,结果遇到一客户说我们产品的波特率达不到9600,只有9100,为了验证这一说法,我们只能自己测试一下。说明:产品通过485接电脑,用串口调试助手接收都是没有问题的,用客户的设备接收就有问题。 下面说一下示波器测波特率的方法步骤: 显示高低跳变的情况: 1.先把示波器表笔的地线(夹子)夹485B,表笔夹485A。 2.往串口发送数据:如发送

lianxue1986的专栏 3万+

实时wordcount程序

package gh.spark.SparkStreaming; import java.util.Arrays; import java.util.Iterator; import java.util.List; import org.apache.spark.SparkConf; import org.apache.spark.api.java.function.FlatMapF

大唐帝国—前营 559

Unity URP半透明物体渲染避坑指南:双面渲染与深度写入的实战技巧

本文深入探讨了Unity URP中半透明物体自交叠渲染问题的核心根源与解决方案。针对模型自身交叠导致的排序错误,文章提供了双面渲染与深度写入两种实战技巧,详细分析了其实现原理、性能开销及适用场景,帮助开发者根据项目需求选择最优方案,有效提升玻璃、水体等材质的视觉表现。

sunny的博客 545

星座SAR动目标检测(GMTI)

参考代码 星座SAR动目标检测 www.youwenfan.com/contentcsg/52399.html。

feifeigo123的博客 549

MapReduce-WordCount案例

有上一篇讲解了MapReduce运行原理后,相信大家能理解了,本篇以wordcount为案例了解下MapReduce编程的乐趣... 1 MR参考代码 1 .1Mapper代码 package com.mr.cf.wordcount; import java.io.IOException; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hado

飞少fly的博客 273

emir分析RC corner如何选择

power analysis阶段 RC corner的选择

weixin_61954252的博客 3596

【Hadoop】Hadoop mr wordcount基础

1、基本概念 2、Mapper package com.ares.hadoop.mr.wordcount; import java.io.IOException; import java.util.StringTokenizer; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io....

weixin_33894992的博客 182

自动驾驶算法/规划决策控制算法面经汇总、学习路线、面经心得

自动驾驶算法学习路线,面试求职大全

qq_41667348的博客 1万+

Agisoft Metashape 基于RTK技术的无人机航测免像控技术流程

利用无人机进行航空摄影测量,其使用方便、快速获得成果,已经是测绘行业外业生产的主要方式。RTK定位系统的出现,其厘米级的定位系统,使得航测无人机在作业时,能够准确获取拍照时的GPS位置,能够大量减少像控点,即使不使用像控点也能满足规范对精度的要求。可以有效解决特殊地形(如山川、峡谷、河流、沼泽、水库等)外业人员很难布设像控点的情况。

penglu366366的博客 2188

Linux(Hadoop基础(概述、linux环境下搭建、独立操作、伪分布式、WordCount示例))

文章目录Hadoop基础(一)概述(二)搭建Hadoop1. 前提环境2. 下载安装(三)Hadoop的独立操作(四)Hadoop的伪分布式1. 编写配置2. 设置无密码SSH3. 启动分布式文件系统(五)示例: WordCount v1.01. 解压安装IDEA2. 创建maven项目3. 测试代码 Hadoop基础 (一)概述 Hadoop是一个由Apache基金会所开发的分布式系统基础架构...

Pluto.的博客 372

【一看就会】Autoware.universe的“规划”部分源码梳理【0】——Planning综述(持续更新中)

单独开一篇planning综述,作为整个规划系列的开篇。本篇综述会持续更新,希望能帮助大家更好的整体理解规划部分。这个部分会持续更新。

weixin_48386130的博客 1966

【Hadoop基础教程】Hadoop之单词计数wordcount

单词计数是最简单也是最能体现MapReduce思想的程序之一,可以称为MapReduce版“Hello World”,该程序的完整代码可以在Hadoop安装包的src/example目录下找到。单词计数主要完成的功能:统计一系列文本文件中每个单词出现的次数,如下图所示。本blog将通过分析WordCount源码来帮助大家摸清MapReduce程序的基本结构和运行机制。 开发环境

AnneQiQi的博客 5312

腾讯微搭低代码开发实战电子书:医疗挂号小程序

本书通过一个完整的“医疗挂号小程序”项目,深度讲解腾讯微搭(WeDa)低代码平台在复杂业务场景下的实战应用。从登录体系搭建、用户注册,到就诊人管理、科室排班与预约下单,全程遵循“配置+逻辑+实战”的思路,带领读者从零实现具备商业级可用性的医疗挂号小程序,掌握低代码开发的核心技巧与业务落地能力。

低代码布道师的博客 954

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码

            Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码                                               作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。     本文主要是记录一写我在学习MapReduce时的一些琐碎的学习笔记,方便自己以后查看。在调用API的时候,可...

weixin_33832340的博客 376

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

零基础入门Hadoop:IntelliJ IDEA远程连接服务器中Hadoop运行WordCount

通过今天的分享,我们简单地了解了大数据处理中一个经典的应用——WordCounter,并通过Hadoop框架的实践,展示了如何使用MapReduce进行分布式计算。虽然表面上看,WordCounter是一个相对简单的程序,但它却揭示了大数据处理中的核心思想。从安装配置到编写代码,我们一步步走过了Hadoop集群的搭建过程,希望通过这篇文章,你能对大数据应用开发,特别是Hadoop框架下的MapReduce编程,获得一些启发和帮助。

努力的小雨,一个阳光向上的博客不仅仅给你知识更希望带给你快乐 1184

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

hadoop yarn 获取日志_Hadoop基础如何提交应用程序以wordcount为例

在描述任务提交之前,有必要先了解一下部分基础知识。一、基础知识此处基础知识涉及HDFS基本操作命令、Hadoop自带例子程序和Yarn的监控界面。1.1 几个常见的HDFS操作命令想要在Hadoop平台上运行MapReduce程序,首先要将数据从本地上传到HDFS集群上,通常涉及到表1-1中的几个命令。表1-1本文要用到的几个HDFS命令序号命令功能1hdfs dfs -mkdir ...

weixin_39831039的博客 305
上一篇: HDFS操作命令
下一篇: Linux网卡配置详解
Joy_cj
博客等级 码龄9年 13粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值