我无法理解为什么会遇到此错误。
映射器
public class movieMapper extends Mapper<LongWritable, Text, IntWritable, Text> {
public void map(LongWritable key, Text value, Context context ) throws IOException,InterruptedException {
String token[]= value.toString().trim().split("::");
int movieID=Integer.parseInt(token[0].trim());
context.write(new IntWritable(movieID), new Text(token[1].trim()));
}
}
减速器
public class joinReducer extends Reducer<IntWritable, Text, Text, Text> {
public void reduce(IntWritable key, Iterable<Text> values, Context context) throws IOException,InterruptedException {
float avgRating=0.0f;
int tokenCount = 0;
float ratingSum=0.0f;
int count=0;
String movieName="";
for(Text val:values) {
tokenCount+=1;
}
//If we have more than 40 views/ratings
if(tokenCount-1>40) {
for(Text val:values) {
String temp = val.toString();
if(val.equals("1")||val.equals("2")||val.equals("3")||val.equals("4")||val.equals("5")) {
float tempRating= Float.parseFloat(val.toString().trim());
ratingSum += tempRating;
count++;
}
else {
movieName=val.toString().trim();
}
}
avgRating = ratingSum/ (float)count;
context.write(new Text(Float.toString(avgRating)), new Text(movieName));
}
}
}
驱动程序配置
Configuration conf= new Configuration();
String parameter[]= new GenericOptionsParser(conf,args).getRemainingArgs();
if(parameter.length!=3) {
System.err.println("Three arguments needed <File1> <File2> <Out>");
System.exit(2);
}
//set Driver class
Job job1 = Job.getInstance(conf, "Join");
job1.setJarByClass(MyDriver.class);
job1.setReducerClass(joinReducer.class);
MultipleInputs.addInputPath(job1, new Path(parameter[0]), TextInputFormat.class, movieMapper.class);
MultipleInputs.addInputPath(job1, new Path(parameter[1]), TextInputFormat.class, ratingMapper.class);
job1.setMapOutputKeyClass(IntWritable.class);
job1.setMapOutputValueClass(Text.class);
job1.setOutputKeyClass(Text.class);
job1.setOutputValueClass(Text.class);
FileOutputFormat.setOutputPath(job1, new Path(parameter[2] + "/temp"));
job1.waitForCompletion(true);
2013年6月18日09:47:20信息mapreduce。作业:Job Job\u 1528823320386\u 0018在优步模式下运行:false 2013年6月18日09:47:20信息mapreduce。作业:映射0%减少0%2013年6月18日09:47:24信息映射减少。作业:任务Id:trunt\u 1528823320386\u 0018\u m\u000000 \u 0,状态:FAILED错误:java。io。IOException:映射中的键类型不匹配:应为组织。阿帕奇。hadoop。io。IntWritable,接收组织。阿帕奇。hadoop。io。可在组织中长写。阿帕奇。hadoop。映射。MapTask$MapOutputBuffer。在org上收集(MapTask.java:1069)。阿帕奇。hadoop。映射。MapTask$NewOutputCollector。在org上编写(MapTask.java:712)。阿帕奇。hadoop。mapreduce。任务TaskInputOutputContextImpl。在组织中写入(TaskInputOutputContextImpl.java:89)。阿帕奇。hadoop。mapreduce。lib。地图WrappedMapper$上下文。在org上编写(WrappedMapper.java:112)。阿帕奇。hadoop。mapreduce。映射器。地图(Mapper.java:124)位于org。阿帕奇。hadoop。mapreduce。映射器。在org上运行(Mapper.java:145)。阿帕奇。hadoop。mapreduce。lib。输入删除映射器。在org上运行(DelegatingMapper.java:55)。阿帕奇。hadoop。映射。MapTask。在org上运行NewMapper(MapTask.java:784)。阿帕奇。hadoop。映射。MapTask。在组织上运行(MapTask.java:341)。阿帕奇。hadoop。映射。YarnChild 2美元。在java上运行(YarnChild.java:168)。安全AccessController。javax上的doPrivileged(本机方法)。安全授权。主题doAs(Subject.java:422)位于org。阿帕奇。hadoop。安全用户组信息。doAs(UserGroupInformation.java:1642)位于org。阿帕奇。hadoop。映射。YarnChild。main(YarnChild.java:163)
2013年6月18日09:47:25信息mapreduce。作业:映射50%减少0%2013年6月18日09:47:29信息映射减少。作业:任务Id:trunt\u 1528823320386\u 0018\u m\u000000 \u 1,状态:FAILED错误:java。io。IOException:映射中的键类型不匹配:应为组织。阿帕奇。hadoop。io。IntWritable,接收组织。阿帕奇。hadoop。io。可在组织中长写。阿帕奇。hadoop。映射。MapTask$MapOutputBuffer。在org上收集(MapTask.java:1069)。阿帕奇。hadoop。映射。MapTask$NewOutputCollector。在org上编写(MapTask.java:712)。阿帕奇。hadoop。mapreduce。任务TaskInputOutputContextImpl。在组织中写入(TaskInputOutputContextImpl.java:89)。阿帕奇。hadoop。mapreduce。lib。地图WrappedMapper$上下文。在org上编写(WrappedMapper.java:112)。阿帕奇。hadoop。mapreduce。映射器。地图(Mapper.java:124)位于org。阿帕奇。hadoop。mapreduce。映射器。在org上运行(Mapper.java:145)。阿帕奇。hadoop。mapreduce。lib。输入删除映射器。在org上运行(DelegatingMapper.java:55)。阿帕奇。hadoop。映射。MapTask。在org上运行NewMapper(MapTask.java:784)。阿帕奇。hadoop。映射。MapTask。在组织上运行(MapTask.java:341)。阿帕奇。hadoop。映射。YarnChild 2美元。在java上运行(YarnChild.java:168)。安全AccessController。javax上的doPrivileged(本机方法)。安全授权。主题doAs(Subject.java:422)位于org。阿帕奇。hadoop。安全用户组信息。doAs(UserGroupInformation.java:1642)位于org。阿帕奇。hadoop。映射。YarnChild。main(YarnChild.java:163)
此作业中运行两个映射器,moviMapper和ratingMapper。ratingMapper在函数声明中有一个关键字拼写错误,并且map函数的名称“map”被错误地写成“减少”。
根据out-config,reducer应该接受IntWritable类型的键,但正在变得LongWritable,因此出现了错误。(TextInputFormat生成LongWritable类型的键和Text类型的值)
我想写一份工作,可以分析youtube数据集中的一些信息。我相信我已经在driver类中正确设置了map的输出键,但是我仍然得到了上面的错误,我在这里发布了代码和异常, 地图绘制者 减速器等级 驱动程序类 我得到的例外 Java语言io。IOException:映射中的键类型不匹配:应为组织。阿帕奇。hadoop。io。文本,接收组织。阿帕奇。hadoop。io。可在组织中长写。阿帕奇。hadoo
我有两个Spring Boot服务A和B。还有一个外部服务C。这是请求路径: 网络浏览器 外部服务正在返回一个返回前端的资源。为了在A、B和C之间进行通信,我使用了Rest模板。进入Web应用程序时一切都很好,但是一旦我运行并行运行的BDD测试(9个线程),我就会在调用外部服务C时在服务B中获得NoHttp响应异常。 这是我的Rest模板配置: 我已经尝试调用但没有帮助。 让我补充一点,从服务B到
Selenium Webdriver(2.53)和java(jdk 7)。Mozilla Firefox ESR(45.2.0)在页面打开时立即崩溃,并显示错误消息: 出错
Apache Kafka:分布式消息传递系统 Apache Storm:实时消息处理 我们如何在实时数据管道中使用这两种技术来处理事件数据? 在实时数据管道方面,我觉得两者做的工作是一样的。如何在数据管道上同时使用这两种技术?
编辑:问题解决(见注释解释) 我安装了HBase。当我尝试启动“start hbase.sh”时,会出现一些错误: 错误:无法找到或加载主类org.apache.hadoop.hbase.util.HBaseConfTool 错误:无法找到或加载主类组织。阿帕奇。hadoop。hbase。动物园管理员。ZKServerTool 我的安装目录是: 我将HBASE_HOME配置为:C:\用户\Alon
我正在尝试从servlet(viewcurrentstock.java)检索一个属性到jsp(viewstock.jsp)。这里有一个例外提示:“org.apache.jasper.JasperException:java.lang.NullPointerException” 查看当前股票。JAVA viewstock.jsp 服务器日志: