class jStateMgmt extends Serializable
State Management, for object tracking over a period of time, use for metadata in json
// init state management val stateMgmt = new StateMgmt(config) //usage for dataset of Message dataset .groupByKey(msg => msg.key) .mapGroupsWithState(processingTimeTimeout())(stateMgmt.updateBehavior)
- Alphabetic
- By Inheritance
- jStateMgmt
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new jStateMgmt(config: Map[String, String])
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
groupBySensorId(id: String, inputs: Iterator[String]): (String, List[String])
used with simple map group for behavior JSON
used with simple map group for behavior JSON
dataset //Behavior JSON dataset .groupByKey { json => val sensorId = extract sensorId from json sensorId }.mapGroups(stateMgmt.groupBySensorId)
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
updateBehavior(objectId: String, inputs: Iterator[jMessage], oldState: GroupState[jObjectState]): Option[jBehavior]
tracks and maintains state for a given object in GEO spatial coordinates, internally named ObjectState, the ID is uniquely identified using sensorId + ObjectId
tracks and maintains state for a given object in GEO spatial coordinates, internally named ObjectState, the ID is uniquely identified using sensorId + ObjectId
it does the following functions
- remove any ObjectState which is timed out.
- create new ObjectState, if no similar objectId was seen before or existing ObjectId was last seen long time back
- update existing ObjectState if the new data event timestamp is within configurable time span
- prune ObjectState as needed, when the object is seen for long period of times, say parked car, the number of points are pruned to reduce the memory footprint
ObjectState management saves/stores least amount of information to reduce the storage,
- sensorId + objectId
- start and end timestamp
- sequence of geo points
- object specific attributes are stored as json, example car vs people attributes. Json/string is used to keep the ObjectState portable across different kind of possible object application need to support
- other attributes like Pose, Gaze, Gesture
The internal state is translated to Object com.nvidia.mdx.core.schema.jBehavior before sending it to any sink for consumption
this function is used in conjuction to "apache spark Stateful transformations with mapGroupsWithState" The mapGroupsWithState(timeoutConf: GroupStateTimeout)(func: (K, Iterator[V], GroupState[S]) => U) is a transformation applied on a group of data. Since it requires the data to be grouped, it introduces a big risk of shuffling. The state is computed by calling the parameter called func (in this case updateTrajectory). This transformation can be used on a bounder and unbounded source. For this first case, the final state is computed immediately while in the second one the state can change in every triggered processing. It's the reason why it's stored in a fault-tolerant store between subsequent invocations.
-
def
updateBehaviorE(objectId: String, inputs: Iterator[jMessage], oldState: GroupState[jObjectState]): Option[jBehavior]
tracks and maintains state for a given object Euclidean space , internally named ObjectState, the ID is uniquely identified using sensorId + ObjectId
tracks and maintains state for a given object Euclidean space , internally named ObjectState, the ID is uniquely identified using sensorId + ObjectId
it does the following functions
- remove any ObjectState which is timed out.
- create new ObjectState, if no similar objectId was seen before or existing ObjectId was last seen long time back
- update existing ObjectState if the new data event timestamp is within configurable time span
- prune ObjectState as needed, when the object is seen for long period of times, say parked car, the number of points are pruned to reduce the memory footprint
ObjectState state management saves/stores least amount of information to reduce the storage,
- sensorId + objectId
- start and end timestamp
- sequence of geo points
- object specific attributes are stored as json, example car vs people attributes. Json/string is used to keep the ObjectState portable across different kind of possible object application need to support
- other attributes like Pose, Gaze, Gesture
The internal state is translated to Object com.nvidia.mdx.core.schema.jBehavior before sending it to any sink for consumption
this function is used in conjuction to "apache spark Stateful transformations with mapGroupsWithState" The mapGroupsWithState(timeoutConf: GroupStateTimeout)(func: (K, Iterator[V], GroupState[S]) => U) is a transformation applied on a group of data. Since it requires the data to be grouped, it introduces a big risk of shuffling. The state is computed by calling the parameter called func (in this case updateTrajectory). This transformation can be used on a bounder and unbounded source. For this first case, the final state is computed immediately while in the second one the state can change in every triggered processing. It's the reason why it's stored in a fault-tolerant store between subsequent invocations.
-
def
updateBehaviorEwithTripwire(objectId: String, inputs: Iterator[jMessage], oldState: GroupState[jObjectState]): Option[(jBehavior, jBehavior)]
tracks and maintains state for a given object Euclidean space , internally named ObjectState, the ID is uniquely identified using sensorId + ObjectId
tracks and maintains state for a given object Euclidean space , internally named ObjectState, the ID is uniquely identified using sensorId + ObjectId
it does the following functions
- remove any ObjectState which is timed out.
- create new ObjectState, if no similar objectId was seen before or existing ObjectId was last seen long time back
- update existing ObjectState if the new data event timestamp is within configurable time span
- prune ObjectState as needed, when the object is seen for long period of times, say parked car, the number of points are pruned to reduce the memory footprint
ObjectState management saves/stores least amount of information to reduce the storage,
- sensorId + objectId
- start and end timestamp
- sequence of geo points
- object specific attributes are stored as json, example car vs people attributes. Json/string is used to keep the ObjectState portable across different kind of possible object application need to support
- other attributes like Pose, Gaze, Gesture
The internal state is translated to Object com.nvidia.mdx.core.schema.jBehavior before sending it to any sink for consumption. this also generated partial Behavior, basically partial tracklets for further processing of tripwire events
this function is used in conjuction to "apache spark Stateful transformations with mapGroupsWithState" The mapGroupsWithState(timeoutConf: GroupStateTimeout)(func: (K, Iterator[V], GroupState[S]) => U) is a transformation applied on a group of data. Since it requires the data to be grouped, it introduces a big risk of shuffling. The state is computed by calling the parameter called func (in this case updateTrajectory). This transformation can be used on a bounder and unbounded source. For this first case, the final state is computed immediately while in the second one the state can change in every triggered processing. It's the reason why it's stored in a fault-tolerant store between subsequent invocations.
-
def
updateBehaviorI(objectId: String, inputs: Iterator[jMessage], oldState: GroupState[jObjectState]): Option[(jBehavior, jBehavior)]
tracks and maintains state for a given object Image space , internally named ObjectState, the ID is uniquely identified using sensorId + ObjectId
tracks and maintains state for a given object Image space , internally named ObjectState, the ID is uniquely identified using sensorId + ObjectId
it does the following functions
- remove any ObjectState which is timed out.
- create new ObjectState, if no similar objectId was seen before or existing ObjectId was last seen long time back
- update existing ObjectState if the new data event timestamp is within configurable time span
- prune ObjectState as needed, when the object is seen for long period of times, say parked car, the number of points are pruned to reduce the memory footprint
ObjectState management saves/stores least amount of information to reduce the storage,
- sensorId + objectId
- start and end timestamp
- sequence of geo points
- object specific attributes are stored as json, example car vs people attributes. Json/string is used to keep the ObjectState portable across different kind of possible object application need to support
- other attributes like Pose, Gaze, Gesture
The internal state is translated to Object com.nvidia.mdx.core.schema.jBehavior before sending it to any sink for consumption. this also generated partial Behavior, basically partial tracklets for further processing of tripwire events
this function is used in conjuction to "apache spark Stateful transformations with mapGroupsWithState" The mapGroupsWithState(timeoutConf: GroupStateTimeout)(func: (K, Iterator[V], GroupState[S]) => U) is a transformation applied on a group of data. Since it requires the data to be grouped, it introduces a big risk of shuffling. The state is computed by calling the parameter called func (in this case updateTrajectory). This transformation can be used on a bounder and unbounded source. For this first case, the final state is computed immediately while in the second one the state can change in every triggered processing. It's the reason why it's stored in a fault-tolerant store between subsequent invocations.
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated