- 浏览: 596262 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
package rock.lee.wordcount; import java.io.IOException; import java.util.StringTokenizer; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.Mapper; import org.apache.hadoop.mapreduce.Reducer; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; public class MyWordCount { /** * @author Rock Lee * * @Description * LongWritable,输入 * key类型 Text, * 输入value类型 * Text, 输出key类型 * IntWritable,输出vlaue类型 */ static class MyMapper extends Mapper<LongWritable, Text, Text, IntWritable> { private static final IntWritable ONE = new IntWritable(1); @Override protected void map(LongWritable key, Text value, Mapper<LongWritable, Text, Text, IntWritable>.Context context) throws IOException, InterruptedException { //读取每行的数据 String lineValue = value.toString(); //对每行数据进行分割\r\n\t StringTokenizer stzer = new StringTokenizer(lineValue); Text text = new Text(); while (stzer.hasMoreTokens()) { //获取分割后的每个值 String val = stzer.nextToken(); //key值 text.set(val); //key-->value context.write(text, ONE); } } } /** * * @author Rock Lee * * @Description */ static class MyReduce extends Reducer<Text, IntWritable, Text, IntWritable> { @Override protected void reduce(Text key, Iterable<IntWritable> values,Reducer<Text, IntWritable, Text, IntWritable>.Context context) throws IOException, InterruptedException { int sum = 0; for (IntWritable val : values) { sum+= val.get(); } context.write(key, new IntWritable(sum)); } } public static void main(String[] args) throws Exception { //获取配置信息 Configuration configuration = new Configuration(); //创建任务,设置名称 Job job = new Job(configuration,"WC"); //设置任务运行类 job.setJarByClass(MyWordCount.class); //设置Mapper和Reducer类 job.setMapperClass(MyMapper.class); job.setReducerClass(MyReduce.class); //设置输入/输出路径 FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); //设置输出结果key/value类型 job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); //提交任务,等待运行结果,并在客户端显示运行信息 boolean success = job.waitForCompletion(true); System.exit(success?0:1); } }
运行wc.jar
[root@centos data]# hadoop jar wc.jar /opt/wc/input/ /opt/wc/output Warning: $HADOOP_HOME is deprecated. 15/06/11 04:29:10 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same. 15/06/11 04:29:10 INFO input.FileInputFormat: Total input paths to process : 2 15/06/11 04:29:10 INFO util.NativeCodeLoader: Loaded the native-hadoop library 15/06/11 04:29:10 WARN snappy.LoadSnappy: Snappy native library not loaded 15/06/11 04:29:10 INFO mapred.JobClient: Running job: job_201506110402_0006 15/06/11 04:29:11 INFO mapred.JobClient: map 0% reduce 0% 15/06/11 04:29:32 INFO mapred.JobClient: map 50% reduce 0% 15/06/11 04:29:42 INFO mapred.JobClient: map 100% reduce 0% 15/06/11 04:30:05 INFO mapred.JobClient: map 100% reduce 100% 15/06/11 04:30:05 INFO mapred.JobClient: Job complete: job_201506110402_0006 15/06/11 04:30:05 INFO mapred.JobClient: Counters: 29 15/06/11 04:30:05 INFO mapred.JobClient: Job Counters 15/06/11 04:30:05 INFO mapred.JobClient: Launched reduce tasks=1 15/06/11 04:30:05 INFO mapred.JobClient: SLOTS_MILLIS_MAPS=40074 15/06/11 04:30:05 INFO mapred.JobClient: Total time spent by all reduces waiting after reserving slots (ms)=0 15/06/11 04:30:05 INFO mapred.JobClient: Total time spent by all maps waiting after reserving slots (ms)=0 15/06/11 04:30:05 INFO mapred.JobClient: Launched map tasks=2 15/06/11 04:30:05 INFO mapred.JobClient: Data-local map tasks=2 15/06/11 04:30:05 INFO mapred.JobClient: SLOTS_MILLIS_REDUCES=21707 15/06/11 04:30:05 INFO mapred.JobClient: File Output Format Counters 15/06/11 04:30:05 INFO mapred.JobClient: Bytes Written=30 15/06/11 04:30:05 INFO mapred.JobClient: FileSystemCounters 15/06/11 04:30:05 INFO mapred.JobClient: FILE_BYTES_READ=96 15/06/11 04:30:05 INFO mapred.JobClient: HDFS_BYTES_READ=260 15/06/11 04:30:05 INFO mapred.JobClient: FILE_BYTES_WRITTEN=160215 15/06/11 04:30:05 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=30 15/06/11 04:30:05 INFO mapred.JobClient: File Input Format Counters 15/06/11 04:30:05 INFO mapred.JobClient: Bytes Read=44 15/06/11 04:30:05 INFO mapred.JobClient: Map-Reduce Framework 15/06/11 04:30:05 INFO mapred.JobClient: Map output materialized bytes=102 15/06/11 04:30:05 INFO mapred.JobClient: Map input records=4 15/06/11 04:30:05 INFO mapred.JobClient: Reduce shuffle bytes=102 15/06/11 04:30:05 INFO mapred.JobClient: Spilled Records=16 15/06/11 04:30:05 INFO mapred.JobClient: Map output bytes=74 15/06/11 04:30:05 INFO mapred.JobClient: CPU time spent (ms)=820 15/06/11 04:30:05 INFO mapred.JobClient: Total committed heap usage (bytes)=413466624 15/06/11 04:30:05 INFO mapred.JobClient: Combine input records=0 15/06/11 04:30:05 INFO mapred.JobClient: SPLIT_RAW_BYTES=216 15/06/11 04:30:05 INFO mapred.JobClient: Reduce input records=8 15/06/11 04:30:05 INFO mapred.JobClient: Reduce input groups=4 15/06/11 04:30:05 INFO mapred.JobClient: Combine output records=0 15/06/11 04:30:05 INFO mapred.JobClient: Physical memory (bytes) snapshot=313032704 15/06/11 04:30:05 INFO mapred.JobClient: Reduce output records=4 15/06/11 04:30:05 INFO mapred.JobClient: Virtual memory (bytes) snapshot=1127878656 15/06/11 04:30:05 INFO mapred.JobClient: Map output records=8
转自:http://mvplee.iteye.com/blog/2218989
发表评论
文章已被作者锁定,不允许评论。
-
Hadoop namenode的fsimage与editlog详解
2017-05-19 10:04 1177Namenode主要维护两个文件,一个是fsimage,一个是 ... -
Hadoop HBase建表时预分区(region)的方法学习
2017-05-15 11:18 1189如果知道Hbase数据表的key的分布情况,就可以在建表的时候 ... -
Hadoop HBase行健(rowkey)设计原则学习
2017-05-15 10:34 1124Hbase是三维有序存储的,通过rowkey(行键),colu ... -
Hadoop HBase中split原理学习
2017-05-12 13:38 2270在Hbase中split是一个很重 ... -
Hadoop HBase中Compaction原理学习
2017-05-12 10:34 994HBase Compaction策略 RegionServer ... -
Hadoop HBase性能优化学习
2017-05-12 09:15 684一、调整参数 入门级的调优可以从调整参数开始。投入小,回报快 ... -
Hadoop 分布式文件系统学习
2017-05-10 15:34 498一. 分布式文件系统 分布式文件系统,在整个分布式系统体系中处 ... -
Hadoop MapReduce处理wordcount代码分析
2017-04-28 14:25 591package org.apache.hadoop.exa ... -
Hadoop YARN完全分布式配置学习
2017-04-26 10:27 572版本及配置简介 Java: J ... -
Hadoop YARN各个组件和流程的学习
2017-04-24 19:04 647一、基本组成结构 * 集 ... -
Hadoop YARN(Yet Another Resource Negotiator)详细解析
2017-04-24 18:30 1153带有 MapReduce 的 Apache Had ... -
Hive 注意事项与扩展特性
2017-04-06 19:31 7451. 使用HIVE注意点 字符集 Hadoop和Hive都 ... -
Hive 元数据和QL基本操作学习整理
2017-04-06 14:36 1017Hive元数据库 Hive将元数据存储在RDBMS 中,一般常 ... -
Hive 文件压缩存储格式(STORED AS)
2017-04-06 09:35 2299Hive文件存储格式包括以下几类: 1.TEXTFILE ... -
Hive SQL自带函数总结
2017-04-05 19:25 1139字符串长度函数:length ... -
Hive 连接查询操作(不支持IN查询)
2017-04-05 19:16 717CREATE EXTERNAL TABLE IF NOT ... -
Hive优化学习(join ,group by,in)
2017-04-05 18:48 1814一、join优化 Join ... -
Hive 基础知识学习(语法)
2017-04-05 15:51 896一.Hive 简介 Hive是基于 Hadoop 分布式文件 ... -
Hive 架构与基本语法(OLAP)
2017-04-05 15:16 1242Hive 是什么 Hive是建立在Hadoop上的数据仓库基础 ... -
Hadoop MapReduce操作Hbase范例学习(TableMapReduceUtil)
2017-03-24 15:37 1208Hbase里的数据量一般都 ...
相关推荐
这个文件可能是 Hadoop 官方文档中关于 WordCount 示例的一个章节,详细介绍了如何编写 Map 和 Reduce 函数,以及如何配置和运行 WordCount 作业。可能包括了 Java 代码示例,讲解如何创建 MapReduce 程序,并将其...
<groupId>com.hadoop.mapreduce</groupId> <artifactId>wordcount <version>0.0.1-SNAPSHOT <packaging>jar <name>wordcount <url>http://maven.apache.org</url> <project.build.sourceEncoding>UTF-8 ...
3. **运行WordCount程序**:调用Hadoop自带的Java程序`hadoop-mapreduce-examples-2.7.7.jar`,指定输入和输出参数。 ### 四、实验结果 成功运行WordCount后,可以在指定的输出文件夹(例如/output)中看到统计...
WordCount程序是Hadoop MapReduce的入门示例,它由两个阶段组成:Map阶段和Reduce阶段。在Map阶段,输入的文本文件被分割成多个块,然后在不同的节点上并行处理。每个节点上的Mapper将读取数据,分割出单词(通常是...
WordCount程序的主要任务是统计文本文件中每个单词出现的次数。Map阶段会将输入文本拆分成单词,生成键值对<单词, 1>。Reduce阶段则将相同的单词键值对聚合,累加对应的值,最终输出<单词, 总计次数>。 3. **...
例如,一个简单的WordCount程序可以如下编写: ```java // 定义Mapper类 public static class TokenizerMapper extends Mapper, Text, Text, IntWritable> { private final static IntWritable one = new ...
* WordCount 程序编写及代码分析 * 新建一个 MapReduce 工程 * 修改源程序 * 上传处理数据 * 运行以及结果分析 * map 程序分析 * reduce 程序分析 * WordCount 主程序分析 MapReduce 编程模型 MapReduce 编程模型...
在编译 WordCount 程序时,我们需要使用 Hadoop 1.2.1 版本下的编译工具,例如 hadoop-1.2.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-1.2.1.jar。我们可以使用以下命令来编译 WordCount 程序: ``` ...
实验中还涉及到了Hadoop自带的`wordcount`程序,这是一个经典的MapReduce示例,用于统计文本文件中各个单词出现的次数。实验者创建了输入文件,上传到HDFS(Hadoop Distributed File System),然后运行`wordcount`...
运行WordCount程序时,Hadoop会自动将数据分发到集群的各个节点上,每个节点上的TaskTracker会执行对应的Map任务。当Map任务完成,中间结果会被排序和分区,然后传递给Reduce任务。Reduce任务最终将结果写回到HDFS,...
#### 一、Hadoop简介与WordCount程序的重要性 Hadoop 是一个由Apache基金会所开发的分布式系统基础架构。它能够处理非常庞大的数据集,并且能够在集群上运行,通过将大数据分割成小数据块进行并行处理来实现高效的...
在大数据处理领域,Hadoop MapReduce 是一个至关重要的框架,它允许开发者编写分布式应用程序来处理海量数据。"Hadoop MapReduce HelloWorld 能调试" 的主题意味着我们将深入理解如何设置、运行以及调试 MapReduce ...
### Ubuntu安装Hadoop实现MapReduce里的WordCount #### 核心知识点概述 1. **Ubuntu环境下的基础配置**:包括VMware Tools的安装、JDK的安装与配置。 2. **Hadoop的安装与配置**:包括下载与解压、环境变量配置、...
- 使用`hadoop jar wordcount.jar WordCount /user/zwxq/wordcount/input/sample.txt /user/zwxq/wordcount/output`命令执行WordCount程序。 - **步骤5:查看执行结果** - 使用`hadoop fs -ls /user/zwxq/...
一个自己写的Hadoop MapReduce实例源码,网上看到不少网友在学习MapReduce编程,但是除了wordcount范例外实例比较少,故上传自己的一个。包含完整实例源码,编译配置文件,测试数据,可执行jar文件,执行脚本及操作...
关于实现,WordCount通常使用Java编写,利用Hadoop的API。主要涉及到以下几个类: 1. `Mapper`: 这是Map阶段的类,负责将输入行拆分成单词。 2. `Reducer`: 这是Reduce阶段的类,负责聚合单词计数。 3. `...
附件是一个简单的 Hadoop MapReduce 程序示例,用于统计文本文件中单词出现的次数。、 要运行这个程序,你需要将上述代码保存为 .java 文件,然后编译并打包成一个 JAR 文件。之后,你可以使用 Hadoop 的命令行工具...
大数据实验报告 Hadoop 编程实现 wordcount 单词统计程序附源码 本实验报告旨在介绍使用 Hadoop 编程实现 wordcount 单词统计程序的步骤和代码实现。实验的目的在于熟悉 Hadoop 虚拟机的安装与环境的配置,初步理解...
实验2的目的是在Hadoop平台上部署WordCount程序,以此来理解和体验云计算的基础应用。这个实验主要涉及以下几个关键知识点: 1. **Linux系统基础**:实验要求学生具备Linux系统的使用知识,包括基本的命令行操作、...
在Hadoop生态系统中,MapReduce是一种分布式计算框架,它允许用户编写并运行处理大量数据的程序。这个"mapred.zip"文件显然包含了与Hadoop MapReduce相关的测试样例、文档和源码,这对于理解MapReduce的工作原理以及...