public class ToolRunner extends ToolExecutor implements Callable<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() |
Integer |
call() |
protected ClassLoader |
createClassLoaderForJar(Resource jar,
ClassLoader parentCL,
Configuration cfg) |
protected void |
postExecution(Configuration cfg) |
protected void |
preExecution(Configuration cfg) |
protected Configuration |
resolveConfiguration() |
protected Class<T> |
resolveTargetClass(Configuration cfg) |
protected T |
resolveTargetObject(Class<T> type) |
protected int |
runCode() |
void |
setArchives(Resource... archives)
Sets the archives to be unarchive to the map reduce cluster.
|
void |
setArguments(String... arguments)
Sets the arguments.
|
void |
setBeanClassLoader(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(Collection<Callable<?>> actions)
Actions to be invoked after running the action.
|
void |
setPreAction(Collection<Callable<?>> actions)
Actions to be invoked before running the action.
|
void |
setProperties(Properties properties)
Sets the properties.
|
void |
setRunAtStartup(boolean runAtStartup)
Indicates whether the tool should run at container startup (the default) or not.
|
void |
setUser(String user)
Sets the user impersonation (optional) for running this job.
|
invokeTargetObject, loadClass, setTool, setToolClasspublic void afterPropertiesSet()
throws Exception
afterPropertiesSet in interface InitializingBeanExceptionpublic void setRunAtStartup(boolean runAtStartup)
runAtStartup - The runAtStartup to set.public void setPreAction(Collection<Callable<?>> actions)
actions - actionspublic void setPostAction(Collection<Callable<?>> actions)
actions - actionsprotected Configuration resolveConfiguration() throws Exception
Exceptionprotected Class<T> resolveTargetClass(Configuration cfg) throws Exception
Exceptionprotected T resolveTargetObject(Class<T> type)
protected ClassLoader createClassLoaderForJar(Resource jar, ClassLoader parentCL, Configuration cfg)
protected void preExecution(Configuration cfg)
protected void postExecution(Configuration cfg)
public void setJar(Resource jar)
jar - target jarpublic void setArguments(String... arguments)
arguments - The arguments to set.public void setConfiguration(Configuration configuration)
configuration - The configuration to set.public void setProperties(Properties properties)
properties - The properties to set.public void setBeanClassLoader(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(String user)
user - user/group information