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

Review request for giraph.


Description
-------

Currently we heavily rely on some runners (HCatGiraphRunner and 
HiveGiraphRunner) to prepare Configuration before application starts, and we 
have no way of using hcat/hive io without these runners. It would be better and 
more flexible if io formats would add what's needed for underlying io to 
Configuration themselves.

Unfortunately this is not as straightforward as it sounds, because methods from 
io formats, readers/writers/OutputCommitter have JobContext or 
TaskAttemptContext as an argument, and in some cases those hold the copy of 
Configuration, not the original. So I added a way to track which parameters 
where added to GiraphConfiguration, and wrapped all io related calls to append 
those parameters to JobContext/TaskAttemptContext before passing control to 
actual io formats.

Cleaned up HiveGiraphRunner and moved all control to its io formats, I can do 
similar for HCatalog in a separate patch.

This will also help us do GIRAPH-639 in a cleaner way, and it will actually be 
possible to mix different kind of input formats (hcat, hive, hbase, or 
whatever).


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


Diffs
-----

  giraph-core/src/main/java/org/apache/giraph/bsp/BspOutputFormat.java 574895c 
  giraph-core/src/main/java/org/apache/giraph/conf/GiraphConfiguration.java 
7f9e38e 
  
giraph-core/src/main/java/org/apache/giraph/conf/ImmutableClassesGiraphConfiguration.java
 8dfe546 
  giraph-core/src/main/java/org/apache/giraph/io/EdgeInputFormat.java 43cc7be 
  giraph-core/src/main/java/org/apache/giraph/io/VertexInputFormat.java b3f234f 
  giraph-core/src/main/java/org/apache/giraph/io/VertexOutputFormat.java 
71eb665 
  
giraph-core/src/main/java/org/apache/giraph/io/internal/WrappedEdgeInputFormat.java
 PRE-CREATION 
  
giraph-core/src/main/java/org/apache/giraph/io/internal/WrappedVertexInputFormat.java
 PRE-CREATION 
  
giraph-core/src/main/java/org/apache/giraph/io/internal/WrappedVertexOutputFormat.java
 PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/io/internal/package-info.java 
PRE-CREATION 
  
giraph-core/src/main/java/org/apache/giraph/io/superstep_output/MultiThreadedSuperstepOutput.java
 af086e1 
  
giraph-core/src/main/java/org/apache/giraph/io/superstep_output/SynchronizedSuperstepOutput.java
 2a7af29 
  giraph-core/src/main/java/org/apache/giraph/master/BspServiceMaster.java 
d01dbb4 
  giraph-core/src/main/java/org/apache/giraph/worker/BspServiceWorker.java 
037cdfc 
  
giraph-core/src/main/java/org/apache/giraph/worker/EdgeInputSplitsCallable.java 
afb636b 
  
giraph-core/src/main/java/org/apache/giraph/worker/VertexInputSplitsCallable.java
 c426032 
  giraph-examples/src/test/java/org/apache/giraph/TestBspBasic.java e034b2f 
  giraph-hive/src/main/java/org/apache/giraph/hive/HiveGiraphRunner.java 
6e40b7f 
  
giraph-hive/src/main/java/org/apache/giraph/hive/common/GiraphHiveConstants.java
 f8363b1 
  giraph-hive/src/main/java/org/apache/giraph/hive/common/HiveProfiles.java 
892d443 
  giraph-hive/src/main/java/org/apache/giraph/hive/common/HiveUtils.java 
PRE-CREATION 
  
giraph-hive/src/main/java/org/apache/giraph/hive/input/edge/HiveEdgeInputFormat.java
 c482cf0 
  
giraph-hive/src/main/java/org/apache/giraph/hive/input/vertex/HiveVertexInputFormat.java
 097aeef 
  
giraph-hive/src/main/java/org/apache/giraph/hive/output/HiveVertexOutputFormat.java
 45c9ca3 
  giraph-hive/src/main/java/org/apache/giraph/hive/output/HiveVertexWriter.java 
0215428 

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


Testing
-------

mvn clean verify
Real application run with hive io


Thanks,

Maja Kabiljo

Reply via email to