storm-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From DashengJu <dashen...@gmail.com>
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
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

Mime
View raw message