-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/10564/
-----------------------------------------------------------

(Updated April 25, 2013, 12:27 a.m.)


Review request for giraph.


Changes
-------

I revisited my approach - instead of each input format having to know its index 
and having configuration parameters set based on that index, I am putting all 
input format specific settings inside of one Configuration parameter, in JSON 
format, like
giraph.edgeInputFormatDescriptions=[["EIF1",{"p":"v1"}],["EIF2",{"p":"v2","q":"v"}]]
This would mean that we are using two edge input formats - EIF1 and EIF2. What 
happens in the infrastructure is that when EIF1 is created we also create a 
copy of Configuration in which we set p=v1, 
and for EIF2 p=v2 and q=v. This means that input formats can just call 
conf.get("p") and they will be getting the parameters they need - they don't 
need to know anything about existence of other input formats or their index.

Again I did only edge input part, and added support only in HiveGiraphRunner, 
hoping for constructive feedback before proceeding :-)


Description
-------

For now, I did this only for Edge input, once I get some feedback I'll do the 
exactly same thing for vertex input.
Also, I added direct support only to HiveGiraphRunner, we can extend it later 
to others as well.


This addresses bug GIRAPH-639.
    https://issues.apache.org/jira/browse/GIRAPH-639


Diffs (updated)
-----

  giraph-core/src/main/java/org/apache/giraph/bsp/BspService.java 178c96f 
  giraph-core/src/main/java/org/apache/giraph/conf/GiraphClasses.java 4a0e8f7 
  giraph-core/src/main/java/org/apache/giraph/conf/GiraphConfiguration.java 
795cd0c 
  giraph-core/src/main/java/org/apache/giraph/conf/GiraphConstants.java 6a5949e 
  
giraph-core/src/main/java/org/apache/giraph/conf/ImmutableClassesGiraphConfiguration.java
 f5a926f 
  
giraph-core/src/main/java/org/apache/giraph/io/internal/EdgeInputFormatDescription.java
 PRE-CREATION 
  
giraph-core/src/main/java/org/apache/giraph/io/internal/InputFormatDescription.java
 PRE-CREATION 
  
giraph-core/src/main/java/org/apache/giraph/job/GiraphConfigurationValidator.java
 cc6b126 
  giraph-core/src/main/java/org/apache/giraph/master/BspServiceMaster.java 
2c1a679 
  giraph-core/src/main/java/org/apache/giraph/utils/InternalVertexRunner.java 
029cb5d 
  giraph-core/src/main/java/org/apache/giraph/worker/BspServiceWorker.java 
01937ab 
  
giraph-core/src/main/java/org/apache/giraph/worker/EdgeInputSplitsCallable.java 
de1e774 
  
giraph-core/src/main/java/org/apache/giraph/worker/EdgeInputSplitsCallableFactory.java
 4a1705b 
  giraph-hive/src/main/java/org/apache/giraph/hive/HiveGiraphRunner.java 
8d67c1d 

Diff: https://reviews.apache.org/r/10564/diff/


Testing
-------

mvn clean verify
Run application with two edge input tables - verified results.


Thanks,

Maja Kabiljo

Reply via email to