public class ToolRunner extends ToolExecutor implements java.util.concurrent.Callable<java.lang.Integer>, InitializingBean
ToolRunner allowing for an easier configuration and execution
of Tool instances inside Spring.
Optionally returns the execution result (as an int per Tool.run(String[])).
To make the runner execute at startup, use setRunAtStartup(boolean).
| Constructor and Description |
|---|
ToolRunner() |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet() |
java.lang.Integer |
call() |
protected java.lang.ClassLoader |
createClassLoaderForJar(Resource jar,
java.lang.ClassLoader parentCL,
Configuration cfg) |
protected void |
postExecution(Configuration cfg) |
protected void |
preExecution(Configuration cfg) |
protected Configuration |
resolveConfiguration() |
protected java.lang.Class<T> |
resolveTargetClass(Configuration cfg) |
protected T |
resolveTargetObject(java.lang.Class<T> type) |
protected int |
runCode() |
void |
setArchives(Resource... archives)
Sets the archives to be unarchive to the map reduce cluster.
|
void |
setArguments(java.lang.String... arguments)
Sets the arguments.
|
void |
setBeanClassLoader(java.lang.ClassLoader classLoader) |
void |
setCloseFs(boolean closeFs)
Indicates whether or not to close the Hadoop file-systems
resulting from the custom code execution.
|
void |
setConfiguration(Configuration configuration)
Sets the configuration.
|
void |
setFiles(Resource... files)
Sets the files to be copied to the map reduce cluster.
|
void |
setJar(Resource jar)
Sets the target code jar.
|
void |
setLibs(Resource... libJars)
Sets the jar files to include in the classpath.
|
void |
setPostAction(java.util.Collection<java.util.concurrent.Callable<?>> actions)
Actions to be invoked after running the action.
|
void |
setPreAction(java.util.Collection<java.util.concurrent.Callable<?>> actions)
Actions to be invoked before running the action.
|
void |
setProperties(java.util.Properties properties)
Sets the properties.
|
void |
setRunAtStartup(boolean runAtStartup)
Indicates whether the tool should run at container startup (the default) or not.
|
void |
setUser(java.lang.String user)
Sets the user impersonation (optional) for running this job.
|
invokeTargetObject, loadClass, setTool, setToolClasspublic java.lang.Integer call()
throws java.lang.Exception
call in interface java.util.concurrent.Callable<java.lang.Integer>java.lang.Exceptionpublic void afterPropertiesSet()
throws java.lang.Exception
afterPropertiesSet in interface InitializingBeanjava.lang.Exceptionpublic void setRunAtStartup(boolean runAtStartup)
runAtStartup - The runAtStartup to set.public void setPreAction(java.util.Collection<java.util.concurrent.Callable<?>> actions)
actions - actionspublic void setPostAction(java.util.Collection<java.util.concurrent.Callable<?>> actions)
actions - actionsprotected int runCode()
throws java.lang.Exception
java.lang.Exceptionprotected Configuration resolveConfiguration() throws java.lang.Exception
java.lang.Exceptionprotected java.lang.Class<T> resolveTargetClass(Configuration cfg) throws java.lang.Exception
java.lang.Exceptionprotected T resolveTargetObject(java.lang.Class<T> type)
protected java.lang.ClassLoader createClassLoaderForJar(Resource jar, java.lang.ClassLoader parentCL, Configuration cfg)
protected void preExecution(Configuration cfg)
protected void postExecution(Configuration cfg)
public void setJar(Resource jar)
jar - target jarpublic void setArguments(java.lang.String... arguments)
arguments - The arguments to set.public void setConfiguration(Configuration configuration)
configuration - The configuration to set.public void setProperties(java.util.Properties properties)
properties - The properties to set.public void setBeanClassLoader(java.lang.ClassLoader classLoader)
setBeanClassLoader in interface BeanClassLoaderAwarepublic void setCloseFs(boolean closeFs)
closeFs - the new close fspublic void setLibs(Resource... libJars)
mydir/*.jar), which the
Spring container will automatically resolve.libJars - The jar files to include in the classpath.public void setFiles(Resource... files)
mydir/*.txt), which the
Spring container will automatically resolve.files - The files to copy.public void setArchives(Resource... archives)
mydir/*.zip), which the
Spring container will automatically resolve.archives - The archives to unarchive on the compute machines.public void setUser(java.lang.String user)
user - user/group information