@Override public void initialize(BatchRuntimeContext context) throws Exception { super.initialize(context); }
@Override public void initialize(BatchRuntimeContext context) throws Exception { super.initialize(context); }
@Override public Iterable<Tuple2<OUT_KEY, OUT_VAL>> call(IN input) throws Exception { if (transform == null) { BatchSink<IN, OUT_KEY, OUT_VAL> batchSink = pluginFunctionContext.createPlugin(); batchSink.initialize(pluginFunctionContext.createBatchRuntimeContext()); transform = new TrackedTransform<>(batchSink, pluginFunctionContext.createStageMetrics(), pluginFunctionContext.getDataTracer(), pluginFunctionContext.getStageStatisticsCollector()); emitter = new TransformingEmitter<>(new Function<KeyValue<OUT_KEY, OUT_VAL>, Tuple2<OUT_KEY, OUT_VAL>>() { @Override public Tuple2<OUT_KEY, OUT_VAL> apply(KeyValue<OUT_KEY, OUT_VAL> input) { return new Tuple2<>(input.getKey(), input.getValue()); } }); } emitter.reset(); transform.transform(input, emitter); return emitter.getEntries(); } }