public class FluxShellBolt extends ShellBolt implements IRichBolt
A generic ShellBolt implementation that allows you specify output fields and even streams without having to subclass ShellBolt to do so.
HEARTBEAT_STREAM_ID, LOG| Constructor and Description |
|---|
FluxShellBolt(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.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addComponentConfig(String key,
List<Object> values)
Add configuration for this bolt.
|
void |
addComponentConfig(String key,
Object value)
Add configuration for this bolt.
|
void |
declareOutputFields(OutputFieldsDeclarer declarer)
Declare the output schema for all the streams of this topology.
|
Map<String,Object> |
getComponentConfiguration()
Declare configuration specific to this component.
|
void |
setDefaultStream(String[] outputFields)
Set default stream outputFields, this method is called from YAML file:
bolts:
- className: org.apache.storm.flux.wrappers.bolts.FluxShellBolt
id: my_bolt
constructorArgs:
- [python, my_bolt.py]
configMethods:
- name: setDefaultStream
args:
- [word, count]
|
void |
setNamedStream(String name,
String[] outputFields)
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:
- [python, my_bolt.py]
configMethods:
- name: setNamedStream
args:
- first
- [word, count]
|
changeChildCWD, cleanup, execute, prepare, setEnv, shouldChangeChildCWDpublic FluxShellBolt(String[] command)
Create a ShellBolt with command line arguments.
command - Command line arguments for the boltpublic FluxShellBolt(String[] command, String[] outputFields)
Create a ShellBolt with command line arguments and output fields Keep this constructor for backward compatibility.
command - Command line arguments for the boltoutputFields - Names of fields the bolt will emit (if any).public void addComponentConfig(String key, Object value)
Add configuration for this bolt. This method is called from YAML file:
className: "org.apache.storm.flux.wrappers.bolts.FluxShellBolt"
constructorArgs:
# command line
- ["python", "splitsentence.py"]
# output fields
- ["word"]
configMethods:
- name: "addComponentConfig"
args: ["publisher.data_paths", "actions"]
key - config keyvalue - config valuepublic void addComponentConfig(String key, List<Object> values)
Add configuration for this bolt. This method is called from YAML file:
className: "org.apache.storm.flux.wrappers.bolts.FluxShellBolt"
constructorArgs:
# command line
- ["python", "splitsentence.py"]
# output fields
- ["word"]
configMethods:
- name: "addComponentConfig"
args:
- "publisher.data_paths"
- ["actions"]
key - config keyvalues - config valuespublic void setDefaultStream(String[] outputFields)
Set default stream outputFields, this method is called from YAML file:
bolts:
- className: org.apache.storm.flux.wrappers.bolts.FluxShellBolt
id: my_bolt
constructorArgs:
- [python, my_bolt.py]
configMethods:
- name: setDefaultStream
args:
- [word, count]
outputFields - Names of fields the bolt will emit (if any) in default stream.public void setNamedStream(String name, String[] outputFields)
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:
- [python, my_bolt.py]
configMethods:
- name: setNamedStream
args:
- first
- [word, count]
name - Name of stream the bolt will emit into.outputFields - Names of fields the bolt will emit in custom named stream.public void declareOutputFields(OutputFieldsDeclarer declarer)
IComponentDeclare the output schema for all the streams of this topology.
declareOutputFields in interface IComponentdeclarer - this is used to declare output stream ids, output fields, and whether or not each output stream is a direct streampublic Map<String,Object> getComponentConfiguration()
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 using TopologyBuilder
getComponentConfiguration in interface IComponentCopyright © 2021 The Apache Software Foundation. All rights reserved.