ByteHouse provides parameter management at multiple levels, supporting settings for global Param, user Param, and virtual warehouse Param to meet parameter configuration requirements for different business scenarios. This article describes how to configure and manage various types of Param.
ByteHouse currently supports settings for global Param, user Param, and virtual warehouse Param, as described below:
Parameter type | Description |
|---|---|
Global parameter | Parameters that take effect globally in the environment, support configuring the default write virtual warehouse and statistics function.
|
User params | Parameters effective at the user level. Supports setting for the current user, including default virtual warehouse, default database, and default language.
|
Virtual warehouse params | Parameters effective for a single virtual warehouse. You can modify parameter values in the fixed parameter template of the virtual warehouse according to business needs, or set custom parameters as required. For the current list of supported custom parameters, see Related reference: Custom parameter list. |
In ByteHouse, virtual warehouse Param requires setting the default write virtual warehouse and default virtual warehouse. This is because ByteHouse natively supports storage and calculate separation (read/write separation). By configuring the default write virtual warehouse and default virtual warehouse Param, data writing and query operations can be assigned to different virtual warehouses to achieve resource isolation and improve operational stability. This is especially suitable for production environments where both read and write workloads are busy, and for business scenarios with high requirements for real-time data writing and query response time.
In addition to supporting settings for the default virtual warehouse and default write virtual warehouse, ByteHouse also allows you to specify the required virtual warehouse during operations:
Console SQL worksheet: Before running SQL statements in the SQL worksheet, you can select a virtual warehouse as needed. For details, see Select compute group.
Running SQL statements in other clients: You can specify the virtual warehouse using relevant Param. Example:
# Query level SELECT * FROM db.table SETTINGS virtual_warehouse='xxx'; # Session level SET virtual_warehouse='xxx';
warning
It is recommended to set virtual warehouse parameters only at the query level or only at the session level; do not set both simultaneously.
Only users with SystemAdmin or AccountAdmin roles can configure write virtual warehouse.
The default write virtual warehouse is the default write virtual warehouse for the current Environment, used as the default Resources for writing Data to the underlying storage of the Database.
The default write virtual warehouse specifies the dedicated virtual warehouse for the current Environment that is responsible for write-type Missions.
Log in to the ByteHouse Console. In Tenant management, click the Parameter settings tab. Under the Global Parameters Modules, click the edit button in the row for the default write virtual warehouse, and select the default write virtual warehouse.
warning
ByteHouse supports configuring a dedicated write virtual warehouse for a Database. After setting a database-level write virtual warehouse for a Database, writing Data in that Database will by default use the configured virtual warehouse Resources. If not set, Data writing will by default use the default write virtual warehouse set for the current Environment.
warning
warning
Log in to the ByteHouse Console. In Tenant management, click the Parameter settings tab. Under the Global Parameters Modules, turn on or off the Statistics Info button to enable or disable this function.
Log in to the ByteHouse Console. In Tenant management, click the Parameter settings tab. Under the User Parameters Modules, click the edit button in the param row, and select the corresponding param value. Param configuration description is as follows:
ByteHouse Support project provides OLAP and ELT types of virtual warehouse Groups and corresponding Param Templates, allowing you to select the type of virtual warehouse Group as needed and customize Params according to Business Scenarios. This not only Satisfy the optimization requirements for query performance in OLAP Analysis Scenes, but also adapts to the stability requirements for ELT Missions in batch Processing Scenes. Meanwhile, ByteHouse Support project Add to customize SQL Params to further lift SQL Run efficiency and better adapt to your Business Scenarios and optimize Data Processing experience.
All Users can View virtual warehouse Params, but only Users with virtual warehouse ALL privilege can edit virtual warehouse Params and Copy virtual warehouses.
You can Log in to the ByteHouse Console, Pass Access control > User > Username > Resource privilegesPath to View virtual warehouse privilege. To obtain edit privilege for virtual warehouse Params, contact the System Administrator for Configuration.
ByteHouse Support project provides Fixed Param Templates for virtual warehouse Groups, supporting Configuration of virtual warehouse Params, making it convenient for Users to access and edit virtual warehouse Params at any time, lift Data warehouse performance, and Satisfy the needs of specific Business Scenarios.
In addition to Fixed Param Templates, ByteHouse Support project Add to customize SQL Params to better meet actual Business Scenarios. The Custom parameters List is maintained By ByteHouse. For the complete List of currently supported Custom parameters, please refer to Related reference: Custom parameter list. To Submit new requirements for Custom parameters, contact the ByteHouse team.
How to use
Log in to the ByteHouse Console, Pass Tenant management > Parameter settings > Virtual warehouse parametersPath to Entrants the Virtual warehouse parametersModules. In the virtual warehouse dropdown List, Select the virtual warehouse to edit, Input the Parameter name in the Search box, and click the Search button to Search for the Param to change.
Click the edit button to edit Current Value. When editing, you can refer to the Param Rangesettings. If the Parameter value you set exceeds the Value range, you will not be able to Submit or Save it.
(Optional) Add to customize SQL Params.
After confirming, click Save.
(Optional) Some parameters will take effect after the virtual warehouse is restarted. You can restart the virtual warehouse according to the prompt on the interface. The interface will display a prompt box containing the "Restart virtual warehouse" button. After clicking this button, the virtual warehouse state will change to "Restarting". Once the state returns to "Running", the restart is complete.
In the Parameter List on the current page, confirm that the parameter value has been updated.
ByteHouse supports copying the current virtual warehouse parameters to other virtual warehouses of the same type, helping you improve configuration efficiency and consistency. After copying, the new parameters will overwrite the original parameters.
The description of custom parameters supported by ByteHouse is as follows:
Parameter name (SQL parameter) | Parameter value | Value range | Parameter description |
|---|---|---|---|
optimize_unique_table_write | false | true/false | Optimization for insert select import into unique key tables. It is recommended to enable only when temporary storage dedup_impl_version='dedup_in_txn_commit' is not enabled. |
max_insert_threads | 0 | Positive integer | Size of the write thread pool for workers running insert select requests. |
min_insert_block_size_bytes | 1,073,710,080 | Positive integer | Minimum size of the batch block for insert select. |
min_insert_block_size_rows | 1,048,545 | Positive integer | Minimum number of rows in the batch block for insert select. |
max_partitions_per_insert_block | 100 | Positive integer | Maximum number of parts allowed to be written in each block of a single insert operation, usually limited by the number of partitions multiplied by the number of buckets in the data distribution. |
lake_commit_in_worker | true | true/false | Whether to use worker to commit when writing external tables. |
lake_write_threads | 4 | Positive integer | Size of the thread pool for writing external tables. |
lake_write_max_file_size | 1,073,741,824 | Positive integer | Maximum size of a single file written to external tables. |
input_format_parquet_use_native_reader | false | true/false | Whether to use native reader when reading parquet files. |
input_format_parquet_use_footer_cache | false | true/false | Whether to cache parquet file footer in memory. |
output_format_parquet_row_group_size | 1,000,000 | Positive integer | Parquet file row group size. |
dynamic_adjust_squash_for_write | false | true/false | Optimize memory usage of the squash procedure during writing. |
enable_implicit_arg_type_convert | false | true/false | Whether to enable implicit conversion for functions. |
enable_plan_cache | false | true/false | Whether to enable query plan cache in memory. |
match_name_ignore_case | false | true/false | Whether to ignore case sensitivity in SQL statements. |
wait_runtime_filter_timeout | 1000 | Positive integer | Duration for waiting to build runtime filter. The default is 1 second. If it times out, the runtime filter result will be ignored. |