Class FluxShellBolt
java.lang.Object
org.apache.storm.task.ShellBolt
org.apache.storm.flux.wrappers.bolts.FluxShellBolt
- All Implemented Interfaces:
Serializable
,IBolt
,IComponent
,IRichBolt
A generic `ShellBolt` implementation that allows you specify output fields
and even streams without having to subclass `ShellBolt` to do so.
- See Also:
-
Field Summary
Fields inherited from class org.apache.storm.task.ShellBolt
HEARTBEAT_STREAM_ID, LOG
-
Constructor Summary
ConstructorDescriptionFluxShellBolt
(String[] command) Create a ShellBolt with command line arguments.FluxShellBolt
(String[] command, String[] outputFields) Create a ShellBolt with command line arguments and output fields Keep this constructor for backward compatibility. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addComponentConfig
(String key, Object value) Add configuration for this bolt.void
addComponentConfig
(String key, List<Object> values) Add configuration for this bolt.void
declareOutputFields
(OutputFieldsDeclarer declarer) Declare the output schema for all the streams of this topology.Declare configuration specific to this component.void
setDefaultStream
(String[] outputFields) Set default stream outputFields, this method is called from YAML file:void
setNamedStream
(String name, String[] outputFields) Set custom *named* stream outputFields, this method is called from YAML file:Methods inherited from class org.apache.storm.task.ShellBolt
changeChildCWD, cleanup, execute, prepare, setEnv, shouldChangeChildCWD
-
Constructor Details
-
FluxShellBolt
Create a ShellBolt with command line arguments.- Parameters:
command
- Command line arguments for the bolt
-
FluxShellBolt
Create a ShellBolt with command line arguments and output fields Keep this constructor for backward compatibility.- Parameters:
command
- Command line arguments for the boltoutputFields
- Names of fields the bolt will emit (if any).
-
-
Method Details
-
addComponentConfig
Add configuration for this bolt. This method is called from YAML file: ``` className: "org.apache.storm.flux.wrappers.bolts.FluxShellBolt" constructorArgs: # command line - ["python3", "splitsentence.py"] # output fields - ["word"] configMethods: - name: "addComponentConfig" args: ["publisher.data_paths", "actions"] ```- Parameters:
key
- config keyvalue
- config value
-
addComponentConfig
Add configuration for this bolt. This method is called from YAML file: ``` className: "org.apache.storm.flux.wrappers.bolts.FluxShellBolt" constructorArgs: # command line - ["python3", "splitsentence.py"] # output fields - ["word"] configMethods: - name: "addComponentConfig" args: - "publisher.data_paths" - ["actions"] ```- Parameters:
key
- config keyvalues
- config values
-
setDefaultStream
Set default stream outputFields, this method is called from YAML file: ``` bolts: - className: org.apache.storm.flux.wrappers.bolts.FluxShellBolt id: my_bolt constructorArgs: - [python3, my_bolt.py] configMethods: - name: setDefaultStream args: - [word, count] ```- Parameters:
outputFields
- Names of fields the bolt will emit (if any) in default stream.
-
setNamedStream
Set custom *named* stream outputFields, this method is called from YAML file: ``` bolts: - className: org.apache.storm.flux.wrappers.bolts.FluxShellBolt id: my_bolt constructorArgs: - [python3, my_bolt.py] configMethods: - name: setNamedStream args: - first - [word, count] ```- Parameters:
name
- Name of stream the bolt will emit into.outputFields
- Names of fields the bolt will emit in custom *named* stream.
-
declareOutputFields
Description copied from interface:IComponent
Declare the output schema for all the streams of this topology.- Specified by:
declareOutputFields
in interfaceIComponent
- Parameters:
declarer
- this is used to declare output stream ids, output fields, and whether or not each output stream is a direct stream
-
getComponentConfiguration
Description copied from interface:IComponent
Declare configuration specific to this component. Only a subset of the "topology.*" configs can be overridden. The component configuration can be further overridden when constructing the topology usingTopologyBuilder
- Specified by:
getComponentConfiguration
in interfaceIComponent
-