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, shouldChangeChildCWD
public 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)
IComponent
Declare the output schema for all the streams of this topology.
declareOutputFields
in interface IComponent
declarer
- 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()
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 using TopologyBuilder
getComponentConfiguration
in interface IComponent
Copyright © 2022 The Apache Software Foundation. All Rights Reserved.