Search in sources :

Example 1 with TimerSpec

use of org.apache.beam.runners.fnexecution.control.ProcessBundleDescriptors.TimerSpec in project beam by apache.

the class DefaultJobBundleFactory method getTimerReceivers.

private static Map<KV<String, String>, RemoteOutputReceiver<Timer<?>>> getTimerReceivers(ExecutableProcessBundleDescriptor processBundleDescriptor, TimerReceiverFactory timerReceiverFactory) {
    ImmutableMap.Builder<KV<String, String>, RemoteOutputReceiver<Timer<?>>> timerReceivers = ImmutableMap.builder();
    for (Map.Entry<String, Map<String, TimerSpec>> transformTimerSpecs : processBundleDescriptor.getTimerSpecs().entrySet()) {
        for (TimerSpec timerSpec : transformTimerSpecs.getValue().values()) {
            FnDataReceiver<Timer<?>> receiver = (FnDataReceiver) timerReceiverFactory.create(timerSpec.transformId(), timerSpec.timerId());
            timerReceivers.put(KV.of(timerSpec.transformId(), timerSpec.timerId()), RemoteOutputReceiver.of(timerSpec.coder(), receiver));
        }
    }
    return timerReceivers.build();
}
Also used : Timer(org.apache.beam.runners.core.construction.Timer) FnDataReceiver(org.apache.beam.sdk.fn.data.FnDataReceiver) KV(org.apache.beam.sdk.values.KV) ImmutableMap(org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.ImmutableMap) Map(java.util.Map) IdentityHashMap(java.util.IdentityHashMap) ImmutableMap(org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.ImmutableMap) TimerSpec(org.apache.beam.runners.fnexecution.control.ProcessBundleDescriptors.TimerSpec)

Aggregations

IdentityHashMap (java.util.IdentityHashMap)1 Map (java.util.Map)1 Timer (org.apache.beam.runners.core.construction.Timer)1 TimerSpec (org.apache.beam.runners.fnexecution.control.ProcessBundleDescriptors.TimerSpec)1 FnDataReceiver (org.apache.beam.sdk.fn.data.FnDataReceiver)1 KV (org.apache.beam.sdk.values.KV)1 ImmutableMap (org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.ImmutableMap)1