An ExecType is selected based off the Properties for the given script.
There may be multiple settings that trigger the selection of a given
ExecType. For example, distributed MR mode is currently triggered if the
user specifies "mapred" or "mapreduce". It is desirable to override the
toString method of the given ExecType to uniquely identify the ExecType.
The initialize method should return true if it accepts the properties or
false if it does not. The Java ServiceLoader framework will be used to
iterate through and select the correct ExecType.
Returns the Execution Engine that this ExecType is associated with. Once
the ExecType the script is running in is determined by the PigServer, it
will then call this method to get an instance of the ExecutionEngine
associated with this ExecType to delegate all further execution to on the
An ExecType is classified as local if it runs in-process and through the
local filesystem. While an ExecutionEngine may have a more nuanced notion
of local mode, these are the qualifications Pig requires.
ExecutionEngines can extend the ExecType interface to additionally
differentiate between ExecTypes as necessary.