我正在构建一个倒排索引,并且当使用context.write时,当前在reduce中得到一个空指针异常。谁能发现原因?我假设与序列化有关,因为我以前从未这样做过?打印出h时也会出错。
答案 0 :(得分:0)
关于没有堆栈跟踪的序列化,我可以直接看到两件事:
ArrayListWritable
(非空,并且需要setClass
方法才能正确反序列化。答案 1 :(得分:0)
事实证明这是因为我曾两次遍历数据集(行int df = Iterables.size(values);
欺骗了我)。迭代器没有重置,因此reduce的主要块没有运行,最后我点了一个空指针,因为我试图访问那些甚至没有初始化的数据。