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
|
Modifier and Type | Method and Description |
---|---|
void |
declareOutputFields(OutputFieldsDeclarer declarer) |
Map<String,Object> |
getComponentConfiguration() |
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:
|
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 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)
declareOutputFields
in interface IComponent
public Map<String,Object> getComponentConfiguration()
getComponentConfiguration
in interface IComponent
Copyright © 2016 The Apache Software Foundation. All Rights Reserved.