def run_PartialGroupByKeyCombineValues(self, transform_node): element_coder = self._get_coder(transform_node.outputs[None]) _, producer_index, output_index = self.outputs[transform_node.inputs[0]] combine_op = operation_specs.WorkerPartialGroupByKey( combine_fn=pickler.dumps( (transform_node.transform.combine_fn, (), {}, ())), output_coders=[element_coder], input=(producer_index, output_index)) self._run_as_op(transform_node, combine_op)
def create(factory, transform_id, transform_proto, payload, consumers): serialized_combine_fn = pickler.dumps( (beam.CombineFn.from_runner_api(payload.combine_fn, factory.context), [], {})) return factory.augment_oldstyle_op( operations.PGBKCVOperation( transform_proto.unique_name, operation_specs.WorkerPartialGroupByKey( serialized_combine_fn, None, [factory.get_only_output_coder(transform_proto)]), factory.counter_factory, factory.state_sampler), transform_proto.unique_name, consumers)