storm-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From DashengJu <>
Subject does trident state HBaseMapState can privode transactional state on normal stream?
Date Thu, 11 Dec 2014 02:52:40 GMT
hi, all

I am using trident and trident state now. I have some problem with State
and MapState.

Let's use storm-hbase to show the problem. storm-hbase trident have two
state type:
1) HBaseState+HBaseStateFactor+HBaseQuery+HBaseUpdater ;
2) HBaseMapState;

The HBaseState implement State interface, should be used with Stream's
partitionPersist() and stateQuery(), and not support transactional and

The HBaseMapState implements IBackingMap, should be used with Stream's
persistentAggregate() and GroupedStream's persistentAggregate(). Support
non-transctional, transactional, opaque-transactional.
With GroupedStream's persistentAggregate(), it called the MapState
interface, can be used to persistent one aggregator's output to hbase's
But with Stream's persistentAggregate(), it called the Snapshottable
interface, it can only be used to persistent one global key to hbase's

My problem is :
1) is there any HBaseState or RedisState to support  transactional and
opaque-transactional? any example?
2) whether HBaseMapState can be used with Stream's partitionPersist()? do i
need to write my owner updater and querier?
3) HBaseMapState  with Stream's persistentAggregate(), why not support
other interface than Snapshottable? I means why not support to persistent
two field of the stream to hbase?


+86 13810875910

View raw message