Apache中的Giraph复值顶点(Vertices with complex values in

2019-10-20 11:49发布

我试图读取包含相关信息的顶点到Giraph一些文本文件:每一行是

vertex_id attribute_1 attribute_2 ..... attribute_n

其中每个属性是一个字符串。

我们的目标是创建一个顶点,所有这些属性是顶点的价值的一部分。

仰望各种输入格式,我找不到任何现成的,所以我想我必须获得来自VertexValueInputFormat我顶点输入级(我有边缘的独立阅读器)。

问题是:怎么了? 我创建了包含一个String []数组AA值类,但我怎么把它交给Giraph / Hadoop的? 下面是一行一读者:

https://giraph.apache.org/giraph-core/apidocs/org/apache/giraph/io/formats/TextVertexValueInputFormat.TextVertexValueReaderFromEachLine.html

受保护的抽象V的getValue(org.apache.hadoop.io.Text线)

该想法是,V将是一个ArrayWritable,但似乎并不喜欢它。

任何线索? 谢谢

Answer 1:

如果你的顶点有一个自定义值(在字符串你的情况阵列),那么你需要有一个自定义的顶点值类和一个自定义的顶点输入格式。 举个例子,来看看一个非常简单的自定义顶点类。 这个类有一个double值, intlong : https://gist.github.com/sar-vivek/df09cca17cc3f6b5ac60注-必须重写readFields()write()相应。

然后,你需要有一个自定义的顶点输入格式。 对于以上顶点类,我已经修改了内置JSON顶点读者一点点。 下面是示例- https://gist.github.com/sar-vivek/f39edacec6d9a43c3717 [注意如何一个顶点的值被设定在68行]。



文章来源: Vertices with complex values in Apache Giraph