Class CortexIo.WriteFnWithAccumulation<K,​V>

  • All Implemented Interfaces:
    Serializable, org.apache.beam.sdk.transforms.display.HasDisplayData
    Enclosing class:
    CortexIo

    public static class CortexIo.WriteFnWithAccumulation<K,​V>
    extends CortexIo.WriteFn<K,​V,​org.opennms.nephron.cortex.CortexIo.WriteWithAccumulation<K,​V>>
    A Cortex sink that assigns unique index numbers and accumulates values.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.apache.beam.sdk.transforms.DoFn

        org.apache.beam.sdk.transforms.DoFn.AlwaysFetched, org.apache.beam.sdk.transforms.DoFn.BoundedPerElement, org.apache.beam.sdk.transforms.DoFn.BundleFinalizer, org.apache.beam.sdk.transforms.DoFn.Element, org.apache.beam.sdk.transforms.DoFn.FieldAccess, org.apache.beam.sdk.transforms.DoFn.FinishBundle, org.apache.beam.sdk.transforms.DoFn.FinishBundleContext, org.apache.beam.sdk.transforms.DoFn.GetInitialRestriction, org.apache.beam.sdk.transforms.DoFn.GetInitialWatermarkEstimatorState, org.apache.beam.sdk.transforms.DoFn.GetRestrictionCoder, org.apache.beam.sdk.transforms.DoFn.GetSize, org.apache.beam.sdk.transforms.DoFn.GetWatermarkEstimatorStateCoder, org.apache.beam.sdk.transforms.DoFn.Key, org.apache.beam.sdk.transforms.DoFn.MultiOutputReceiver, org.apache.beam.sdk.transforms.DoFn.NewTracker, org.apache.beam.sdk.transforms.DoFn.NewWatermarkEstimator, org.apache.beam.sdk.transforms.DoFn.OnTimer, org.apache.beam.sdk.transforms.DoFn.OnTimerContext, org.apache.beam.sdk.transforms.DoFn.OnTimerFamily, org.apache.beam.sdk.transforms.DoFn.OnWindowExpiration, org.apache.beam.sdk.transforms.DoFn.OnWindowExpirationContext, org.apache.beam.sdk.transforms.DoFn.OutputReceiver<T extends Object>, org.apache.beam.sdk.transforms.DoFn.ProcessContext, org.apache.beam.sdk.transforms.DoFn.ProcessContinuation, org.apache.beam.sdk.transforms.DoFn.ProcessElement, org.apache.beam.sdk.transforms.DoFn.RequiresStableInput, org.apache.beam.sdk.transforms.DoFn.RequiresTimeSortedInput, org.apache.beam.sdk.transforms.DoFn.Restriction, org.apache.beam.sdk.transforms.DoFn.Setup, org.apache.beam.sdk.transforms.DoFn.SideInput, org.apache.beam.sdk.transforms.DoFn.SplitRestriction, org.apache.beam.sdk.transforms.DoFn.StartBundle, org.apache.beam.sdk.transforms.DoFn.StartBundleContext, org.apache.beam.sdk.transforms.DoFn.StateId, org.apache.beam.sdk.transforms.DoFn.Teardown, org.apache.beam.sdk.transforms.DoFn.TimerFamily, org.apache.beam.sdk.transforms.DoFn.TimerId, org.apache.beam.sdk.transforms.DoFn.Timestamp, org.apache.beam.sdk.transforms.DoFn.TruncateRestriction, org.apache.beam.sdk.transforms.DoFn.UnboundedPerElement, org.apache.beam.sdk.transforms.DoFn.WatermarkEstimatorState, org.apache.beam.sdk.transforms.DoFn.WindowedContext
    • Constructor Summary

      Constructors 
      Constructor Description
      WriteFnWithAccumulation​(org.opennms.nephron.cortex.CortexIo.WriteWithAccumulation<K,​V> spec, org.joda.time.Duration allowedLateness)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void onGc​(K key, org.apache.beam.sdk.state.ValueState<org.opennms.nephron.cortex.Heap.HeapImpl<V>> heapState)  
      void onOutput​(org.apache.beam.sdk.transforms.DoFn.OnTimerContext ctx, K key, org.apache.beam.sdk.state.ValueState<org.opennms.nephron.cortex.Heap.HeapImpl<V>> heapState, org.apache.beam.sdk.state.Timer timer)  
      void processElement​(org.apache.beam.sdk.transforms.DoFn.ProcessContext ctx, org.apache.beam.sdk.state.ValueState<org.opennms.nephron.cortex.Heap.HeapImpl<V>> heapState, org.apache.beam.sdk.state.Timer outputTimer, org.apache.beam.sdk.state.Timer gcTimer)  
      • Methods inherited from class org.apache.beam.sdk.transforms.DoFn

        getAllowedTimestampSkew, getInputTypeDescriptor, getOutputTypeDescriptor, populateDisplayData, prepareForProcessing
    • Constructor Detail

      • WriteFnWithAccumulation

        public WriteFnWithAccumulation​(org.opennms.nephron.cortex.CortexIo.WriteWithAccumulation<K,​V> spec,
                                       org.joda.time.Duration allowedLateness)
    • Method Detail

      • processElement

        @ProcessElement
        public void processElement​(org.apache.beam.sdk.transforms.DoFn.ProcessContext ctx,
                                   @AlwaysFetched @StateId("heap")
                                   org.apache.beam.sdk.state.ValueState<org.opennms.nephron.cortex.Heap.HeapImpl<V>> heapState,
                                   @TimerId("output")
                                   org.apache.beam.sdk.state.Timer outputTimer,
                                   @TimerId("gc")
                                   org.apache.beam.sdk.state.Timer gcTimer)
                            throws Exception
        Throws:
        Exception
      • onOutput

        @OnTimer("output")
        public void onOutput​(org.apache.beam.sdk.transforms.DoFn.OnTimerContext ctx,
                             @Key
                             K key,
                             @AlwaysFetched @StateId("heap")
                             org.apache.beam.sdk.state.ValueState<org.opennms.nephron.cortex.Heap.HeapImpl<V>> heapState,
                             @TimerId("output")
                             org.apache.beam.sdk.state.Timer timer)
                      throws IOException
        Throws:
        IOException
      • onGc

        @OnTimer("gc")
        public void onGc​(@Key
                         K key,
                         @AlwaysFetched @StateId("heap")
                         org.apache.beam.sdk.state.ValueState<org.opennms.nephron.cortex.Heap.HeapImpl<V>> heapState)
                  throws IOException
        Throws:
        IOException