Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 

Apache Kafka stores the message with offset. The following are several ways the messages can be retrieved with time;

    Message Creation

         When the message is created append the runtime to the message in the producer class before publishing the message to the topic as follows:

...

          The message can be retrieved using the runtime stamptimestamp.

    Apache Kafka System Tools

           Apache Kafka provided following system tools:

          The following function gives the time as a long value      

         Get Offset Shell

         get offsets for a topic

 

bin/kafka-run-class.sh kafka.tools.GetOffsetShell

 

         required argument [broker-list], [topic]
        Option Description

        --broker-list <hostname:port,..., REQUIRED: The list of hostname and hostname:port> port of the server to connect to. 
        --max-wait-ms <Integer: ms> The max amount of time each fetch request waits. (default: 1000) 
        --offsets <Integer: count> number of offsets returned (default: 1)
       --partitions <partition ids> comma separated list of partition ids. If not specified, will find offsets for all partitions (default) 
       --time <Long: timestamp in milliseconds / -1(latest) / -2 (earliest) timestamp; offsets will come before this timestamp, as in getOffsetsBefore  > 
       --topic <topic> REQUIRED: The topic to get messagesoffsets from.

      Low Level Consumer API

           For message partition reading, the kafka.api.OffsetRequest class defines two constants: EarliestTime and LatestTime,

          to find the beginning of the data in the logs and the new messages stream.