Kylin Configuration
- Configuration Files and Overriding
- Deployment configuration
- Metastore Configuration
- Modeling Configuration
- Hive Client and SparkSQL
- JDBC Datasource Configuration
- Data Type Precision
- Cube Design
- Cube Size Estimation
- Cube Algorithm
- Auto Merge Segments
- Lookup Table Snapshot
- Build Cube
- Dictionary-related
- Deal with Ultra-High-Cardinality Columns
- Spark as Build Engine
- Submit Spark jobs via Livy
- Spark Dynamic Allocation
- Job-related
- Enable Email Notification
- Enable Cube Planner
- HBase Storage
- Secondary Hbase Storage
- Job Output
- Enable Compression
- Real-time OLAP
- Storage Clean up Configuration
- Query Configuration
- Security Configuration
- Distributed query cache with Memcached
Configuration Files and Overriding
This section introduces Kylin's configuration files and how to perform Configuration Overriding.
Kylin Configuration Files
Kylin will automatically read the Hadoop configuration (core-site.xml), Hive configuration (hive-site.xml) and HBase configuration (hbase-site.xml) from the environment, in addition, Kylin's configuration files are in the $KYLIN_HOME/conf/ directory.
Kylin's configuration file is as follows:
kylin_hive_conf.xml: This file contains the configuration for the Hive job.kylin_job_conf.xml&kylin_job_conf_inmem.xml: This file contains configuration for the MapReduce job. When performing the In-mem Cubing job, user need to request more memory for the mapper inkylin_job_conf_inmem.xmlkylin-kafka-consumer.xml: This file contains the configuration for the Kafka job.kylin-server-log4j.properties: This file contains the log configuration for the Kylin server.kylin-tools-log4j.properties: This file contains the log configuration for the Kylin command line.setenv.sh: This file is a shell script for setting environment variables. Users can adjust the size of the Kylin JVM stack withKYLIN_JVM_SETTINGSand set other environment variables such asKAFKA_HOME.kylin.properties: This file contains Kylin global configuration.
Configuration Overriding
Some configuration files in $KYLIN_HOME/conf/ can be overridden in the Web UI. Configuration Overriding has two scope: Project level and Cube level. The priority order can be stated as: Cube level configurations > Project level configurations > configuration files.
Project-level Configuration Overriding
Click Manage Project in the web UI interface, select a project, click Edit -> Project Config -> + Property to add configuration properties which could override property values in configuration files, as the figure below shown,

Cube-level Configuration Overriding
In the Configuration overrides step of Cube Designer, user could rewrite property values to override those in project level and configuration files, as the figure below shown,

The following configurations can be override in the Cube-level,
kylin.cube.size-estimate*kylin.cube.algorithm*kylin.cube.aggrgroup*kylin.metadata.dimension-encoding-max-lengthkylin.cube.max-building-segmentskylin.cube.is-automerge-enabledkylin.job.allow-empty-segmentkylin.job.sampling-percentagekylin.source.hive.redistribute-flat-tablekylin.engine.spark*kylin.query.skip-empty-segments