How to debug Kylin in IDEA without Hadoop
Background
Why debug Kylin in IDEA without Hadoop
This article aims to introduce a simple and useful way to develop and debug Kylin for developers.
Deployment architecture
Following is the architecture of the current deployment.

This guide assumes you have prepared the following things:
- A laptop with macOS installed to do development work (Windows is not verified at the moment)
- Kylin's source code is cloned into some directory on your laptop
For Windows dev machine, setup the Kylin dev env in Windows Subsystem for Linux is the best option. Follow this guide on how to install WSL with GUI, and install both the Kylin code and your favorite IDE (but not the docker) in WSL for best performance.
Prepare IDEA and build source code
Step 1: Check Software Requirement
Please visit Software Requirement, and make sure your laptop has met the requirement.
Step 2: Build source code
-
Build backend source code before your start debugging.
cd <path-to-kylin-source>mvn clean install -DskipTests -
Build front-end source code.
(Please use node.js v18.20.4, for how to use a specific version of node.js, please check how to switch to a specific node js )
cd kystudionpm install -g yarnyarn install
Step 3: Install IntelliJ IDEA and build the source
-
Install the IDEA Community edition (the Ultimate edition is ok too).
-
Import the source code into IDEA. Click the Open, and choose the directory of Kylin source code.

-
Install the scala plugin and restart

-
Configure SDK(JDK and Scala), make sure you use JDK 1.8.X and Scala 2.12.X.

-
Reload maven projects, and the
scaladirectory will be marked as source root(in blue color).
-
Build the projects.(make sure you have executed
mvn clean package -DskipTests, otherwise some source code is not generated by maven javacc plugin)
Step 4: Prepare IDEA configuration
- Download spark and create running IDEA configuration for debug purpose and initialize the frontend env.
./dev-support/contributor/local/local.sh init
Following is the shell output.
(base) ➜ kylin git:(kylin5) ✗ ./dev-support/contributor/local/local.sh init
# KYLIN_HOME=/path/to/kylin
# SPARK_HOME=/path/to/kylin/build/spark
* Spark already exists, will be deleted and re-downloaded
* Downloading spark...
spark_pkg_file_name : spark-newten-3.3.0-4.6.26.0.tgz
* Setting IDEA run configurations...
# IDEA run configuration version is community...
* Build Frontend...
* Init Done!