Uploaded image for project: 'Hama'
  1. Hama
  2. HAMA-737

Add graph output writer

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.6.0
    • 0.6.1
    • graph
    • None

    Description

      Currently only VertexID\tVertexValue can be written to the output.
      If someone want to write anything else (e.G. the edge values) he can not.

      Analogously to the VertexInputReader, it would be nice to have a VertexOutputWriter.

      It should have the following abilities:

      • setup (Configuration)
      • write(Vertex<>, Peer)

      The current state would be mimicked by a DefaultVertexOutputWriter that writes the vertex key and value to the peer.

      The current writing happens in cleanup of the GraphJobRunner.
      Following things must be added:

      • A reflection based instantiation process that reads a class from Configuration and makes it available through the VertexOutputWriter interface in the GraphJobRunner.
      • cleanup must be calling the #write method for each vertex
      • GraphJob should have another method called setVertexOutputWriterClass(class)
      • GraphJob must ensure in submit override that the DefaultVertexOutputWriter is set if nothing was configured yet.

      Usecase:

      Actually every algorithm that changes edge values and use it for further post processing. Also algorithms that need to hold state in the vertex that is not the value, currently this can only be solved by a multiple valued Writable Vertex value. (Bipartite Matching could be simplified in that regard).

      Attachments

        1. HAMA-737_1.patch
          9 kB
          Thomas Jungblut

        Activity

          People

            thomas.jungblut Thomas Jungblut
            thomas.jungblut Thomas Jungblut
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: