Package org.apache.spark.streaming
Class StateSpec<KeyType,ValueType,StateType,MappedType>   
Object
org.apache.spark.streaming.StateSpec<KeyType,ValueType,StateType,MappedType>   
- Type Parameters:
- KeyType- Class of the state key
- ValueType- Class of the state value
- StateType- Class of the state data
- MappedType- Class of the mapped elements
- All Implemented Interfaces:
- Serializable
public abstract class StateSpec<KeyType,ValueType,StateType,MappedType>   
extends Object
implements Serializable
:: Experimental ::
 Abstract class representing all the specifications of the DStream transformation
 
mapWithState operation of a
 pair DStream (Scala) or a
 JavaPairDStream (Java).
 Use org.apache.spark.streaming.StateSpec.function() factory methods
 to create instances of this class.
 Example in Scala:
    // A mapping function that maintains an integer state and return a String
    def mappingFunction(key: String, value: Option[Int], state: State[Int]): Option[String] = {
      // Use state.exists(), state.get(), state.update() and state.remove()
      // to manage state, and return the necessary string
    }
    val spec = StateSpec.function(mappingFunction).numPartitions(10)
    val mapWithStateDStream = keyValueDStream.mapWithState[StateType, MappedType](spec)
 Example in Java:
   // A mapping function that maintains an integer state and return a string
   Function3<String, Optional<Integer>, State<Integer>, String> mappingFunction =
       new Function3<String, Optional<Integer>, State<Integer>, String>() {
           @Override
           public Optional<String> call(Optional<Integer> value, State<Integer> state) {
               // Use state.exists(), state.get(), state.update() and state.remove()
               // to manage state, and return the necessary string
           }
       };
    JavaMapWithStateDStream<String, Integer, Integer, String> mapWithStateDStream =
        keyValueDStream.mapWithState(StateSpec.function(mappingFunc));
 - See Also:
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionstatic <KeyType,ValueType, StateType, MappedType> 
 StateSpec<KeyType,ValueType, StateType, MappedType> Create aStateSpecfor setting all the specifications of themapWithStateoperation on aJavaPairDStream.static <KeyType,ValueType, StateType, MappedType> 
 StateSpec<KeyType,ValueType, StateType, MappedType> function(Function4<Time, KeyType, Optional<ValueType>, State<StateType>, Optional<MappedType>> mappingFunction) Create aStateSpecfor setting all the specifications of themapWithStateoperation on aJavaPairDStream.static <KeyType,ValueType, StateType, MappedType> 
 StateSpec<KeyType,ValueType, StateType, MappedType> function(scala.Function3<KeyType, scala.Option<ValueType>, State<StateType>, MappedType> mappingFunction) Create aStateSpecfor setting all the specifications of themapWithStateoperation on apair DStream.static <KeyType,ValueType, StateType, MappedType> 
 StateSpec<KeyType,ValueType, StateType, MappedType> function(scala.Function4<Time, KeyType, scala.Option<ValueType>, State<StateType>, scala.Option<MappedType>> mappingFunction) Create aStateSpecfor setting all the specifications of themapWithStateoperation on apair DStream.abstract StateSpec<KeyType,ValueType, StateType, MappedType> initialState(JavaPairRDD<KeyType, StateType> javaPairRDD) Set the RDD containing the initial states that will be used bymapWithStateabstract StateSpec<KeyType,ValueType, StateType, MappedType> initialState(RDD<scala.Tuple2<KeyType, StateType>> rdd) Set the RDD containing the initial states that will be used bymapWithStateabstract StateSpec<KeyType,ValueType, StateType, MappedType> numPartitions(int numPartitions) Set the number of partitions by which the state RDDs generated bymapWithStatewill be partitioned.abstract StateSpec<KeyType,ValueType, StateType, MappedType> partitioner(Partitioner partitioner) Set the partitioner by which the state RDDs generated bymapWithStatewill be partitioned.abstract StateSpec<KeyType,ValueType, StateType, MappedType> Set the duration after which the state of an idle key will be removed.
- 
Constructor Details- 
StateSpecpublic StateSpec()
 
- 
- 
Method Details- 
functionpublic static <KeyType,ValueType, StateSpec<KeyType,StateType, MappedType> ValueType, functionStateType, MappedType> (scala.Function4<Time, KeyType, scala.Option<ValueType>, State<StateType>, scala.Option<MappedType>> mappingFunction) Create aStateSpecfor setting all the specifications of themapWithStateoperation on apair DStream.- Parameters:
- mappingFunction- The function applied on every data item to manage the associated state and generate the mapped data
- Returns:
- (undocumented)
 
- 
functionpublic static <KeyType,ValueType, StateSpec<KeyType,StateType, MappedType> ValueType, functionStateType, MappedType> (scala.Function3<KeyType, scala.Option<ValueType>, State<StateType>, MappedType> mappingFunction) Create aStateSpecfor setting all the specifications of themapWithStateoperation on apair DStream.- Parameters:
- mappingFunction- The function applied on every data item to manage the associated state and generate the mapped data
- Returns:
- (undocumented)
 
- 
functionpublic static <KeyType,ValueType, StateSpec<KeyType,StateType, MappedType> ValueType, functionStateType, MappedType> (Function4<Time, KeyType, Optional<ValueType>, State<StateType>, Optional<MappedType>> mappingFunction) Create aStateSpecfor setting all the specifications of themapWithStateoperation on aJavaPairDStream.- Parameters:
- mappingFunction- The function applied on every data item to manage the associated state and generate the mapped data
- Returns:
- (undocumented)
 
- 
functionpublic static <KeyType,ValueType, StateSpec<KeyType,StateType, MappedType> ValueType, functionStateType, MappedType> (Function3<KeyType, Optional<ValueType>, State<StateType>, MappedType> mappingFunction) Create aStateSpecfor setting all the specifications of themapWithStateoperation on aJavaPairDStream.- Parameters:
- mappingFunction- The function applied on every data item to manage the associated state and generate the mapped data
- Returns:
- (undocumented)
 
- 
initialStatepublic abstract StateSpec<KeyType,ValueType, initialStateStateType, MappedType> (RDD<scala.Tuple2<KeyType, StateType>> rdd) Set the RDD containing the initial states that will be used bymapWithState- Parameters:
- rdd- (undocumented)
- Returns:
- (undocumented)
 
- 
initialStatepublic abstract StateSpec<KeyType,ValueType, initialStateStateType, MappedType> (JavaPairRDD<KeyType, StateType> javaPairRDD) Set the RDD containing the initial states that will be used bymapWithState- Parameters:
- javaPairRDD- (undocumented)
- Returns:
- (undocumented)
 
- 
numPartitionsSet the number of partitions by which the state RDDs generated bymapWithStatewill be partitioned. Hash partitioning will be used.- Parameters:
- numPartitions- (undocumented)
- Returns:
- (undocumented)
 
- 
partitionerpublic abstract StateSpec<KeyType,ValueType, partitionerStateType, MappedType> (Partitioner partitioner) Set the partitioner by which the state RDDs generated bymapWithStatewill be partitioned.- Parameters:
- partitioner- (undocumented)
- Returns:
- (undocumented)
 
- 
timeoutSet the duration after which the state of an idle key will be removed. A key and its state is considered idle if it has not received any data for at least the given duration. The mapping function will be called one final time on the idle states that are going to be removed;State.isTimingOut()set totruein that call.- Parameters:
- idleDuration- (undocumented)
- Returns:
- (undocumented)
 
 
-