我很困惑何时可以使用Vertex实例变量维护状态而不是正确的Giraph值ala getValue()。我在源代码中找到的一个有趣的例子演示了:SimpleTriangleClosingVertex,它既有实例变量(closeMap)又有自定义顶点值(IntArrayListWritable)。我有点惊讶的是,使用实例变量是合法的,因为可能搞砸序列化(?)我的问题:是否有效?如果是这样,我如何选择一个而不是另一个?非常感谢。
答案 0 :(得分:1)
Giraph中的Compute类未序列化。 Giraph只序列化您在顶点变量的compute方法中接收的值对象。您可以创建尽可能多的实例变量,以便使您的函数定义更容易,因为它们可以访问实例变量而不需要传递所有参数但总是考虑以下两点: