code: def testMergeOutputsByKey(self):
      outputs = [
          ("my_key", [np.array(20), np.array([21, 22])]),
          ("my_other_key", [np.array(23), np.array([24, 25])]),
      ]
      outputs_pcoll = [outputs]
      merged_outputs_pcolls = tuple(
          outputs_pcoll
          | beam.FlatMap(
              analyzer_impls._merge_outputs_by_key,
              outputs_dtype=[tf.int64, tf.int64],
          ).with_outputs("key", "0", "1")
      )
      self.assertAllEqual(
          merged_outputs_pcolls[0][0],
          np.array(["my_key", "my_other_key"]),
      )
      self.assertAllEqual(
          merged_outputs_pcolls[1][0], np.array([20, 23])
      )
      self.assertAllEqual(
          merged_outputs_pcolls[2][0], np.array([[21, 22], [24, 25]])
      )
  
file_path: transform/tensorflow_transform/beam/analyzer_impls_test.py
imports: import apache_beam
  import numpy
  import tensorflow
  from tensorflow_transform.beam import analyzer_impls
  from tensorflow_transform.beam import tft_unit
label_desc: Use image node_id 2 for calling the AnalyzerImplsTest obj's underlying member method code with example usage: obj.testMergeOutputsByKey() without return types