Package org.apache.beam.fn.harness.state
Class FnApiStateAccessor<K>
- java.lang.Object
-
- org.apache.beam.fn.harness.state.FnApiStateAccessor<K>
-
- All Implemented Interfaces:
org.apache.beam.runners.core.SideInputReader,org.apache.beam.sdk.state.StateBinder
public class FnApiStateAccessor<K> extends java.lang.Object implements org.apache.beam.runners.core.SideInputReader, org.apache.beam.sdk.state.StateBinderProvides access to side inputs and state via aBeamFnStateClient.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFnApiStateAccessor.Factory<K>A factory that takes all the immutable parameters to create aFnApiStateAccessor.static interfaceFnApiStateAccessor.MutatingStateContext<K,W>
-
Constructor Summary
Constructors Constructor Description FnApiStateAccessor(org.apache.beam.sdk.options.PipelineOptions pipelineOptions, java.util.Set<java.lang.String> runnerCapabilites, java.lang.String ptransformId, java.util.function.Supplier<java.lang.String> processBundleInstructionId, java.util.function.Supplier<java.util.List<org.apache.beam.model.fnexecution.v1.BeamFnApi.ProcessBundleRequest.CacheToken>> cacheTokens, java.util.function.Supplier<Cache<?,?>> bundleCache, Cache<?,?> processWideCache, java.util.Map<org.apache.beam.sdk.values.TupleTag<?>,SideInputSpec> sideInputSpecMap, BeamFnStateClient beamFnStateClient, org.apache.beam.sdk.coders.Coder<K> keyCoder, org.apache.beam.sdk.coders.Coder<org.apache.beam.sdk.transforms.windowing.BoundedWindow> windowCoder)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description <T> org.apache.beam.sdk.state.BagState<T>bindBag(java.lang.String id, org.apache.beam.sdk.state.StateSpec<org.apache.beam.sdk.state.BagState<T>> spec, org.apache.beam.sdk.coders.Coder<T> elemCoder)<ElementT,AccumT,ResultT>
org.apache.beam.sdk.state.CombiningState<ElementT,AccumT,ResultT>bindCombining(java.lang.String id, org.apache.beam.sdk.state.StateSpec<org.apache.beam.sdk.state.CombiningState<ElementT,AccumT,ResultT>> spec, org.apache.beam.sdk.coders.Coder<AccumT> accumCoder, org.apache.beam.sdk.transforms.Combine.CombineFn<ElementT,AccumT,ResultT> combineFn)<ElementT,AccumT,ResultT>
org.apache.beam.sdk.state.CombiningState<ElementT,AccumT,ResultT>bindCombiningWithContext(java.lang.String id, org.apache.beam.sdk.state.StateSpec<org.apache.beam.sdk.state.CombiningState<ElementT,AccumT,ResultT>> spec, org.apache.beam.sdk.coders.Coder<AccumT> accumCoder, org.apache.beam.sdk.transforms.CombineWithContext.CombineFnWithContext<ElementT,AccumT,ResultT> combineFn)<KeyT,ValueT>
org.apache.beam.sdk.state.MapState<KeyT,ValueT>bindMap(java.lang.String id, org.apache.beam.sdk.state.StateSpec<org.apache.beam.sdk.state.MapState<KeyT,ValueT>> spec, org.apache.beam.sdk.coders.Coder<KeyT> mapKeyCoder, org.apache.beam.sdk.coders.Coder<ValueT> mapValueCoder)<KeyT,ValueT>
org.apache.beam.sdk.state.MultimapState<KeyT,ValueT>bindMultimap(java.lang.String id, org.apache.beam.sdk.state.StateSpec<org.apache.beam.sdk.state.MultimapState<KeyT,ValueT>> spec, org.apache.beam.sdk.coders.Coder<KeyT> keyCoder, org.apache.beam.sdk.coders.Coder<ValueT> valueCoder)<T> org.apache.beam.sdk.state.OrderedListState<T>bindOrderedList(java.lang.String id, org.apache.beam.sdk.state.StateSpec<org.apache.beam.sdk.state.OrderedListState<T>> spec, org.apache.beam.sdk.coders.Coder<T> elemCoder)<T> org.apache.beam.sdk.state.SetState<T>bindSet(java.lang.String id, org.apache.beam.sdk.state.StateSpec<org.apache.beam.sdk.state.SetState<T>> spec, org.apache.beam.sdk.coders.Coder<T> elemCoder)<T> org.apache.beam.sdk.state.ValueState<T>bindValue(java.lang.String id, org.apache.beam.sdk.state.StateSpec<org.apache.beam.sdk.state.ValueState<T>> spec, org.apache.beam.sdk.coders.Coder<T> coder)org.apache.beam.sdk.state.WatermarkHoldStatebindWatermark(java.lang.String id, org.apache.beam.sdk.state.StateSpec<org.apache.beam.sdk.state.WatermarkHoldState> spec, org.apache.beam.sdk.transforms.windowing.TimestampCombiner timestampCombiner)Deprecated.The Fn API has no plans to implement WatermarkHoldState as of this writing and is waiting on resolution of BEAM-2535.<T> booleancontains(org.apache.beam.sdk.values.PCollectionView<T> view)voidfinalizeState()<T> Tget(org.apache.beam.sdk.values.PCollectionView<T> view, org.apache.beam.sdk.transforms.windowing.BoundedWindow window)booleanisEmpty()voidsetKeyAndWindowContext(FnApiStateAccessor.MutatingStateContext<K,org.apache.beam.sdk.transforms.windowing.BoundedWindow> keyAndWindowContext)
-
-
-
Constructor Detail
-
FnApiStateAccessor
public FnApiStateAccessor(org.apache.beam.sdk.options.PipelineOptions pipelineOptions, java.util.Set<java.lang.String> runnerCapabilites, java.lang.String ptransformId, java.util.function.Supplier<java.lang.String> processBundleInstructionId, java.util.function.Supplier<java.util.List<org.apache.beam.model.fnexecution.v1.BeamFnApi.ProcessBundleRequest.CacheToken>> cacheTokens, java.util.function.Supplier<Cache<?,?>> bundleCache, Cache<?,?> processWideCache, java.util.Map<org.apache.beam.sdk.values.TupleTag<?>,SideInputSpec> sideInputSpecMap, BeamFnStateClient beamFnStateClient, org.apache.beam.sdk.coders.Coder<K> keyCoder, org.apache.beam.sdk.coders.Coder<org.apache.beam.sdk.transforms.windowing.BoundedWindow> windowCoder)
-
-
Method Detail
-
setKeyAndWindowContext
public void setKeyAndWindowContext(FnApiStateAccessor.MutatingStateContext<K,org.apache.beam.sdk.transforms.windowing.BoundedWindow> keyAndWindowContext)
-
get
public <T> T get(org.apache.beam.sdk.values.PCollectionView<T> view, org.apache.beam.sdk.transforms.windowing.BoundedWindow window)- Specified by:
getin interfaceorg.apache.beam.runners.core.SideInputReader
-
contains
public <T> boolean contains(org.apache.beam.sdk.values.PCollectionView<T> view)
- Specified by:
containsin interfaceorg.apache.beam.runners.core.SideInputReader
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfaceorg.apache.beam.runners.core.SideInputReader
-
bindValue
public <T> org.apache.beam.sdk.state.ValueState<T> bindValue(java.lang.String id, org.apache.beam.sdk.state.StateSpec<org.apache.beam.sdk.state.ValueState<T>> spec, org.apache.beam.sdk.coders.Coder<T> coder)- Specified by:
bindValuein interfaceorg.apache.beam.sdk.state.StateBinder
-
bindBag
public <T> org.apache.beam.sdk.state.BagState<T> bindBag(java.lang.String id, org.apache.beam.sdk.state.StateSpec<org.apache.beam.sdk.state.BagState<T>> spec, org.apache.beam.sdk.coders.Coder<T> elemCoder)- Specified by:
bindBagin interfaceorg.apache.beam.sdk.state.StateBinder
-
bindSet
public <T> org.apache.beam.sdk.state.SetState<T> bindSet(java.lang.String id, org.apache.beam.sdk.state.StateSpec<org.apache.beam.sdk.state.SetState<T>> spec, org.apache.beam.sdk.coders.Coder<T> elemCoder)- Specified by:
bindSetin interfaceorg.apache.beam.sdk.state.StateBinder
-
bindMap
public <KeyT,ValueT> org.apache.beam.sdk.state.MapState<KeyT,ValueT> bindMap(java.lang.String id, org.apache.beam.sdk.state.StateSpec<org.apache.beam.sdk.state.MapState<KeyT,ValueT>> spec, org.apache.beam.sdk.coders.Coder<KeyT> mapKeyCoder, org.apache.beam.sdk.coders.Coder<ValueT> mapValueCoder)- Specified by:
bindMapin interfaceorg.apache.beam.sdk.state.StateBinder
-
bindMultimap
public <KeyT,ValueT> org.apache.beam.sdk.state.MultimapState<KeyT,ValueT> bindMultimap(java.lang.String id, org.apache.beam.sdk.state.StateSpec<org.apache.beam.sdk.state.MultimapState<KeyT,ValueT>> spec, org.apache.beam.sdk.coders.Coder<KeyT> keyCoder, org.apache.beam.sdk.coders.Coder<ValueT> valueCoder)- Specified by:
bindMultimapin interfaceorg.apache.beam.sdk.state.StateBinder
-
bindOrderedList
public <T> org.apache.beam.sdk.state.OrderedListState<T> bindOrderedList(java.lang.String id, org.apache.beam.sdk.state.StateSpec<org.apache.beam.sdk.state.OrderedListState<T>> spec, org.apache.beam.sdk.coders.Coder<T> elemCoder)- Specified by:
bindOrderedListin interfaceorg.apache.beam.sdk.state.StateBinder
-
bindCombining
public <ElementT,AccumT,ResultT> org.apache.beam.sdk.state.CombiningState<ElementT,AccumT,ResultT> bindCombining(java.lang.String id, org.apache.beam.sdk.state.StateSpec<org.apache.beam.sdk.state.CombiningState<ElementT,AccumT,ResultT>> spec, org.apache.beam.sdk.coders.Coder<AccumT> accumCoder, org.apache.beam.sdk.transforms.Combine.CombineFn<ElementT,AccumT,ResultT> combineFn)- Specified by:
bindCombiningin interfaceorg.apache.beam.sdk.state.StateBinder
-
bindCombiningWithContext
public <ElementT,AccumT,ResultT> org.apache.beam.sdk.state.CombiningState<ElementT,AccumT,ResultT> bindCombiningWithContext(java.lang.String id, org.apache.beam.sdk.state.StateSpec<org.apache.beam.sdk.state.CombiningState<ElementT,AccumT,ResultT>> spec, org.apache.beam.sdk.coders.Coder<AccumT> accumCoder, org.apache.beam.sdk.transforms.CombineWithContext.CombineFnWithContext<ElementT,AccumT,ResultT> combineFn)- Specified by:
bindCombiningWithContextin interfaceorg.apache.beam.sdk.state.StateBinder
-
bindWatermark
@Deprecated public org.apache.beam.sdk.state.WatermarkHoldState bindWatermark(java.lang.String id, org.apache.beam.sdk.state.StateSpec<org.apache.beam.sdk.state.WatermarkHoldState> spec, org.apache.beam.sdk.transforms.windowing.TimestampCombiner timestampCombiner)Deprecated.The Fn API has no plans to implement WatermarkHoldState as of this writing and is waiting on resolution of BEAM-2535.- Specified by:
bindWatermarkin interfaceorg.apache.beam.sdk.state.StateBinder
-
finalizeState
public void finalizeState()
-
-