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[source]

Bases: future.types.newobject.newobject

Specification for a user DoFn state cell.

to_runner_api(context)[source]
class apache_beam.transforms.userstate.BagStateSpec(name, coder)[source]

Bases: apache_beam.transforms.userstate.StateSpec

Specification for a user DoFn bag state cell.

to_runner_api(context)[source]
class apache_beam.transforms.userstate.CombiningValueStateSpec(name, coder, combine_fn)[source]

Bases: apache_beam.transforms.userstate.StateSpec

Specification for a user DoFn combining value state cell.

to_runner_api(context)[source]
class apache_beam.transforms.userstate.TimerSpec(name, time_domain)[source]

Bases: future.types.newobject.newobject

Specification for a user stateful DoFn timer.

to_runner_api(context)[source]
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.

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: future.types.newobject.newobject

Timer interface object passed to user code.

clear()[source]
set(timestamp)[source]
class apache_beam.transforms.userstate.RuntimeState(state_spec, state_tag, current_value_accessor)[source]

Bases: future.types.newobject.newobject

State interface object passed to user code.

static for_spec(state_spec, state_tag, current_value_accessor)[source]
prefetch()[source]
class apache_beam.transforms.userstate.BagRuntimeState(state_spec, state_tag, current_value_accessor)[source]

Bases: apache_beam.transforms.userstate.RuntimeState

Bag state interface object passed to user code.

read()[source]
add(value)[source]
clear()[source]
class apache_beam.transforms.userstate.CombiningValueRuntimeState(state_spec, state_tag, current_value_accessor)[source]

Bases: apache_beam.transforms.userstate.RuntimeState

Combining value state interface object passed to user code.

read()[source]
add(value)[source]
clear()[source]
class apache_beam.transforms.userstate.UserStateContext[source]

Bases: future.types.newobject.newobject

Wrapper allowing user state and timers to be accessed by a DoFnInvoker.

get_timer(timer_spec, key, window)[source]
get_state(state_spec, key, window)[source]
commit()[source]