Data

Kusto Explorer is different

Jörg Petzold|
#azure#kql#adx#kusto

Azure Data Explorer: Choose Your Weapon Wisely!

Azure Data Explorer (ADX) is a fast and highly scalable data exploration service for log and telemetry data. It’s an excellent tool for data analytics that offers multiple ways to interact with your data.

How to Access ADX

You can interact with Azure Data Explorer directly through several interfaces:

Desktop Application

  • Kusto Explorer - A free Windows desktop application that provides a rich interface for querying and analyzing data with KQL (Kusto Query Language)

Web-based Interfaces

Each tool offers advantages depending on your workflow and preferences. For example, if I need to jump to the same tables, queries and functions in between performing other tasks, the desktop Kusto Explorer is easier to find again amidst all open applications and browser tabs. When jumping between a lot of different adx clusters and databases, I prefer having different browser tabs open for each database. In Kusto Explorer the current context may switch for several tabs at the same time.

Similar Experience, Different Results?

As a beginner, you might not notice much difference between these tools. Personally, I started using Kusto Explorer because I was so used to hitting F5 to execute queries from other SQL applications that in the browser, I accidentally reloaded the page all the time. A couple of months later, muscle-memory kicked in, and Shift+Enter now works perfectly in all three tools.

However, there are actual differences in how Kusto Explorer parses queries, as you will see below.

Parsing Differences in Kusto Explorer

While the user experience is similar, Kusto Explorer (the desktop app) and web-based tools can handle query parsing differently.

For example:

  • Kusto Explorer may be more forgiving with certain syntax errors or whitespace and sometimes supports multi-statement queries differently than the web UI
  • The web interfaces tend to enforce stricter parsing and may highlight errors that Kusto Explorer allows to run

This means a query that works in one tool might not always behave the same way in another. It’s a good idea to test important queries in the interface where they’ll be used most.

Raw String Handling: A Case Study

A prominent case I encountered was the behavior when using raw (or literal) strings. Like in Markdown code blocks, in KQL you can wrap strings in three backticks:

```my string```

This marks the string as “raw,” meaning it won’t be interpreted in any way. This is very handy when querying tables containing strings with queries. To query this information, you could do something like:

MyTable | where query_col has ```Foo | where col has 'bar'```

This ensures that KQL doesn’t interpret the string as part of the query, avoiding the need to escape every special character individually.

Executing this via web browser works just fine. Doing the same in Kusto Explorer will yield an empty result—no error, just a result set of zero.

So, as always, test with sample data to verify that the actual result matches the expected outcome of your query! 😊

Connection Issues and Solutions

Another strange behavior I encountered recently is that Kusto Explorer (the desktop app) lost the ability to connect to specific individual databases. The only displayed error was that a connection could not be established.

Recreating the data connection worked for a couple of days and then disappeared again.

The solution came from the ADX developer team:

Disable the option: Tools → Options → Connections → Lite schema exploration protocol

Now I know there’s a “Lite schema exploration protocol” (whatever that might be), but that’s a story for another blog post!

Lite Schema Exploration Setting

Conclusion

No tool is perfect, and I still love using Kusto Explorer — albeit with a little more caution than before. The key takeaway is to always test your queries thoroughly and be aware that different interfaces might handle the same KQL differently.

Happy querying! 🚀

PS: Unfortunately, there are no plans yet to offer a MacOS or Linux port of Kusto Explorer

Back to Blog