Editeur SQL

The Ilum Editeur SQL (formerly Editeur SQL) is the in-product workbench for running SQL across every engine Ilum supports: Apache Spark, Trinitaire, DuckDBet Apache Flink. Queries execute through the Apache Kyuubi SQL gateway, with DuckDB integrated as an in-process engine for the lowest possible latency.
Designed for simplicity, the SQL Editor offers an intuitive interface for running queries, exploring data, and gaining insights quickly without writing Scala or Python code.
It is highly configurable through the UI or Helm deployment values, allowing flexibility in, for example, choosing a different table format, like Delta Lake, Apache Hudi, or Apache Iceberg, and in routing queries between engines.
Multi-engine workbench
The SQL Editor exposes the full multi-engine surface of Ilum:
- Engine Selector: Dropdown in the editor toolbar for choosing Spark, Trino, DuckDB, or Flink (when enabled). Live status indicators show the health of each engine.
- Engine lifecycle controls: Start, stop, and restart engines from the UI without leaving the editor. Useful for cycling a Trino coordinator or releasing a Spark session.
- Dialect transpilation: Translate queries between Spark SQL, Trino SQL, DuckDB SQL, and Flink SQL using the built-in transpiler. Useful when promoting an exploratory DuckDB query to a Spark batch job.
- Automatic engine routing: When enabled, the engine router selects the best engine for each query based on data size, workload type, and locality. User selection always overrides the router.
- In-app SQL notebooks: Persistent multi-cell notebooks with per-cell execution, profiling, and visualization, alongside single-query mode.
- Saved queries: Folder-organized query library with bulk operations and a move dialog for reorganization.
- Results tabs: Data, Logs, Statistics, Plan, Export, Visualization. Column-level profiling shows histograms, null counts, and cardinality.
For details on each engine, refer to the Execution Engines documentation.
Comment cela va-t-il vous aider ?
The SQL Editor is a powerful tool for reporting and debugging during application development. Instead of building an entire Spark SQL program to query your tables, you can submit SQL statements directly within Ilum's interface.
For debugging, the SQL Editor is invaluable. It eliminates the need to repeatedly write, compile, and submit code like:
val jeu de données = étincelle.SQL("select ...")
Au lieu de cela, vous pouvez tester de manière interactive les instructions SQL sans recréer de sessions à chaque fois.
Beyond query results, the SQL Editor offers data exploration and visualization tools, along with logs and execution statistics, giving you deeper insights into the query process.
The SQL Editor is also integrated with all four Ilum data catalogs (Hive Metastore, Project Nessie, Unity Catalog, and DuckLake), which means that you can seamlessly query data from previously created tables.
Get started with the SQL Editor
To use the SQL Editor, you need to deploy Ilum with the SQL feature enabled. For setup instructions, refer to the Page de production.
Once set up, the SQL Editor should be available on the sidebar. Inside, Apache Spark and DuckDB are available as engines by default; Trino and Flink can be enabled per deployment.
Ilum loads in example queries and notebooks to help new users get started quickly.
Example query and notebook loading est activé by default.
However, you can disable it by setting ilum-core.examples.sqlQuery=false (disables loading queries) and
ilum-core.examples.sqlNotebook=false (disables loading notebooks) in the Helm chart values.

The SQL Editor consists of three parts:
-
SQL query editor: The center part of the SQL Editor, which allows you to write and execute SQL queries. It comes with a simple text editor in the query mode and a notebook-like interface in the notebook mode.
-
The sidebar: Contains your different SQL queries and notebooks in the "Queries" tab, the engine list and lifecycle controls in the "Engines" tab, and a mini version of the Explorateur de tables in the "Resources" tab.
-
The output: Appears in the bottom part of the screen when you execute a query. It has tabs for Data, Logs, Statistics, Plan, Export, and Visualization, plus column-level profiling.
The data exploration tool in the SQL Editor.
Moteurs alternatifs
The SQL Editor supports four engines: Apache Spark, Trinitaire, DuckDBet Apache Flink. For an in-depth comparison, refer to the Execution Engines overview.
| Spark SQL | Trinitaire | DuckDB | |
|---|---|---|---|
| Déploiement | On cluster and dynamic | On cluster | Embedded |
| Use Case | ETL, Big data processing | Interactive analytics | Interactive analytics, medium-data ETL, prototyping |
| Storage Support | Comprehensive (with additional JARs) | Sufficient | Lacking (but quickly expanding) |
| Concurrency | High (with tuning) | Very high | Limited |
| Performance | Good for large datasets (with tuning) | Good | Good |
| Overhead | Very high | Medium (always-on coordinator) | Very low (in-process) |
| Lineage support | Extensive | Existing (harder to configure) | With custom extension (supported in Ilum) |
| Extensibility | Easy (big extension ecosystem) | Moderate (smaller extension ecosystem) | Limited (smaller extension catalog, C++ based) |
While using the Spark SQL engine will ensure compatibility with most Ilum components, we recommend checking out the other options since they offer a much better ad-hoc query experience than Spark SQL.
When changing an engine, your tables might be accessible differently or not be available at all due to the differences in the underlying storage.
| Metastore | Spark SQL | Trinitaire | DuckDB |
|---|---|---|---|
| Ruche Metastore | ✅ | ✅ | 🟨 (subset of functionalities supported with extension) |
| Nessie | ✅ | ✅ | 🟨 (possible, but unergonomic) |
| DuckLake | ❌ | ❌ | ✅ |
| Format | Spark SQL | Trinitaire | DuckDB |
|---|---|---|---|
| Delta Table | 🟨 (extension) | ✅ |