You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by DashengJu <da...@gmail.com> on 2014/12/11 03:52:40 UTC

does trident state HBaseMapState can privode transactional state on normal stream?

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
opaque-transactional.

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
field;
But with Stream's persistentAggregate(), it called the Snapshottable
interface, it can only be used to persistent one global key to hbase's
field;

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?

thanks

-- 
dashengju
+86 13810875910
dashengju@gmail.com