Querying Kafka topics


The CLI allows you to browse and subscribe to topic data with SQL. Please refer to the Lenses SQL documentation for more details.

Use these flags to control the data that’s returned:

  • keys print message keys
  • keys-only print the keys only, not the value of the message
  • meta print the message metadata, partition number and offsets
  • stats print query statistics as the last message

Browsing 

Browse data via the query command, optionally validate and output stats:

lenses-cli query \
    --keys \
    --meta "SELECT score, author FROM reddit_posts LIMIT 50"

Execute with stats and show offsets 

lenses-cli query \
    --stats "SELECT score, author FROM reddit_posts LIMIT 50"

Live 

Live continuous queries update according to the query and never stop until terminated:

lenses-cli \
    query \
    --live-stream "SELECT score, author FROM reddit_posts WHERE _sample=2 AND _sampleWindow=200"

Interactive shell 

The interactive shell allows you to have an interactive experience and issue Lenses SQL queries from the command line.

To start the interactive shell, issue the following command:

lenses-cli shell

The available options are the following:

  • keys print message keys
  • keys-only print the keys only, not the value of the message
  • meta print the message metadata, partition number and offsets
  • stats print query statistics as the last message
  • pretty pretty print the JSON output
  • live-stream run as a continuous query
  • !options prints the current options
  1. Options are set using the ! prefix
  2. Queries are executed by ;

Multiline queries are possible but not available in the history inside the shell. After a restart, the multiline queries are concatenated into one line and can be selected.

Query history is stored in .lenes/history in the home directory of the user.

    __                                 ________    ____
   / /   ___  ____  ________  _____   / ____/ /   /  _/
  / /   / _ \/ __ \/ ___/ _ \/ ___/  / /   / /    / /
 / /___/  __/ / / (__  )  __(__  )  / /___/ /____/ /
/_____/\___/_/ /_/____/\___/____/   \____/_____/___/
Docs at https://docs.lenses.io
Connected to [https://master.lenses.io:443] as [andrew], context [master]
Use "!" to set output options [!keys|!keysOnly|!stats|!meta|!pretty]
Crtl+D to exit

lenses-sql>
--
Last modified: April 24, 2024