code: def testSplitInputsByKey(self):
      inputs = [
          np.array(["my_key", "my_other_key"]),
          np.array([[1, 2], [3, 4]]),
          np.array([5, 6]),
      ]
      split_inputs = list(analyzer_impls._split_inputs_by_key(inputs))
      self.assertEqual(len(split_inputs), 2)
  
      self.assertEqual(len(split_inputs[0]), 2)
      self.assertEqual(split_inputs[0][0], "my_key")
      self.assertEqual(len(split_inputs[0][1]), 2)
      self.assertAllEqual(split_inputs[0][1][0], np.array([1, 2]))
      self.assertAllEqual(split_inputs[0][1][1], np.array(5))
  
      self.assertEqual(len(split_inputs[1]), 2)
      self.assertEqual(split_inputs[1][0], "my_other_key")
      self.assertEqual(len(split_inputs[1][1]), 2)
      self.assertAllEqual(split_inputs[1][1][0], np.array([3, 4]))
      self.assertAllEqual(split_inputs[1][1][1], np.array(6))
  
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 1 for calling the AnalyzerImplsTest obj's underlying member method code with example usage: obj.testSplitInputsByKey() without return types