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