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
ConstructorsConstructorDescriptionFluxShellBolt(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 TypeMethodDescriptionvoidaddComponentConfig(String key, Object value) Add configuration for this bolt.voidaddComponentConfig(String key, List<Object> values) Add configuration for this bolt.voiddeclareOutputFields(OutputFieldsDeclarer declarer) Declare the output schema for all the streams of this topology.Declare configuration specific to this component.voidsetDefaultStream(String[] outputFields) Set default stream outputFields, this method is called from YAML file:voidsetNamedStream(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:IComponentDeclare the output schema for all the streams of this topology.- Specified by:
declareOutputFieldsin 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:IComponentDeclare 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:
getComponentConfigurationin interfaceIComponent
-