class_docstr: Represents a streaming batch dataset from kafka using consumer groups.
  
  The dataset is created by fetching batches of messages from kafka using consumer clients
  which are part of a consumer group. Each batch of messages is of type `tf.data.Dataset`.
  This dataset is suitable in scenarios where the 'keys' and 'messages' in kafka topics
  are synonimous with 'labels' and 'data' items respectively. Thus, enabling the user
  to train their model in an online learning fashion.
  
  The dataset is similar to the `tfio.experimental.streaming.KafkaGroupIODataset` in it's
  consumer client configuration as it utilizes the consumer groups for retrieving messages
  from the topics.
  
  The dataset can be prepared and iterated in the following manner:
  
  >>> import tensorflow_io as tfio
  >>> dataset = tfio.experimental.streaming.KafkaBatchIODataset(
                      topics=["topic1"],
                      group_id="cg",
                      servers="localhost:9092",
                      configuration=[
                          "session.timeout.ms=7000",
                          "max.poll.interval.ms=8000",
                          "auto.offset.reset=earliest",
                      ],
                  )
  
  >>> for mini_batch in dataset:
  ...     mini_batch = mini_batch.map(
  ...            lambda m, k: (tf.cast(m, tf.float32), tf.cast(k, tf.float32)))
  
  Since `mini_batch` is of type `tf.data.Dataset` we can perform all the operations that it
  inherits from `tf.data.Dataset`. Also, the `auto.offset.reset` configuration is set to
  `earliest` so that in case the consumer group is being newly created, it will start
  reading the messages from the beginning. If it is not set, it defaults to `latest`.
  For additional configurations, please refer the librdkafka's configurations:
  https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md
  
  To train a keras model on this stream of incoming data:
  
  >>> for mini_batch in dataset:
  ...     mini_batch = mini_batch.map(
  ...            lambda m, k: (tf.cast(m, tf.float32), tf.cast(k, tf.float32)))
  ...     model.fit(mini_batch, epochs=10)
  
  The `mini_batch` can be directly passed into the `tf.keras` model for training.
code: def _inputs(self):
      return []
  
file_path: io/tensorflow_io/python/experimental/kafka_batch_io_dataset_ops.py
imports: import sys
  import tensorflow
  from tensorflow_io.python.ops import core_ops
label_desc: Use image node_id 2 for calling the KafkaBatchIODataset obj's underlying member method code with example usage: obj._inputs() and returns: list