ByteHouse 提供不同级别的参数管理,支持设置全局参数、用户参数和计算组参数,适用于不同业务场景的参数配置需求。本文将介绍如何配置和管理各类参数。
ByteHouse 当前支持设置全局参数、用户参数和计算组参数,区别说明如下:
仅具有 SystemAdmin、AccountAdmin 角色的用户可配置写计算组。
默认写计算组为当前环境的默认写计算组,用于将数据写入数据库底层存储的默认计算资源。
登录 ByteHouse 控制台,在租户管理中,单击参数设置页签,在全局参数模块下,单击默认写计算组行的编辑按钮,选择默认写计算组。
注意
ByteHouse 支持您为数据库配置专属写计算组。为某个数据库设置数据库级写计算组后,在该数据库中写入数据时,将默认使用设置的计算组资源;如果未设置,数据写入时将默认使用当前环境设置的默认写计算组。
注意
登录 ByteHouse 控制台,在租户管理中,单击参数设置页签,在用户参数模块下,单击参数行的编辑按钮,选择对应的参数值。参数配置说明如下:
ByteHouse 提供 OLAP 和 ELT 两种类型的计算组及对应参数模板,支持您按需选择计算组类型,并可根据业务场景自定义参数,既能满足 OLAP 分析场景对查询性能的优化需求,也能适配批处理场景下 ELT 任务的稳定性要求。同时,ByteHouse 支持添加自定义 SQL 参数,进一步提升 SQL 执行效率,更好地适配您的业务场景适配与优化数据处理体验。
所有用户均可查看计算组参数,但只有具有计算组 ALL 权限的用户可编辑计算组参数、复制计算组。
您可通过登录 ByteHouse 控制台,通过权限管理 > 用户 > 用户名 > 资源权限路径,查看计算组权限。如需获取计算组参数编辑权限,可联系系统管理员配置。
ByteHouse 提供了计算组固定参数模板,支持配置计算组参数,便于用户随时访问并编辑计算组参数,提升数据仓库的性能,满足特定业务场景的需求。
除固定参数模板外,ByteHouse 支持添加自定义 SQL 参数,更好地满足实际业务需求。自定义参数列表由 ByteHouse 维护,当前支持的完整自定义参数列表请参见相关参考:自定义参数列表。如果您有新的自定义参数需求,请联系 ByteHouse 团队提交需求。
操作步骤:
ByteHouse 支持将当前计算组参数复制给同类型的其他计算组,帮助您提升计算组配置效率和配置一致性。复制后,新参数将覆盖原有参数。
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 结果。 |