public class ToolRunner extends ToolExecutor implements java.util.concurrent.Callable<java.lang.Integer>, org.springframework.beans.factory.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(org.springframework.core.io.Resource jar,
java.lang.ClassLoader parentCL,
org.apache.hadoop.conf.Configuration cfg) |
protected void |
postExecution(org.apache.hadoop.conf.Configuration cfg) |
protected void |
preExecution(org.apache.hadoop.conf.Configuration cfg) |
protected org.apache.hadoop.conf.Configuration |
resolveConfiguration() |
protected java.lang.Class<T> |
resolveTargetClass(org.apache.hadoop.conf.Configuration cfg) |
protected T |
resolveTargetObject(java.lang.Class<T> type) |
protected int |
runCode() |
void |
setArchives(org.springframework.core.io.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(org.apache.hadoop.conf.Configuration configuration)
Sets the configuration.
|
void |
setFiles(org.springframework.core.io.Resource... files)
Sets the files to be copied to the map reduce cluster.
|
void |
setJar(org.springframework.core.io.Resource jar)
Sets the target code jar.
|
void |
setLibs(org.springframework.core.io.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, setToolClass
public java.lang.Integer call() throws java.lang.Exception
call
in interface java.util.concurrent.Callable<java.lang.Integer>
java.lang.Exception
public void afterPropertiesSet() throws java.lang.Exception
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
java.lang.Exception
public 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.Exception
protected org.apache.hadoop.conf.Configuration resolveConfiguration() throws java.lang.Exception
java.lang.Exception
protected java.lang.Class<T> resolveTargetClass(org.apache.hadoop.conf.Configuration cfg) throws java.lang.Exception
java.lang.Exception
protected T resolveTargetObject(java.lang.Class<T> type)
protected java.lang.ClassLoader createClassLoaderForJar(org.springframework.core.io.Resource jar, java.lang.ClassLoader parentCL, org.apache.hadoop.conf.Configuration cfg)
protected void preExecution(org.apache.hadoop.conf.Configuration cfg)
protected void postExecution(org.apache.hadoop.conf.Configuration cfg)
public void setJar(org.springframework.core.io.Resource jar)
jar
- target jarpublic void setArguments(java.lang.String... arguments)
arguments
- The arguments to set.public void setConfiguration(org.apache.hadoop.conf.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 org.springframework.beans.factory.BeanClassLoaderAware
public void setCloseFs(boolean closeFs)
closeFs
- the new close fspublic void setLibs(org.springframework.core.io.Resource... libJars)
mydir/*.jar
), which the
Spring container will automatically resolve.libJars
- The jar files to include in the classpath.public void setFiles(org.springframework.core.io.Resource... files)
mydir/*.txt
), which the
Spring container will automatically resolve.files
- The files to copy.public void setArchives(org.springframework.core.io.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