Как излучать «боковые выходы» и «выходные данные процесса», используя один приемник.Здесь, в этом случае, оба выходных данных должны отправляться в один приемник, и в зависимости от пути к папке тегов различается
Например,
OutputTag<String> outputTag = new OutputTag<String>("side-output") {};
SingleOutputStreamOperator<String> mainDataStream = source.process(new ProcessFunction<String, String>() {
@Override
public void processElement(String value, Context ctx, Collector<String> out) {
try {
builder.parse(new InputSource(new StringReader(value)));
out.collect(value);
} catch (SAXException | IOException e) {
ctx.output(outputTag, value);
}
}
});
DataStream<String> sideOutputStream = mainDataStream.getSideOutput(outputTag);
Есть ли какое-либо иное лучшее решение?Просто беспокоюсь о производительности