Project Metamorphosis: Unveiling the next-gen event streaming platformLearn More

KSQL January release: Streaming SQL for Apache Kafka

We are pleased to announce the release of KSQL 0.4, aka the January 2018 release of KSQL. As usual, this release is a mix of new features as well as stability improvements.

Let’s take a look at what is new in this release.

New features and capabilities

Data exploration: enhanced PRINT TOPIC command

We’ve updated the PRINT TOPIC command to output the contents of any Kafka topic in the Kafka cluster, not just those topics which are already mapped to KSQL streams and tables. This provides a simple way to “peek” at your topics for data discovery and exploration. Check out the PRINT TOPIC documentation for more information.

Example output:

Data exploration: enhanced SHOW TOPICS command

The SHOW TOPICS command has been enhanced to include the number of active consumers and also the number of active consumer groups which are reading the topics.

Consumer groups are a feature of Apache Kafka which enable multiple consumer processes to divide the work of consuming Kafka topic. You can learn more about them in the Kafka Consumer JavaDocs, and of course you should read the SHOW TOPICS documentation for more information.

Example output:

Analytics: new TOPK and TOPKDISTINCT aggregation functions

We added two new aggregation functions, TOPK and TOPKDISTINCT.

The TOPK function allows you to select the top K values for a given key for a given window. This is a more general implementation of the ‘MAX’ aggregate function.

For example, if you want to compute the the 5 highest value orders per zip code per hour, you can now run the  following query:

The TOPKDISTINCT function is similar to the TOPK function, except that it will output the topK distinct values for a given key for a given window.

For example, to print the 5 latest page views for each page, you can run the following query:

Operations: print KSQL metrics from the command line

In the December 2017 release, we added JMX metrics which give insights into what is happening inside your KSQL servers. These metrics include the number of messages, the total throughput, the throughput distribution, the error rate, and further information.

The January 2018 release includes a new command line utility ksql-print-metrics to collect these metrics and print them to the console.

Example output:

Binary tarballs

We also now ship binary tarballs for each release in addition to Docker images. This was a much requested feature from users who are not into Docker and who now don’t need to build KSQL from source anymore to get the latest release. Of course, if you still want to build a development version of KSQL from source you can continue to do so.

Distributed failure testing

Finally, we have continued to invest in improving our test coverage. In particular, we added fully distributed system tests for KSQL which stand up KSQL server pools and Kafka clusters, and then test for correctness when there are rolling bounces and other failures for various server nodes. This is a big step toward making KSQL ready for prime-time production use.

Where to go from here

If you have enjoyed this article, you might want to continue with the following resources to learn more about KSQL:

If you are interested in contributing to KSQL, we encourage you to get involved by sharing your feedback via the KSQL issue tracker, voting on existing issues by giving your +1, or opening pull requests. Use the #ksql channel in our public Confluent Slack community to ask questions, discuss use cases or help fellow KSQL users.

Did you like this blog post? Share it now

Subscribe to the Confluent blog

More Articles Like This

Announcing ksqlDB 0.10.0

We’re excited to announce the release of ksqlDB 0.10.0, available now in the standalone distribution and on Confluent Cloud! This version includes a first-class Java client, improved Apache Kafka® key […]

Unifying Streams and State: The Seamless Path to Real-Time

More than ever before, people demand immediacy in every aspect of their lives. Expectations for how we shop, bank, and commute have completely evolved over the last decade. When you […]

Real-Time Fleet Management Using Confluent Cloud and MongoDB

Most organisations maintain fleets, a collection of vehicles put to use for day-to-day operations. Telcos use a variety of vehicles including cars, vans, and trucks for service, delivery, and maintenance. […]

Sign Up Now

Start your 3-month trial. Get up to $200 off on each of your first 3 Confluent Cloud monthly bills

Nouvelles inscriptions uniquement.

En cliquant sur le bouton « inscription » ci-dessus, vous acceptez que nous traitions vos informations personnelles conformément à notre Politique de confidentialité.

En cliquant sur « Inscription » ci-dessus, vous acceptez les termes du/de la Conditions d'utilisation et de recevoir occasionnellement des e-mails publicitaires de la part de Confluent. Vous comprenez également que nous traiterons vos informations personnelles conformément à notre Politique de confidentialité.

Gratuit à vie sur un seul broker Kafka

Le logiciel permettra une utilisation illimitée dans le temps de fonctionnalités commerciales sur un seul broker Kafka. Après l'ajout d'un second broker, un compteur de 30 jours démarrera automatiquement sur les fonctionnalités commerciales. Celui-ci ne pourra pas être réinitialisé en revenant à un seul broker.

Sélectionnez un type de déploiement
Déploiement manuel
  • tar
  • zip
  • deb
  • rpm
  • docker
Déploiement automatique
  • kubernetes
  • ansible

En cliquant sur le bouton « télécharger gratuitement » ci-dessus, vous acceptez que nous traitions vos informations personnelles conformément à notre Politique de confidentialité.

En cliquant sur « Téléchargement gratuit » ci-dessus, vous acceptez la Contrat de licence Confluent et de recevoir occasionnellement des e-mails publicitaires de la part de Confluent. Vous acceptez également que vos renseignements personnels soient traitées conformément à notre Politique de confidentialité.

Ce site Web utilise des cookies afin d'améliorer l'expérience utilisateur et analyser les performances et le trafic sur notre site Web. Nous partageons également des informations concernant votre utilisation de notre site avec nos partenaires publicitaires, analytiques et de réseaux sociaux.