全部產品
Search
文件中心

ApsaraDB for ClickHouse:配置user.xml參數

更新時間:Jun 30, 2024

在Clickhouse中,user.xml用來系統管理使用者層級的參數設定以及使用者資訊、許可權資訊等,當您需要為ClickHouse叢集配置使用者層級參數時,可以通過修改user.xml來進行設定。本文介紹如何修改雲資料庫ClickHouse的user.xml設定檔中的參數。

背景介紹

ClickHouse叢集包含多個參數,其預設值通常配置在config.xml和user.xml檔案中。您可以通過修改這兩個檔案中的參數來最佳化叢集的效能。

  • 您可以通過控制台線上修config.xml設定檔中的參數,並重新啟動叢集,以使參數修改生效。詳細資料,請參見配置config.xml參數

  • 您需要通過用戶端串連雲資料庫ClickHouse叢集,執行相關文法命令修改user.xml設定檔中的參數,但不支援通過clickhouse-client用戶端修改。

前提條件

叢集狀態為運行中

操作步驟

叢集版本不同,修改user.xml的方式也不同。

社區相容版

社區相容版叢集user.xml設定檔的文法以及使用樣本。

文法

SET GLOBAL ON cluster default <setting_name> = <setting_value>;

參數說明

  • 目前支援的參數清單,請參見ClickHouse參數列表

  • setting_value取值是布爾類型或字元型時,需要用單引號括起來。

使用樣本

樣本1:設定從表載入資料時,在單個塊中包含的最大行數。

SET GLOBAL ON cluster default max_block_size = 10000;

樣本2:啟用資料格式的順序保留並行分析。

SET GLOBAL ON cluster default input_format_parallel_parsing = 'True';

查看參數

查看當前叢集user.xml配置的參數。

SELECT * FROM system.settings;

企業版

企業版的users.xml參數設定與社區版的不同,請您根據具體需求執行對應語句。

重要

下文所有文法中setting_name、setting_value、profile_name的值請參見Core Settings | ClickHouse DocsRestrictions on Query Complexity | ClickHouse Docs

設定臨時生效的參數

修改當前登入所在會話的參數設定。

說明

此種參數設定,參數資訊並沒有被持久化在叢集中,所以當您退出叢集串連後再重新串連,設定的參數就會失效

文法

SET <setting_name> = <setting_value>;

樣本

當前session下啟用live view功能。

SET allow_experimental_live_view = 1;

使一個帳號的參數持久化生效

為叢集單個帳號設定參數、使用者資訊以及許可權資訊。

說明
  • 執行以下SQL需要高許可權帳號或擁有ACCESS MANAGEMENT許可權的帳號。

  • 這種參數設定方法,參數會被持久化在叢集中,但當前的session並沒有更新,因此需要重新串連叢集,設定的參數才能在session中生效。

文法

ALTER USER user_name SETTINGS <setting_name> = <setting_value>;

樣本

將名字為Nancy的帳號的記憶體使用量量限制為4GB。

ALTER USER Nancy SETTINGS max_memory_usage_for_user = 4294967296;

使全帳號的參數持久化生效

為叢集所有帳號設定參數、使用者資訊以及許可權資訊。

說明
  • 執行以下SQL需要高許可權帳號或擁有ACCESS MANAGEMENT許可權的帳號。

  • 這種參數設定方法,參數會被持久化在叢集中,但當前的session並沒有更新,因此需要重新串連叢集,設定的參數才能在session中生效。

文法

CREATE SETTINGS PROFILE profile_name SETTINGS <setting_name> = <setting_value> TO ALL;

樣本

將所有帳號在執行query時的執行時間長度限制為10秒。

CREATE SETTINGS PROFILE max_execution_time_profile SETTINGS max_execution_time = 10 TO ALL; 

查看設定的參數是否持久化

文法

SHOW SETTINGS LIKE '%<settings_name>%';

樣本

查看設定的allow_experimental_live_view參數是否持久化生效。

SHOW SETTINGS LIKE '%allow_experimental_live_view%';

相關文檔