- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想传递一个Map<String, String>
从我的映射器到 reducer 。
所以我想要的元组是:<(Sorted)MapWritable,IntWritable>
目前,这个可怜人的序列化避免了这一点:我创建了一个简单的 Text
使用 Guava -s MapJoiner 和 MapSplitter 类的对象,生成 String
然后可用于初始化 Text
对象来写。因此,我在字符串中传输键值对,然后将其拆分回来。
但我想放弃这个黑客。
我知道如果 mapred.output.key.comparator
没有设置,那么使用的键类必须实现WritableComparable
。问题是,MapWritable 和 SortedMapWritable 缺少这个接口(interface)。
我检查了WritableComparable
接口(interface),但我有点困惑,因为你必须重新发明读写方法(序列化),而不仅仅是 compareTo()
.
所以我的问题是:你能帮我找到一个有效的示例、代码、指南或任何有值(value)的信息吗?提前致谢。
最佳答案
您可以扩展MapWritable
(或SortedMapWritable
)并实现WritableComparable
。您不需要重写读写方法,因为 MapWritable
(或 SortedMapWritable
)已经为您完成了这些工作。例如,
public class MyMapWritable extends MapWritable implements
WritableComparable<MyMapWritable> {
@Override
public int compareTo(MyMapWritable o) {
// Implement your compare logic
return 0;
}
}
public class MySortedWritable extends SortedMapWritable implements
WritableComparable<MySortedWritable> {
@Override
public int compareTo(MySortedWritable o) {
// Implement your compare logic
return 0;
}
}
关于java - Hadoop MapReduce : using MapWritable as a key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18633644/
我有 Java(带有 map-reduce hadoop 库): MapWritable mw; 我需要在 mw 的所有 MapWritable 值上获取迭代器,但是如何? 我会写: Iterator
我对Spark和Scala都不熟悉。我已经在互联网上阅读了一些文章。我可以使用Spark成功地从Elasticsearch获取文档,但是我对如何从文档中提取字段感到困惑。 我做了什么 我有33,617
实际上,我正在尝试实现一种机器学习算法,该算法要求我将 reducer 的输出写入文件,然后在下一个映射器中读取该文件。问题是我正在文件中编写在 reducer 中创建的 MapWritable 对象
我在我的 Hadoop Map Reduce 程序中使用 MapWritable。当我将 MapWritable 映射作为 new Text (mapName.toString()) 发出时,我得到以
我正在尝试安装用于渗透的mapsforge-mapwriter-plugin,但我无法让它工作。 我尝试了普通的基于 shell 的版本和页面上提到的方法:“http://code.google.co
我目前正在尝试反序列化一个自定义对象,其中一个字段是 MapWritable,另一个字段是字符串。序列化似乎工作正常,但无法验证对象是否正在正确重新创建。他是我的字段和 write() readFie
我想传递一个Map从我的映射器到 reducer 。 所以我想要的元组是: 目前,这个可怜人的序列化避免了这一点:我创建了一个简单的 Text使用 Guava -s MapJoiner 和 MapSp
我的映射器实现 public class SimpleMapper extends Mapper { @Override protected void map(Text key, Text value
当我使用 toString() 方法运行我的输出时,我得到: #zombie org.apache.hadoop.io.MapWritable@b779f586 #zombies org
我正在尝试使用 SequenceFile 在两个 mapReduce 程序之间传递数据。我要传递的数据格式为 >。由于某种原因, map 中的某些条目似乎没有从一个程序传递到另一个程序。这是我的代码,
我正在使用 Hadoop 2.6.4,并且正在尝试为单词共现实现 Stripes 映射器。尝试使用 MapWritable 时遇到问题类(class)。当尝试将新的键/值添加到映射中时,添加的任何键都
我是一名优秀的程序员,十分优秀!