apache_beam.transforms.userstate module¶
User-facing interfaces for the Beam State and Timer APIs.
- class apache_beam.transforms.userstate.StateSpec(name: str, coder: Coder)[source]¶
Bases:
object
Specification for a user DoFn state cell.
- to_runner_api(context: PipelineContext) StateSpec [source]¶
- class apache_beam.transforms.userstate.ReadModifyWriteStateSpec(name: str, coder: Coder)[source]¶
Bases:
StateSpec
Specification for a user DoFn value state cell.
- to_runner_api(context: PipelineContext) StateSpec [source]¶
- class apache_beam.transforms.userstate.BagStateSpec(name: str, coder: Coder)[source]¶
Bases:
StateSpec
Specification for a user DoFn bag state cell.
- to_runner_api(context: PipelineContext) StateSpec [source]¶
- class apache_beam.transforms.userstate.SetStateSpec(name: str, coder: Coder)[source]¶
Bases:
StateSpec
Specification for a user DoFn Set State cell
- to_runner_api(context: PipelineContext) StateSpec [source]¶
- class apache_beam.transforms.userstate.CombiningValueStateSpec(name: str, coder: Coder | None = None, combine_fn: Any | None = None)[source]¶
Bases:
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:
- to_runner_api(context: PipelineContext) StateSpec [source]¶
- 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)
- class apache_beam.transforms.userstate.TimerSpec(name: str, time_domain: str)[source]¶
Bases:
object
Specification for a user stateful DoFn timer.
- prefix = 'ts-'¶
- to_runner_api(context: PipelineContext, key_coder: Coder, window_coder: Coder) TimerFamilySpec [source]¶
- apache_beam.transforms.userstate.on_timer(timer_spec: TimerSpec) Callable[[CallableT], CallableT] [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: DoFn) Tuple[Set[StateSpec], Set[TimerSpec]] [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: DoFn) bool [source]¶
Determines whether a given DoFn is a stateful DoFn.
- apache_beam.transforms.userstate.validate_stateful_dofn(dofn: DoFn) None [source]¶
Validates the proper specification of a stateful DoFn.
- class apache_beam.transforms.userstate.RuntimeTimer[source]¶
Bases:
BaseTimer
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.ReadModifyWriteRuntimeState[source]¶
Bases:
RuntimeState
- class apache_beam.transforms.userstate.AccumulatingRuntimeState[source]¶
Bases:
RuntimeState
- class apache_beam.transforms.userstate.BagRuntimeState[source]¶
Bases:
AccumulatingRuntimeState
Bag state interface object passed to user code.
- class apache_beam.transforms.userstate.SetRuntimeState[source]¶
Bases:
AccumulatingRuntimeState
Set state interface object passed to user code.
- class apache_beam.transforms.userstate.CombiningValueRuntimeState[source]¶
Bases:
AccumulatingRuntimeState
Combining value state interface object passed to user code.
- class apache_beam.transforms.userstate.UserStateContext[source]¶
Bases:
object
Wrapper allowing user state and timers to be accessed by a DoFnInvoker.
- get_timer(timer_spec: TimerSpec, key: Any, window: windowed_value.BoundedWindow, timestamp: Timestamp, pane: PaneInfo) BaseTimer [source]¶
- get_state(state_spec: StateSpec, key: Any, window: windowed_value.BoundedWindow) RuntimeState [source]¶