Java Hadoop中的Hashmap

Java Hadoop中的Hashmap,java,hadoop,hashmap,key-value,writable,Java,Hadoop,Hashmap,Key Value,Writable,我想在hadoop程序中使用java.util.*中定义的hashmap类 Java中的hashmap是使用Map D=new hashmap()实例化的 当您使用上述代码行并使用hadoop jar编译时,它会抛出一个错误,因为Map用于hadoop中不同的内容 在搜索hadoop的hashmap等价物时,我偶然发现了HashMapWritable 使用HashMapWritable的一个示例程序如下所示: 我不想经历创建单独的类和为键和值定义单独对象的痛苦 有没有一种更简单的方法,我可以

我想在hadoop程序中使用java.util.*中定义的hashmap类

Java中的hashmap是使用Map D=new hashmap()实例化的

当您使用上述代码行并使用hadoop jar编译时,它会抛出一个错误,因为Map用于hadoop中不同的内容

在搜索hadoop的hashmap等价物时,我偶然发现了HashMapWritable

使用HashMapWritable的一个示例程序如下所示:

我不想经历创建单独的类和为键和值定义单独对象的痛苦


有没有一种更简单的方法,我可以像在Java中那样在一行中实现它(我的意思是用一种简单的方法,比如hashmap(key,value)H=newHashMap())

记住一件事:您不能在hadoop文件系统上直接编写自定义类对象。您需要使用它们等效的可写类将它们存储到HDF中。例如:您需要使用文本类而不是字符串(文本是字符串的可写版本)。类似地,如果地图包含自定义对象,则需要创建一个可写类并处理写入其中每个元素的逻辑。

您可以尝试:

java.util.Map<K,V> map= new HashMap<K,V>();
java.util.Map Map=newhashmap();

这样,它将解析为您想要的映射类。

最好使用泛型。编辑以添加@GriffeyDog建议。