Andrew Otto
02/08/2023, 10:17 PMyield output_tag, value. But, when I do that, I’m just getting a Tuple(output_tag, value) in the main datastream, not the side output one. What am I doing wrong?Dian Fu
02/09/2023, 2:15 AMAndrew Otto
02/09/2023, 1:20 PMAndrew Otto
02/09/2023, 3:22 PMAndrew Otto
02/09/2023, 3:23 PMds.get_side_output(output_tag) after ds.process(…), the elements to the side output in the ProcessFunction are not removed from the main DataStream.Andrew Otto
02/09/2023, 3:24 PMAndrew Otto
02/09/2023, 3:25 PMAndrew Otto
02/09/2023, 3:30 PMAndrew Otto
02/10/2023, 2:12 PMDian Fu
02/13/2023, 9:31 AMds.get_side_output(output_tag) doesn’t have to happen after ds.process(…) immediately. For example, you could move it the end of the file as following:
side_output_ds = processed_ds.get_side_output(output_tag)
if side_output_ds:
print("printing side output to stdout")
side_output_ds.print()
However, you must define ``ds.get_side_output(output_tag)`` if it emits side output in the process function.Andrew Otto
02/13/2023, 1:25 PMAndrew Otto
02/13/2023, 1:39 PMAndrew Otto
02/13/2023, 10:38 PMAndrew Otto
02/13/2023, 10:38 PMAndrew Otto
02/13/2023, 10:38 PMdatastream.process(ProcessFunc1()).process(ProcessFunc2())Andrew Otto
02/13/2023, 10:38 PMAndrew Otto
02/13/2023, 10:39 PMDian Fu
02/14/2023, 3:44 AMAndrew Otto
02/14/2023, 12:33 PMAndrew Otto
02/14/2023, 12:33 PMAndrew Otto
02/14/2023, 7:23 PMAndrew Otto
02/14/2023, 7:24 PMAndrew Otto
02/14/2023, 7:24 PMTypeError: cannot pickle '_thread.RLock' objectAndrew Otto
02/14/2023, 7:51 PMDian Fu
02/15/2023, 11:11 AMAndrew Otto
02/15/2023, 1:43 PMAndrew Otto
02/15/2023, 1:57 PM