hashmap

zi8p0yeb  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(469)

我想在hadoop程序中使用java.util.*中定义的hashmap类。
java中的hashmap是使用map d=new hashmap()示例化的;
当您使用上述行并使用hadoopjar编译时,它会抛出一个错误,因为map用于hadoop中不同的东西。
在搜索hadoop的hashmap等价物时,我偶然发现了hashmapwriteable
http://lintool.github.io/cloud9/docs/api/edu/umd/cloud9/io/map/hashmapwritable.html
使用hashmapwritable的一个示例程序如下所示:
http://trac.nchc.org.tw/cloud/browser/sample/hadoop-0.16/tw/org/nchc/tuple/hashmapwritable.java
我不想经历创建单独的类和为键和值定义单独对象的痛苦。
有没有一种更简单的方法,我可以用一行代码实现它,就像我们在java中做的那样(我的意思是用一种简单的方法,比如hashmap(key,value)h=new hashmap())

j8yoct9x

j8yoct9x1#

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

7dl7o3gd

7dl7o3gd2#

您可以尝试:

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

这样它将解析为所需的map类。

相关问题