[
https://issues.apache.org/jira/browse/GIRAPH-921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14036277#comment-14036277
]
Igor Kabiljo commented on GIRAPH-921:
-------------------------------------
Can you create a diff from patch? (it's easier to view)
I don't think you need any converters, because VertexValue needs to implement
Writable anyways, so you should use that for serializing/deserializing.
(similarly to how ByteArrayPartition does it).
Note that you shouldn't rely on setValue being called, i.e. it should work with
flow:
vertex.getValue().set(15)
where V is IntWritable.
> Create ByteValueVertex to store vertex values as bytes without object instance
> ------------------------------------------------------------------------------
>
> Key: GIRAPH-921
> URL: https://issues.apache.org/jira/browse/GIRAPH-921
> Project: Giraph
> Issue Type: Improvement
> Components: graph
> Affects Versions: 1.1.0
> Reporter: Aapo Kyrola
> Priority: Minor
> Attachments:
> 0001-Created-ByteValueVertex-and-two-byte-to-value-conver.patch
>
>
> Facebook task (bootcamped) #4320492
> This modification creates an alternative to DefaultVertex that stores the
> vertex value as raw bytes and only realizes the object when getValue() is
> called. The purpose of this change is to reduce memory consumption when
> vertex values are large.
> User must define their own BytesToValueConverter class to translate the
> object type to bytes and back. I created ones for float and doubles. Using
> Java's serialization is bad idea as it adds a lot of overhead (for example
> full class names). However, one could easily create a generic
> bytevalueconverter that uses java serialization.
> Configuration -vcl is used to define the vertex class and -bc the converter.
> For example:
> -vcl org.apache.giraph.graph.ByteValueVertex -bc
> org.apache.giraph.graph.byteconverters.DoubleConverter
--
This message was sent by Atlassian JIRA
(v6.2#6252)