Package org.apache.storm.jdbc.bolt
Class JdbcInsertBolt
- All Implemented Interfaces:
Serializable,IBolt,IComponent,IRichBolt
Basic bolt for writing to any Database table.
Note: Each JdbcInsertBolt defined in a topology is tied to a specific table.
- See Also:
-
Field Summary
Fields inherited from class org.apache.storm.jdbc.bolt.AbstractJdbcBolt
collector, configKey, connectionProvider, jdbcClient, queryTimeoutSecs -
Constructor Summary
ConstructorsConstructorDescriptionJdbcInsertBolt(ConnectionProvider connectionProvider, JdbcMapper jdbcMapper) -
Method Summary
Modifier and TypeMethodDescriptionvoiddeclareOutputFields(OutputFieldsDeclarer outputFieldsDeclarer) Declare the output schema for all the streams of this topology.voidprepare(Map<String, Object> map, TopologyContext topologyContext, OutputCollector collector) Subclasses should call this to ensure output collector and connection provider are set up, and finally jdbcClient is initialized properly.protected voidProcess a single non-tick tuple of input.withInsertQuery(String insertQuery) withQueryTimeoutSecs(int queryTimeoutSecs) withTableName(String tableName) Methods inherited from class org.apache.storm.jdbc.bolt.AbstractJdbcBolt
cleanupMethods inherited from class org.apache.storm.topology.base.BaseTickTupleAwareRichBolt
execute, onTickTupleMethods inherited from class org.apache.storm.topology.base.BaseComponent
getComponentConfigurationMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.storm.topology.IComponent
getComponentConfiguration
-
Constructor Details
-
JdbcInsertBolt
-
-
Method Details
-
withTableName
-
withInsertQuery
-
withQueryTimeoutSecs
-
prepare
public void prepare(Map<String, Object> map, TopologyContext topologyContext, OutputCollector collector) Description copied from class:AbstractJdbcBoltSubclasses should call this to ensure output collector and connection provider are set up, and finally jdbcClient is initialized properly. Called when a task for this component is initialized within a worker on the cluster. It provides the bolt with the environment in which the bolt executes.This includes the:
- Specified by:
preparein interfaceIBolt- Overrides:
preparein classAbstractJdbcBolt- Parameters:
map- The Storm configuration for this bolt. This is the configuration provided to the topology merged in with cluster configuration on this machine.topologyContext- This object can be used to get information about this task's place within the topology, including the task id and component id of this task, input and output information, etc.collector- The collector is used to emit tuples from this bolt. Tuples can be emitted at any time, including the prepare and cleanup methods. The collector is thread-safe and should be saved as an instance variable of this bolt object.
-
process
Description copied from class:BaseTickTupleAwareRichBoltProcess a single non-tick tuple of input. Implementation needs to handle ack manually. More details onIBolt.execute(Tuple).- Specified by:
processin classBaseTickTupleAwareRichBolt- Parameters:
tuple- The input tuple to be processed.
-
declareOutputFields
Description copied from interface:IComponentDeclare the output schema for all the streams of this topology.- Parameters:
outputFieldsDeclarer- this is used to declare output stream ids, output fields, and whether or not each output stream is a direct stream
-