apache_beam.transforms.userstate module¶
User-facing interfaces for the Beam State and Timer APIs.
Experimental; no backwards-compatibility guarantees.
-
class
apache_beam.transforms.userstate.
StateSpec
(name, coder)[source]¶ Bases:
object
Specification for a user DoFn state cell.
-
class
apache_beam.transforms.userstate.
BagStateSpec
(name, coder)[source]¶ Bases:
apache_beam.transforms.userstate.StateSpec
Specification for a user DoFn bag state cell.
-
class
apache_beam.transforms.userstate.
SetStateSpec
(name, coder)[source]¶ Bases:
apache_beam.transforms.userstate.StateSpec
Specification for a user DoFn Set State cell
-
class
apache_beam.transforms.userstate.
CombiningValueStateSpec
(name, coder=None, combine_fn=None)[source]¶ Bases:
apache_beam.transforms.userstate.StateSpec
Specification for a user DoFn combining value state cell.
Initialize the specification for CombiningValue state.
- CombiningValueStateSpec(name, combine_fn) -> Coder-inferred combining value
- state spec.
- CombiningValueStateSpec(name, coder, combine_fn) -> Combining value state
- spec with coder and combine_fn specified.
Parameters:
-
class
apache_beam.transforms.userstate.
Timer
(user_key, dynamic_timer_tag, windows, clear_bit, fire_timestamp, hold_timestamp, paneinfo)¶ Bases:
tuple
Create new instance of Timer(user_key, dynamic_timer_tag, windows, clear_bit, fire_timestamp, hold_timestamp, paneinfo)
-
clear_bit
¶ Alias for field number 3
-
dynamic_timer_tag
¶ Alias for field number 1
-
fire_timestamp
¶ Alias for field number 4
-
hold_timestamp
¶ Alias for field number 5
-
paneinfo
¶ Alias for field number 6
-
user_key
¶ Alias for field number 0
-
windows
¶ Alias for field number 2
-
-
class
apache_beam.transforms.userstate.
TimerSpec
(name, time_domain)[source]¶ Bases:
object
Specification for a user stateful DoFn timer.
-
prefix
= 'ts-'¶
-
-
class
apache_beam.transforms.userstate.
TimerFamilySpec
(name, time_domain)[source]¶ Bases:
object
-
prefix
= 'tfs-'¶
-
-
apache_beam.transforms.userstate.
on_timer
(timer_spec)[source]¶ Decorator for timer firing DoFn method.
This decorator allows a user to specify an on_timer processing method in a stateful DoFn. Sample usage:
class MyDoFn(DoFn): TIMER_SPEC = TimerSpec('timer', TimeDomain.WATERMARK) @on_timer(TIMER_SPEC) def my_timer_expiry_callback(self): logging.info('Timer expired!')
-
apache_beam.transforms.userstate.
get_dofn_specs
(dofn)[source]¶ Gets the state and timer specs for a DoFn, if any.
Parameters: dofn (apache_beam.transforms.core.DoFn) – The DoFn instance to introspect for timer and state specs.
-
apache_beam.transforms.userstate.
is_stateful_dofn
(dofn)[source]¶ Determines whether a given DoFn is a stateful DoFn.
-
apache_beam.transforms.userstate.
validate_stateful_dofn
(dofn)[source]¶ Validates the proper specification of a stateful DoFn.
-
class
apache_beam.transforms.userstate.
RuntimeTimer
(timer_spec)[source]¶ Bases:
object
Timer interface object passed to user code.
-
class
apache_beam.transforms.userstate.
RuntimeState
[source]¶ Bases:
object
State interface object passed to user code.
-
class
apache_beam.transforms.userstate.
BagRuntimeState
[source]¶ Bases:
apache_beam.transforms.userstate.AccumulatingRuntimeState
Bag state interface object passed to user code.
-
class
apache_beam.transforms.userstate.
SetRuntimeState
[source]¶ Bases:
apache_beam.transforms.userstate.AccumulatingRuntimeState
Set state interface object passed to user code.
-
class
apache_beam.transforms.userstate.
CombiningValueRuntimeState
[source]¶ Bases:
apache_beam.transforms.userstate.AccumulatingRuntimeState
Combining value state interface object passed to user code.