Avery Ching created GIRAPH-214: ---------------------------------- Summary: GiraphJob should have configuration split out of it to be cleaner (GiraphConf) Key: GIRAPH-214 URL: https://issues.apache.org/jira/browse/GIRAPH-214 Project: Giraph Issue Type: Bug Reporter: Avery Ching Priority: Minor
Currently all the configuration for Giraph is part of GiraphJob, making things messy for GiraphJob. It would be better if we added a GiraphConf (similar to Hive) that is responsible for handling configuration of the Job. i.e. public class GiraphJob extends Configuration.... To simplify config, we should make get/set methods for as many of the parameters as possible. We are targeting configuration such as /** * Set the vertex class (required) * * @param vertexClass Runs vertex computation */ public final void setVertexClass(Class<?> vertexClass) { getConfiguration().setClass(VERTEX_CLASS, vertexClass, BasicVertex.class); } /** * Set the vertex input format class (required) * * @param vertexInputFormatClass Determines how graph is input */ public final void setVertexInputFormatClass( Class<?> vertexInputFormatClass) { getConfiguration().setClass(VERTEX_INPUT_FORMAT_CLASS, vertexInputFormatClass, VertexInputFormat.class); } /** * Set the vertex output format class (optional) * * @param vertexOutputFormatClass Determines how graph is output */ public final void setVertexOutputFormatClass( Class<?> vertexOutputFormatClass) { getConfiguration().setClass(VERTEX_OUTPUT_FORMAT_CLASS, vertexOutputFormatClass, VertexOutputFormat.class); } /** * Set the vertex combiner class (optional) * * @param vertexCombinerClass Determines how vertex messages are combined */ public final void setVertexCombinerClass(Class<?> vertexCombinerClass) { getConfiguration().setClass(VERTEX_COMBINER_CLASS, vertexCombinerClass, VertexCombiner.class); } /** * Set the graph partitioner class (optional) * * @param graphPartitionerFactoryClass Determines how the graph is partitioned */ public final void setGraphPartitionerFactoryClass( Class<?> graphPartitionerFactoryClass) { getConfiguration().setClass(GRAPH_PARTITIONER_FACTORY_CLASS, graphPartitionerFactoryClass, GraphPartitionerFactory.class); } /** * Set the vertex resolver class (optional) * * @param vertexResolverClass Determines how vertex mutations are resolved */ public final void setVertexResolverClass(Class<?> vertexResolverClass) { getConfiguration().setClass(VERTEX_RESOLVER_CLASS, vertexResolverClass, VertexResolver.class); } /** * Set the worker context class (optional) * * @param workerContextClass Determines what code is executed on a each * worker before and after each superstep and computation */ public final void setWorkerContextClass(Class<?> workerContextClass) { getConfiguration().setClass(WORKER_CONTEXT_CLASS, workerContextClass, WorkerContext.class); } ...etc. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira