- 浏览: 40886 次
- 性别:
- 来自: 北京
最新评论
配置linux的hadoop环境比较繁琐,为了方便的编写测试mapreduce程序。本文将讲解如何在windows运行mapreduce程序。步骤如下:
1、首先让window可运行unix命令,我们做如下配置:
在环境变量PATH中配置D:\UnxUtils\bin;D:\UnxUtils\usr\local\wbin(UnxUtils见附件)
2、编写mapreduce程序
a>新建一个java程序依赖hadoop-core-0.20.jar(我用的maven它会传递依赖其他jar包)
完整的依赖如下:
b>Mapreduce程序:
功能非常简单就是计算取每年的数字的平均值。
输入文件(D:\mr\in\a.txt)内容如下:
20140301 12
20140302 12
20140304 12
20140305 12
20140306 12
20140307 12
20140308 12
20140309 12
20140310 12
20130301 13
20130302 13
20130304 13
mapper类(MyMapper):
reduce类(MyReduce):
运行Mapreduce程序的:
运行结果:
2014-4-20 9:45:57 org.apache.hadoop.metrics.jvm.JvmMetrics init
信息: Initializing JVM Metrics with processName=JobTracker, sessionId=
2014-4-20 9:45:57 org.apache.hadoop.mapred.JobClient configureCommandLineOptions
警告: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
2014-4-20 9:45:57 org.apache.hadoop.mapred.JobClient configureCommandLineOptions
警告: No job jar file set. User classes may not be found. See JobConf(Class) or JobConf#setJar(String).
2014-4-20 9:45:57 org.apache.hadoop.mapreduce.lib.input.FileInputFormat listStatus
信息: Total input paths to process : 1
2014-4-20 9:45:57 org.apache.hadoop.mapred.JobClient monitorAndPrintJob
信息: Running job: job_local_0001
2014-4-20 9:45:57 org.apache.hadoop.mapreduce.lib.input.FileInputFormat listStatus
信息: Total input paths to process : 1
2014-4-20 9:45:57 org.apache.hadoop.mapred.MapTask$MapOutputBuffer <init>
信息: io.sort.mb = 100
2014-4-20 9:45:57 org.apache.hadoop.mapred.MapTask$MapOutputBuffer <init>
信息: data buffer = 79691776/99614720
2014-4-20 9:45:57 org.apache.hadoop.mapred.MapTask$MapOutputBuffer <init>
信息: record buffer = 262144/327680
MAA|mapper----2014========>12
MAA|mapper----2014========>12
MAA|mapper----2014========>12
MAA|mapper----2014========>12
MAA|mapper----2014========>12
MAA|mapper----2014========>12
MAA|mapper----2014========>12
MAA|mapper----2014========>12
MAA|mapper----2014========>12
MAA|mapper----2013========>13
MAA|mapper----2013========>13
MAA|mapper----2013========>13
2014-4-20 9:45:57 org.apache.hadoop.mapred.MapTask$MapOutputBuffer flush
信息: Starting flush of map output
2014-4-20 9:45:57 org.apache.hadoop.mapred.MapTask$MapOutputBuffer sortAndSpill
信息: Finished spill 0
2014-4-20 9:45:57 org.apache.hadoop.mapred.Task done
信息: Task:attempt_local_0001_m_000000_0 is done. And is in the process of commiting
2014-4-20 9:45:57 org.apache.hadoop.mapred.LocalJobRunner$Job statusUpdate
信息:
2014-4-20 9:45:57 org.apache.hadoop.mapred.Task sendDone
信息: Task 'attempt_local_0001_m_000000_0' done.
2014-4-20 9:45:57 org.apache.hadoop.mapred.LocalJobRunner$Job statusUpdate
信息:
2014-4-20 9:45:57 org.apache.hadoop.mapred.Merger$MergeQueue merge
信息: Merging 1 sorted segments
2014-4-20 9:45:57 org.apache.hadoop.mapred.Merger$MergeQueue merge
信息: Down to the last merge-pass, with 1 segments left of total size: 134 bytes
2014-4-20 9:45:57 org.apache.hadoop.mapred.LocalJobRunner$Job statusUpdate
信息:
MAA|reduce----2013========>13
MAA|reduce----2014========>12
2014-4-20 9:45:57 org.apache.hadoop.mapred.Task done
信息: Task:attempt_local_0001_r_000000_0 is done. And is in the process of commiting
2014-4-20 9:45:57 org.apache.hadoop.mapred.LocalJobRunner$Job statusUpdate
信息:
2014-4-20 9:45:57 org.apache.hadoop.mapred.Task commit
信息: Task attempt_local_0001_r_000000_0 is allowed to commit now
2014-4-20 9:45:57 org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter commitTask
信息: Saved output of task 'attempt_local_0001_r_000000_0' to D:/mr/out/MAX1397958356938
2014-4-20 9:45:57 org.apache.hadoop.mapred.LocalJobRunner$Job statusUpdate
信息: reduce > reduce
2014-4-20 9:45:57 org.apache.hadoop.mapred.Task sendDone
信息: Task 'attempt_local_0001_r_000000_0' done.
2014-4-20 9:45:58 org.apache.hadoop.mapred.JobClient monitorAndPrintJob
信息: map 100% reduce 100%
2014-4-20 9:45:58 org.apache.hadoop.mapred.JobClient monitorAndPrintJob
信息: Job complete: job_local_0001
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Counters: 12
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: FileSystemCounters
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: FILE_BYTES_READ=27182
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: FILE_BYTES_WRITTEN=54292
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Map-Reduce Framework
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Reduce input groups=2
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Combine output records=0
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Map input records=12
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Reduce shuffle bytes=0
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Reduce output records=2
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Spilled Records=24
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Map output bytes=108
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Combine input records=0
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Map output records=12
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Reduce input records=12
总结:刚开始运行mapreduce程序的时候报错了,是因为mapper第一个参数的输入类型必须是LongWritable。
具体错误如下:
1、首先让window可运行unix命令,我们做如下配置:
在环境变量PATH中配置D:\UnxUtils\bin;D:\UnxUtils\usr\local\wbin(UnxUtils见附件)
2、编写mapreduce程序
a>新建一个java程序依赖hadoop-core-0.20.jar(我用的maven它会传递依赖其他jar包)
完整的依赖如下:
引用
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ MapReduceDemo ---
[INFO] qhy.test:MapReduceDemo:jar:0.0.1-SNAPSHOT
[INFO] +- org.apache.hadoop:hadoop-core:jar:0.20.2:compile
[INFO] | +- commons-cli:commons-cli:jar:1.2:compile
[INFO] | +- xmlenc:xmlenc:jar:0.52:compile
[INFO] | +- commons-httpclient:commons-httpclient:jar:3.0.1:compile
[INFO] | | \- commons-logging:commons-logging:jar:1.0.3:compile
[INFO] | +- commons-codec:commons-codec:jar:1.3:compile
[INFO] | +- commons-net:commons-net:jar:1.4.1:compile
[INFO] | +- org.mortbay.jetty:jetty:jar:6.1.14:compile
[INFO] | +- org.mortbay.jetty:jetty-util:jar:6.1.14:compile
[INFO] | +- tomcat:jasper-runtime:jar:5.5.12:compile
[INFO] | +- tomcat:jasper-compiler:jar:5.5.12:compile
[INFO] | +- org.mortbay.jetty:jsp-api-2.1:jar:6.1.14:compile
[INFO] | +- org.mortbay.jetty:jsp-2.1:jar:6.1.14:compile
[INFO] | | \- ant:ant:jar:1.6.5:compile
[INFO] | +- commons-el:commons-el:jar:1.0:compile
[INFO] | +- net.java.dev.jets3t:jets3t:jar:0.7.1:compile
[INFO] | +- org.mortbay.jetty:servlet-api-2.5:jar:6.1.14:compile
[INFO] | +- net.sf.kosmosfs:kfs:jar:0.3:compile
[INFO] | +- junit:junit:jar:4.5:compile
[INFO] | +- hsqldb:hsqldb:jar:1.8.0.10:compile
[INFO] | +- oro:oro:jar:2.0.8:compile
[INFO] | \- org.eclipse.jdt:core:jar:3.1.1:compile
[INFO] \- commons-io:commons-io:jar:2.4:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] qhy.test:MapReduceDemo:jar:0.0.1-SNAPSHOT
[INFO] +- org.apache.hadoop:hadoop-core:jar:0.20.2:compile
[INFO] | +- commons-cli:commons-cli:jar:1.2:compile
[INFO] | +- xmlenc:xmlenc:jar:0.52:compile
[INFO] | +- commons-httpclient:commons-httpclient:jar:3.0.1:compile
[INFO] | | \- commons-logging:commons-logging:jar:1.0.3:compile
[INFO] | +- commons-codec:commons-codec:jar:1.3:compile
[INFO] | +- commons-net:commons-net:jar:1.4.1:compile
[INFO] | +- org.mortbay.jetty:jetty:jar:6.1.14:compile
[INFO] | +- org.mortbay.jetty:jetty-util:jar:6.1.14:compile
[INFO] | +- tomcat:jasper-runtime:jar:5.5.12:compile
[INFO] | +- tomcat:jasper-compiler:jar:5.5.12:compile
[INFO] | +- org.mortbay.jetty:jsp-api-2.1:jar:6.1.14:compile
[INFO] | +- org.mortbay.jetty:jsp-2.1:jar:6.1.14:compile
[INFO] | | \- ant:ant:jar:1.6.5:compile
[INFO] | +- commons-el:commons-el:jar:1.0:compile
[INFO] | +- net.java.dev.jets3t:jets3t:jar:0.7.1:compile
[INFO] | +- org.mortbay.jetty:servlet-api-2.5:jar:6.1.14:compile
[INFO] | +- net.sf.kosmosfs:kfs:jar:0.3:compile
[INFO] | +- junit:junit:jar:4.5:compile
[INFO] | +- hsqldb:hsqldb:jar:1.8.0.10:compile
[INFO] | +- oro:oro:jar:2.0.8:compile
[INFO] | \- org.eclipse.jdt:core:jar:3.1.1:compile
[INFO] \- commons-io:commons-io:jar:2.4:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
b>Mapreduce程序:
功能非常简单就是计算取每年的数字的平均值。
输入文件(D:\mr\in\a.txt)内容如下:
引用
20140301 12
20140302 12
20140304 12
20140305 12
20140306 12
20140307 12
20140308 12
20140309 12
20140310 12
20130301 13
20130302 13
20130304 13
mapper类(MyMapper):
package com.demo.mapred.max; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Mapper; public class MyMapper extends Mapper<Object, Text, Text, IntWritable> { protected void map( Object key, Text value, org.apache.hadoop.mapreduce.Mapper<Object, Text, Text, IntWritable>.Context context) throws java.io.IOException, InterruptedException { String year= value.toString().substring(0, 4); String number= value.toString().substring(9); System.out.println("MAA|mapper----"+year+"========>"+number); context.write(new Text(year), new IntWritable(Integer.parseInt(number))); }; }
reduce类(MyReduce):
package com.demo.mapred.max; import java.util.Iterator; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Reducer; public class MyReduce extends Reducer<Text, IntWritable, Text, IntWritable> { protected void reduce( Text key, java.lang.Iterable<IntWritable> values, org.apache.hadoop.mapreduce.Reducer<Text, IntWritable, Text, IntWritable>.Context context) throws java.io.IOException, InterruptedException { int max = this.getAvg(values.iterator()); System.out.println("MAA|reduce----" + key.toString() + "========>" + max); context.write(key, new IntWritable(max)); }; private int getMax(Iterator<IntWritable> iterator) { int max = 0; while (iterator.hasNext()) { IntWritable num = iterator.next(); if (Integer.parseInt((num.toString())) > max) { max = Integer.parseInt((num.toString())); } } return max; } private int getAvg(Iterator<IntWritable> iterator) { int sum = 0; int count = 0; while (iterator.hasNext()) { count++; IntWritable num = iterator.next(); sum += Integer.parseInt((num.toString())); } return sum / count; } }
运行Mapreduce程序的:
package com.demo.mapred.max; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configured; 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 TestRunJob extends Configured{ public static void main(String[] args) { try{ Configuration conf = new Configuration(); // String file = "/config/classifyDimCount.properties"; String inPath = "D:\\mr\\in\\a.txt"; String outPath = "D:\\mr\\out\\MAX"+System.currentTimeMillis(); Path out = new Path(outPath); Job job = new Job(conf, "classify dim genetator"); job.setJarByClass(TestRunJob.class); job.setMapperClass(MyMapper.class); job.setReducerClass(MyReduce.class); job.setNumReduceTasks(1); job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(IntWritable.class); // job.setOutputFormatClass(DimOutputFormat.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); FileInputFormat.addInputPath(job, new Path(inPath)); FileOutputFormat.setOutputPath(job, out); System.exit(job.waitForCompletion(true) ? 0 : 1); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
运行结果:
引用
2014-4-20 9:45:57 org.apache.hadoop.metrics.jvm.JvmMetrics init
信息: Initializing JVM Metrics with processName=JobTracker, sessionId=
2014-4-20 9:45:57 org.apache.hadoop.mapred.JobClient configureCommandLineOptions
警告: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
2014-4-20 9:45:57 org.apache.hadoop.mapred.JobClient configureCommandLineOptions
警告: No job jar file set. User classes may not be found. See JobConf(Class) or JobConf#setJar(String).
2014-4-20 9:45:57 org.apache.hadoop.mapreduce.lib.input.FileInputFormat listStatus
信息: Total input paths to process : 1
2014-4-20 9:45:57 org.apache.hadoop.mapred.JobClient monitorAndPrintJob
信息: Running job: job_local_0001
2014-4-20 9:45:57 org.apache.hadoop.mapreduce.lib.input.FileInputFormat listStatus
信息: Total input paths to process : 1
2014-4-20 9:45:57 org.apache.hadoop.mapred.MapTask$MapOutputBuffer <init>
信息: io.sort.mb = 100
2014-4-20 9:45:57 org.apache.hadoop.mapred.MapTask$MapOutputBuffer <init>
信息: data buffer = 79691776/99614720
2014-4-20 9:45:57 org.apache.hadoop.mapred.MapTask$MapOutputBuffer <init>
信息: record buffer = 262144/327680
MAA|mapper----2014========>12
MAA|mapper----2014========>12
MAA|mapper----2014========>12
MAA|mapper----2014========>12
MAA|mapper----2014========>12
MAA|mapper----2014========>12
MAA|mapper----2014========>12
MAA|mapper----2014========>12
MAA|mapper----2014========>12
MAA|mapper----2013========>13
MAA|mapper----2013========>13
MAA|mapper----2013========>13
2014-4-20 9:45:57 org.apache.hadoop.mapred.MapTask$MapOutputBuffer flush
信息: Starting flush of map output
2014-4-20 9:45:57 org.apache.hadoop.mapred.MapTask$MapOutputBuffer sortAndSpill
信息: Finished spill 0
2014-4-20 9:45:57 org.apache.hadoop.mapred.Task done
信息: Task:attempt_local_0001_m_000000_0 is done. And is in the process of commiting
2014-4-20 9:45:57 org.apache.hadoop.mapred.LocalJobRunner$Job statusUpdate
信息:
2014-4-20 9:45:57 org.apache.hadoop.mapred.Task sendDone
信息: Task 'attempt_local_0001_m_000000_0' done.
2014-4-20 9:45:57 org.apache.hadoop.mapred.LocalJobRunner$Job statusUpdate
信息:
2014-4-20 9:45:57 org.apache.hadoop.mapred.Merger$MergeQueue merge
信息: Merging 1 sorted segments
2014-4-20 9:45:57 org.apache.hadoop.mapred.Merger$MergeQueue merge
信息: Down to the last merge-pass, with 1 segments left of total size: 134 bytes
2014-4-20 9:45:57 org.apache.hadoop.mapred.LocalJobRunner$Job statusUpdate
信息:
MAA|reduce----2013========>13
MAA|reduce----2014========>12
2014-4-20 9:45:57 org.apache.hadoop.mapred.Task done
信息: Task:attempt_local_0001_r_000000_0 is done. And is in the process of commiting
2014-4-20 9:45:57 org.apache.hadoop.mapred.LocalJobRunner$Job statusUpdate
信息:
2014-4-20 9:45:57 org.apache.hadoop.mapred.Task commit
信息: Task attempt_local_0001_r_000000_0 is allowed to commit now
2014-4-20 9:45:57 org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter commitTask
信息: Saved output of task 'attempt_local_0001_r_000000_0' to D:/mr/out/MAX1397958356938
2014-4-20 9:45:57 org.apache.hadoop.mapred.LocalJobRunner$Job statusUpdate
信息: reduce > reduce
2014-4-20 9:45:57 org.apache.hadoop.mapred.Task sendDone
信息: Task 'attempt_local_0001_r_000000_0' done.
2014-4-20 9:45:58 org.apache.hadoop.mapred.JobClient monitorAndPrintJob
信息: map 100% reduce 100%
2014-4-20 9:45:58 org.apache.hadoop.mapred.JobClient monitorAndPrintJob
信息: Job complete: job_local_0001
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Counters: 12
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: FileSystemCounters
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: FILE_BYTES_READ=27182
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: FILE_BYTES_WRITTEN=54292
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Map-Reduce Framework
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Reduce input groups=2
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Combine output records=0
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Map input records=12
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Reduce shuffle bytes=0
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Reduce output records=2
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Spilled Records=24
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Map output bytes=108
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Combine input records=0
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Map output records=12
2014-4-20 9:45:58 org.apache.hadoop.mapred.Counters log
信息: Reduce input records=12
总结:刚开始运行mapreduce程序的时候报错了,是因为mapper第一个参数的输入类型必须是LongWritable。
具体错误如下:
引用
警告: job_local_0001
java.io.IOException: Type mismatch in key from map: expected org.apache.hadoop.io.Text, recieved org.apache.hadoop.io.LongWritable
at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.collect(MapTask.java:845)
at org.apache.hadoop.mapred.MapTask$NewOutputCollector.write(MapTask.java:541)
at org.apache.hadoop.mapreduce.TaskInputOutputContext.write(TaskInputOutputContext.java:80)
at org.apache.hadoop.mapreduce.Mapper.map(Mapper.java:124)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:621)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:305)
at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:177)
2014-4-20 9:41:49 org.apache.hadoop.mapred.JobClient monitorAndPrintJob
java.io.IOException: Type mismatch in key from map: expected org.apache.hadoop.io.Text, recieved org.apache.hadoop.io.LongWritable
at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.collect(MapTask.java:845)
at org.apache.hadoop.mapred.MapTask$NewOutputCollector.write(MapTask.java:541)
at org.apache.hadoop.mapreduce.TaskInputOutputContext.write(TaskInputOutputContext.java:80)
at org.apache.hadoop.mapreduce.Mapper.map(Mapper.java:124)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:621)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:305)
at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:177)
2014-4-20 9:41:49 org.apache.hadoop.mapred.JobClient monitorAndPrintJob
- UnxUtils.rar (2.8 MB)
- 下载次数: 10
发表评论
-
Java实现SPI基础工具类
2016-09-09 17:16 1301概述: 前端时间看了一下dubbo源码被它使用的基于SPI(s ... -
javassi实现t动态代理模式
2016-09-08 15:08 520最近研究了一下javassist框架,目前我对它的理解是它是一 ... -
JSP COOKIE使用
2015-12-05 16:08 508原来一直在想要实现可 ... -
Jedis事务用法
2015-11-25 20:06 1744今天同事问了一个redis的问题,主要就是出现错误之后就把所有 ... -
zookeeper笔记
2015-11-24 08:17 329这个笔记是2013年初写的,当时学习solr发现solr使用了 ... -
jdk1.7安装之后切换不回去
2015-11-02 20:03 634错误现象: 在win7上安装过jdk1.7之后,然后把环境变量 ... -
hadoopMapReduce小例子
2015-03-28 21:08 486今天做了一个简单的mapreduce小程序,目的是熟悉一下怎么 ... -
VMware虚拟机搭建Hadoop集群
2014-12-05 22:07 975最近搭建了hadoop2.5的集群,在这里分享一下希望能帮助到 ... -
Hibernate代码生成插件(eclipse)
2014-05-04 12:31 821阅读对象: 有一些hibernate使用经验的开发人员; 介绍 ... -
eclipse文件同步插件
2014-04-29 17:41 650clipse同步插件用于指定两个目录(源目录和目标目录)做文件 ... -
修改WAS(WebSpehre)默认编码和jvm内存申请
2014-04-28 17:09 1139登陆WAS管理控制台,打开:服务器->应用程序服务器-& ... -
Apache HttpClient 代理、登陆访问百度开放平台
2014-04-23 17:50 833最近做了下使用httpclient登陆百度开放平台获取G ... -
RMI随机生成端口解决方法(结合spring)
2014-04-20 08:20 2982RMI有一个网络端口和一个数据端口,网络端口我们在程序里 ... -
WAS(WebSphere)修改端口
2014-04-20 07:58 40931、修改管理页面端口(默认:9060) a>进入控制台页 ...
相关推荐
6. **测试和运行**:编写MapReduce程序后,可以使用Eclipse的“运行”菜单选择“运行配置”来创建一个MapReduce配置。配置包括指定主类、输入输出路径、集群地址等参数。然后点击“运行”执行程序。 7. **提交作业*...
压缩包中的"Windows下实现MapReduce的程序实例"可能包含了一些示例代码或教程,用于指导用户如何在Windows环境中编写和运行MapReduce程序。这些示例通常会涵盖以下内容: 1. **编写Map函数**: Map阶段负责将输入...
在Windows环境下,使用Eclipse进行远程开发MapReduce程序是一个复杂的过程,涉及到多个步骤,包括环境配置、插件安装以及依赖管理。以下是对整个过程的详细解释: 首先,我们需要准备必要的工具和库。`hadoop-...
编写MapReduce程序时,你需要继承`org.apache.hadoop.mapreduce.Mapper`和`org.apache.hadoop.mapreduce.Reducer`类,并实现它们的抽象方法。此外,还需要创建一个`Job`实例,设置输入输出格式、Mapper和Reducer类,...
通过这些资料,初学者可以更好地理解Hadoop的工作原理,掌握如何在Windows环境下部署和测试MapReduce程序。 总结,这个压缩包提供的环境软件是针对Windows用户在本地进行Hadoop MapReduce学习和测试的。它包含必要...
(2)编写MepReduce程序 (3)调试和运行MepReduce程序 (4)完成上课老师演示的内容 二、实验环境 Windows 10 VMware Workstation Pro虚拟机 Hadoop环境 Jdk1.8 二、实验内容 1.单词计数实验(wordcount) (1)输入...
可能包括了 Java 代码示例,讲解如何创建 MapReduce 程序,并将其提交到 Hadoop 集群执行。 7. **运行与调试**: 在实际环境中,我们需要配置 Hadoop 集群,设置输入文件路径,编译并打包 WordCount 程序,最后...
在开始编写MapReduce程序之前,必须启动Hadoop的NameNode、DataNode和TaskTracker等守护进程。这通常涉及修改配置文件,然后通过命令行启动服务。 **步骤二:在Eclipse中安装Hadoop插件** 1. 将`hadoop-...
总的来说,这个压缩包提供了一套完整的解决方案,让Windows用户能在Eclipse环境中便捷地开发和运行MapReduce程序。通过这个包,你可以更高效地利用Eclipse的开发优势,同时克服Windows平台上的Hadoop兼容性问题。...
标题提到的"eclipse運行mapreduce的插件"正是为了解决这个问题,它使得开发者可以在Eclipse内直接编写、调试和运行MapReduce程序,极大地提高了开发效率。 MapReduce是Google提出的一种分布式计算模型,用于处理和...
为了方便开发者在Windows环境下进行Hadoop应用程序的开发,本篇指南将详细介绍如何使用Eclipse集成开发环境(IDE)来编写、编译并在Hadoop集群上运行简单的Hadoop应用程序。 #### 创建Java项目 1. **启动Eclipse**...
C#通常与.NET框架关联,而Hadoop则主要与Java环境配合,但通过Apache Hadoop的开源项目Apache .NET SDK(例如Apache Hadoop on .NET或Hadoop.NET),开发者可以用C#编写MapReduce程序。 描述中提到的“没有足够的内...
本文详细介绍了如何配置MapReduce开发环境的过程,包括搭建基础环境、配置网络、安装和配置MyEclipse插件、编写和运行MapReduce程序等内容。遵循本文步骤,即使是初学者也能轻松地配置出一个完整的MapReduce开发环境...
接下来,我们可以开始编写MapReduce程序。除了基本的Map和Reduce函数,我们可能需要自定义逻辑来处理更复杂的数据处理需求。例如,如果我们正在处理的是结构化的数据,可能需要实现自定义的InputFormat和...
在Windows环境下,开发Hadoop程序通常涉及到与操作系统不完全兼容的问题,因为Hadoop主要设计时考虑的是Linux系统。为了在Windows上顺利进行开发,我们需要解决一些关键问题,其中包括配置正确的本地库文件。这个名...
- 在“DFSOperator.java”文件中,编写Hadoop MapReduce程序。通常,MapReduce任务包括两个主要部分:Mapper和Reducer。在这个例子中,我们实现了一个简单的单词计数功能。 - `TokenizerMapper` 类继承自 `Mapper,...
编写MapReduce程序时,需要继承`org.apache.hadoop.mapreduce.Mapper`和`org.apache.hadoop.mapreduce.Reducer`类,实现各自的`map()`和`reduce()`方法。程序完成后,使用Maven或Gradle打包成JAR文件。 运行...
编写MapReduce程序,实现Mapper和Reducer类。在代码中,使用`FileSystem` API来访问HDFS,`Job`类来提交和管理MapReduce作业。记住,MapReduce作业的输入和输出路径应指向HDFS上的路径。 为了测试和调试,可以在...