null指针异常?

axr492tv  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(448)

我正在构建一个倒排索引,当前在使用context.write时,reduce中出现了一个空指针异常。有人知道为什么吗?我想这和连载有关,因为我以前从来没有这样做过?当我打印出h时也会发生错误。

cdmah0mi

cdmah0mi1#

原来是因为我对数据集进行了两次迭代(行 int df = Iterables.size(values); 欺骗了我)。迭代器没有重置,因此reduce的主块没有运行,最后我碰到了一个空指针,因为我试图访问甚至没有初始化的数据。

7rtdyuoh

7rtdyuoh2#

在没有stacktrace的情况下,我可以直接发现两件关于序列化的事情:
hmapvalue需要一个默认构造函数,没有它hadoop就不能创建它
在默认构造函数中,需要初始化 ArrayListWritable 正确(不为空,需要 setClass 方法以正确反序列化。

相关问题