You need to enable JavaScript to run this app.
导航
参数管理
最近更新时间:2025.08.05 11:08:58首次发布时间:2025.04.16 17:31:10
复制全文
我的收藏
有用
有用
无用
无用

ByteHouse 提供不同级别的参数管理,支持设置全局参数、用户参数和计算组参数,适用于不同业务场景的参数配置需求。本文将介绍如何配置和管理各类参数。

功能概述

ByteHouse 当前支持设置全局参数、用户参数和计算组参数,区别说明如下:

  • 全局参数:环境全局生效的参数,支持设置当前环境的默认写计算组。如果您购买了多个计算组,也支持为当前环境中不同数据库指定不同的默认写计算组。
  • 用户参数:用户级别生效的参数,支持为当前用户设置默认计算组、默认数据库、默认语言。
  • 计算组参数:针对单个计算组生效的参数,您可根据业务需求修改计算组固定参数模板中的参数值,也可按需设置自定义参数。当前支持的自定义参数列表请参见相关参考:自定义参数列表

使用限制
  • 使用前,请确认您的引擎为 v2.3 及以上版本。您可以在 ByteHouse 控制台的租户管理 > 基本信息页面查看您当前的引擎版本。
  • 以下功能为 Beta 功能,如需使用,请提交工单或联系 ByteHouse 团队获取白名单权限。
    • 设置库级写计算组
    • 编辑计算组参数
    • 复制计算组参数

设置全局参数

前提条件

仅具有 SystemAdmin、AccountAdmin 角色的用户可配置写计算组。

设置默认写计算组

默认写计算组为当前环境的默认写计算组,用于将数据写入数据库底层存储的默认计算资源。
登录 ByteHouse 控制台,在租户管理中,单击参数设置页签,在全局参数模块下,单击默认写计算组行的编辑按钮,选择默认写计算组。
Image

注意

  • 默认写计算组为全局参数,修改后,环境全局生效。
  • 不建议频繁修改此设置,该更改大约需要 5 分钟生效,并且在此期间可能会影响表写入性能。
  • 您可按需调整计算组规格,以满足您的业务需求,操作详情请参见编辑计算组配置
  • 当默认写计算组服务过期,系统将在您登录控制台时提示服务不可用,您可根据提示配置默认写计算组。

设置库级写计算组

ByteHouse 支持您为数据库配置专属写计算组。为某个数据库设置数据库级写计算组后,在该数据库中写入数据时,将默认使用设置的计算组资源;如果未设置,数据写入时将默认使用当前环境设置的默认写计算组。

  1. 登录 ByteHouse 控制台,在租户管理中,单击参数设置页签,在全局参数模块下,单击库级写计算组,进入配置页面。
  2. 单击编辑,从下拉列表中选择数据库和对应的默认写计算组。可单击新增 1 行,为多个数据库配置其对应的默认写计算组。
    Image

    注意

    • 一个数据库仅可设置一个写计算组。
    • 不建议频繁修改库级写计算组,该更改大约需要 5 分钟生效,修改期间可能会影响表写入性能。
  3. 单击保存,即可生效。
  4. 如需删除数据库级写计算组,可单击数据库所在行的删除按钮,删除后将使用当前环境设置的默认写计算组。

设置用户参数

登录 ByteHouse 控制台,在租户管理中,单击参数设置页签,在用户参数模块下,单击参数行的编辑按钮,选择对应的参数值。参数配置说明如下:

  • 默认计算组:默认计算组为当前用户的默认计算组,用于处理 SQL 的默认计算资源。
  • 默认数据库:用户连接至 ByteHouse 时默认连接的数据库。
  • 语言设置:默认语言设置,支持设置为简体中文或 English。

Image

设置计算组参数

ByteHouse 提供 OLAP 和 ELT 两种类型的计算组及对应参数模板,支持您按需选择计算组类型,并可根据业务场景自定义参数,既能满足 OLAP 分析场景对查询性能的优化需求,也能适配批处理场景下 ELT 任务的稳定性要求。同时,ByteHouse 支持添加自定义 SQL 参数,进一步提升 SQL 执行效率,更好地适配您的业务场景适配与优化数据处理体验。

前提条件

所有用户均可查看计算组参数,但只有具有计算组 ALL 权限的用户可编辑计算组参数、复制计算组。
您可通过登录 ByteHouse 控制台,通过权限管理 > 用户 > 用户名 > 资源权限路径,查看计算组权限。如需获取计算组参数编辑权限,可联系系统管理员配置。
Image

编辑计算组参数

ByteHouse 提供了计算组固定参数模板,支持配置计算组参数,便于用户随时访问并编辑计算组参数,提升数据仓库的性能,满足特定业务场景的需求。
除固定参数模板外,ByteHouse 支持添加自定义 SQL 参数,更好地满足实际业务需求。自定义参数列表由 ByteHouse 维护,当前支持的完整自定义参数列表请参见相关参考:自定义参数列表。如果您有新的自定义参数需求,请联系 ByteHouse 团队提交需求。
操作步骤:

  1. 登录 ByteHouse 控制台,通过租户管理 > 参数设置 > 计算组参数路径,进入计算组参数模块。在计算组下拉列表中,选择需编辑的计算组后,在搜索框输入参数名称,单击搜索按钮,查询需修改的参数。
  2. 单击编辑按钮,编辑运行参数值。编辑时,可参考参数取值范围设置参数。若您设置的参数值超出取值范围,将无法提交保存。
    Image
  3. (可选)添加自定义参数。
    1. 单击**+自定义参数**按钮,进入新增自定义参数页面。
    2. 搜索需要添加的自定义参数,勾选所需参数,单击新增
      Image
    3. 在计算组参数列表中查看并编辑已添加的自定义参数值。
    4. 如果您需要删除自定义参数,可单击参数行对应的删除按钮。
      Image
  4. 确认无误后,单击保存
  5. (可选)部分参数将在计算组重启后生效,您可按照界面提示重启计算组。界面会弹出包含“重启计算组”按钮的提示框,单击该按钮后,计算组状态将变为“重启中”,待状态恢复为“运行中”即表示重启完成。
    Image
  6. 在当前页面的参数列表中,确认参数值已更新。

复制计算组参数

ByteHouse 支持将当前计算组参数复制给同类型的其他计算组,帮助您提升计算组配置效率和配置一致性。复制后,新参数将覆盖原有参数。

  1. 在计算组参数模块中,选择作为源的计算组,单击复制参数
  2. 选择复制参数的目标计算组,单击确认
    Image
  3. 切换至目标计算组,查看参数是否复制成功。
  4. (可选)部分参数将在计算组重启后生效,您可按照界面提示重启计算组。重启后,在目标计算组参数列表,确认参数值已更新。
    重启时,界面会弹出包含“重启计算组”按钮的提示框,单击该按钮后,计算组状态将变为“重启中”,待状态恢复为“运行中”即表示重启完成。

相关参考:自定义参数列表

ByteHouse 支持的自定义参数说明如下:

参数名称(SQL参数)

运行参数值

取值范围

参数说明

optimize_unique_table_write

false

true/false

唯一键表 insert select 导入优化,建议仅在未开启暂存区 dedup_impl_version='dedup_in_txn_commit' 开启。

max_insert_threads

0

正整数

worker 执行 insert select 请求的写入线程池大小。

min_insert_block_size_bytes

1,073,710,080

正整数

Insert select 攒批 block 块的最小大小。

min_insert_block_size_rows

1,048,545

正整数

Insert select 攒批 block 块的最小行数。

max_partitions_per_insert_block

100

正整数

单个 Insert 操作中每个 block 内允许写入的最大 part 数,通常是由数据分布的分区数*桶数限制。

lake_commit_in_worker

true

true/false

写外表时是否使用 worker 提交。

lake_write_threads

4

正整数

外表写入的线程池大小。

lake_write_max_file_size

1,073,741,824

正整数

外表写入的单个最大文件大小。

input_format_parquet_use_native_reader

false

true/false

读 parquet 文件时是否使用 native reader。

input_format_parquet_use_footer_cache

false

true/false

是否在内存缓存 parquet 文件 footer。

output_format_parquet_row_group_size

1,000,000

正整数

Parquet 文件 row group size。

dynamic_adjust_squash_for_write

false

true/false

优化写入流程的 squash 过程内存使用。

enable_implicit_arg_type_convert

false

true/false

是否开启函数隐式转换。

enable_plan_cache

false

true/false

是否开启内存的 query plan cache。

match_name_ignore_case

false

true/false

是否忽略 SQL 语句中的大小写。

wait_runtime_filter_timeout

1000

正整数

等待构建 runtime filter 的时长,默认 1 秒,超时后会忽略 runtime filter 结果。