`

[Hadoop] 新API容易遇到的一个问题: expected LongWritable recieved Text

阅读更多

我们在之前一篇WordCount的文章里面使用了下面这条语句:

 

job.setInputFormatClass(TextInputFormat.class);
job.setOutputFormatClass(TextOutputFormat.class);

这本身不起眼的一句话,其实有一个容易错的地方。

 

如果你遇到

写道
Type mismatch in key from map: expected org.apache.hadoop.io.LongWritable, recieved org.apache.hadoop.io.Text

 这样的错误,那基本上就是因为前面设置了TextInputFormat造成的。

下面是SO上面的一个解释:

StackOverflow 写道
You are using TextOutputFormat which emits LongWritable key and Text value by default, but you are emitting Text as key and IntWritable as value. You need to tell this to the famework.

解决方案:

job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(IntWritable.class);

 或者一开始就不要这样设置,类似如下即可:

public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException {
		// TODO Auto-generated method stub
		
		Configuration conf = new Configuration();
		Job job = new Job();
		job.setJarByClass(Dedup.class);
		job.setMapperClass(Map.class);
		job.setCombinerClass(Reduce.class);
		job.setReducerClass(Reduce.class);
		job.setOutputKeyClass(Text.class);
		job.setOutputValueClass(Text.class);
//		job.setInputFormatClass(TextInputFormat.class);
//		job.setOutputFormatClass(TextOutputFormat.class);
//		job.setMapOutputKeyClass(Text.class);
//		job.setMapOutputValueClass(Text.class);
		FileInputFormat.addInputPath(job, new Path("/home/hadoop/DataSet/Hadoop/Dedup-1"));
		FileOutputFormat.setOutputPath(job, new Path("/home/hadoop/DataSet/Hadoop/Dedup-output"));
		System.out.println(job.waitForCompletion(true));
	}

  

分享到:
评论

相关推荐

    教你如何查看API及使用hadoop新api编程

    Hadoop作为一个分布式计算框架,提供了丰富的API供开发者使用。随着版本的更新,Hadoop API也在不断演进,新旧API之间存在一定的差异。理解这些差异对于有效地进行大数据处理至关重要。 #### 二、旧API与新API的...

    教你如何查看API及使用hadoop新api编程 高清完整版PDF下载

    为了克服旧API的一些局限性,Hadoop引入了一个新的API,即`mapreduce`包。这个新API提供了更强大的功能,同时也更加灵活。以下是一些关键特性: 1. **MapReduce包**:在新API中,`mapreduce`包取代了旧的`mapred`包...

    hadoop-yarn-api-2.5.1-API文档-中文版.zip

    Maven坐标:org.apache.hadoop:hadoop-yarn-api:2.5.1; 标签:apache、hadoop、api、yarn、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 ...

    Hadoop 0.20.2 API文档

    Hadoop是一个由Apache基金会维护的开源项目,它的核心设计目标是构建一个能够高效处理和存储海量数据的分布式系统。0.20.2是Hadoop发展中的一个重要里程碑,它包含了许多改进和优化,提升了系统的稳定性和性能。 ...

    Hadoop 0.20.2 API

    Hadoop 0.20.2 API 是一个关键的开发资源,它为程序员提供了与Hadoop框架交互的接口和类的详细文档。Hadoop是一个开源的分布式计算框架,由Apache软件基金会维护,广泛用于大数据处理和分析。0.20.2是Hadoop的一个...

    hadoop2API帮助文档

    Hadoop是一个开源的分布式计算框架,由Apache软件基金会维护,其核心包括HDFS(Hadoop Distributed File System)和MapReduce两大部分。 1. **HDFS(Hadoop Distributed File System)**: - HDFS是一个高度容错性...

    Hadoop2.6_API.chm

    Hadoop2.6版本稳定版API文档CHM文件

    hadoop-API.zip_Hadoop学习_hadoop api

    Hadoop是大数据处理领域的一个核心框架,其API的掌握对于开发者来说至关重要。Hadoop API提供了丰富的功能,使得用户能够高效地处理大规模数据。这个“hadoop-API.zip”压缩包包含了Hadoop的中文版API文档,对于正在...

    hadoop-api中文说明文档

    Hadoop API中文说明文档是针对Apache Hadoop框架的开发者指南,它详细解释了如何使用...通过深入阅读和理解Hadoop API中文说明文档,开发者可以更好地利用Hadoop平台解决大数据问题,实现高效、可靠的分布式计算。

    Hadoop 2.10.0中文版API

    Hadoop 2.10.0中文版API是大数据处理领域的一个重要参考资料,它为开发者提供了详尽的接口文档,帮助他们理解和使用Hadoop生态系统中的各种组件。Hadoop是一个开源框架,主要用于分布式存储和分布式计算,是大数据...

    Hadoop.chm HadoopAPI Hadoop英文版最新API

    从零开始构建一个网络搜索引擎是一个很大的计划,并且往往会遇到很多的问题。不仅是因为编写一个爬虫并索引页面的软件比较复杂,而且,一个这样的项目需要一个专门的团队来实现。项目中也包含许多随时都需要修改的...

    hadoop api.doc

    例如,`FileSystem.get(conf).open(path)`创建一个输入流来读取指定路径的文件。 这些API使得开发者能够在分布式环境中高效地处理大规模数据,是构建Hadoop应用的基础。了解并熟练使用这些API对于开发Hadoop相关...

    hadoop-yarn-api-2.5.1-API文档-中英对照版.zip

    赠送jar包:hadoop-yarn-api-2.5.1.jar; 赠送原API文档:hadoop-yarn-api-2.5.1-javadoc.jar; 赠送源代码:hadoop-yarn-api-2.5.1-sources.jar; 包含翻译后的API文档:hadoop-yarn-api-2.5.1-javadoc-API文档-...

    hadoop2.6-api.zip

    Hadoop 2.6 API 是一个关键的组件在大数据处理领域,它提供了丰富的接口和工具,使得开发者能够构建分布式存储和处理系统。这个压缩包“hadoop2.6-api.zip”包含了Hadoop 2.6版本的核心API,使得开发者可以直接进行...

    hadoop api 操作代码

    在大数据处理领域,Hadoop API 是一个至关重要的工具集,它允许开发者编写程序来处理海量数据。这个压缩包文件 "shizhan_03_hadoop" 很可能包含了一些示例代码,展示了如何使用Hadoop API进行数据操作。现在,我们将...

    hadoop的api文档

    Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce。这个API文档针对的是Hadoop 0.20.2版本,该版本虽然相对较老,但对于理解Hadoop的...

    hadoop中文版API

    hadoop中文版API.chm文件,查找hadoop的类中方法、方法的用法等,方便、好用

    Hadoop2.7.4 API帮助文档

    Hadoop 2.7.4 API 帮助文档 ,这份帮助文档很全,包括了源码等等,你值得拥有。

    hadoop-yarn-api-2.7.3-API文档-中英对照版.zip

    Maven坐标:org.apache.hadoop:hadoop-yarn-api:2.7.3; 标签:apache、hadoop、yarn、api、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性...

    hadoop-yarn-api-2.6.5-API文档-中英对照版.zip

    Maven坐标:org.apache.hadoop:hadoop-yarn-api:2.6.5; 标签:apache、hadoop、api、yarn、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容...

Global site tag (gtag.js) - Google Analytics