Achal Soni created PIG-3419:
-------------------------------

             Summary: Pluggable Execution Engine 
                 Key: PIG-3419
                 URL: https://issues.apache.org/jira/browse/PIG-3419
             Project: Pig
          Issue Type: New Feature
    Affects Versions: 0.12
            Reporter: Achal Soni
            Priority: Minor


In an effort to adapt Pig to work using Apache Tez 
(https://issues.apache.org/jira/browse/TEZ), I made some changes to allow for a 
cleaner ExecutionEngine abstraction than existed before. The changes are not 
that major as Pig was already relatively abstracted out between the frontend 
and backend. The changes in the attached commit are essentially the barebones 
changes -- I tried to not change the structure of Pig's different components 
too much. I think it will be interesting to see in the future how we can 
refactor more areas of Pig to really honor this abstraction between the 
frontend and backend. 

Some of the changes was to reinstate an ExecutionEngine interface to tie 
together the front end and backend, and making the changes in Pig to delegate 
to the EE when necessary, and creating an MRExecutionEngine that implements 
this interface. Other work included changing ExecType to cycle through the 
ExecutionEngines on the classpath and select the appropriate one (this is done 
using Java ServiceLoader, exactly how MapReduce does for choosing the framework 
to use between local and distributed mode). Also I tried to make ScriptState, 
JobStats, and PigStats as abstract as possible in its current state. I think in 
the future some work will need to be done here to perhaps re-evaluate the usage 
of ScriptState and the responsibilities of the different statistics classes. I 
haven't touched the PPNL, but I think more abstraction is needed here, perhaps 
in a separate patch. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to