ApsaraDB for ClickHouseのuser.xmlファイルは、ユーザーパラメーター、ユーザー情報、および権限の設定を管理するために使用されます。 user.xmlファイルを変更することで、ApsaraDB for ClickHouseクラスターのユーザーパラメーターを設定できます。 このトピックでは、ApsaraDB for ClickHouseクラスターのuser.xmlファイル内のパラメーターの値を変更する方法について説明します。
背景情報
ApsaraDB for ClickHouseクラスターには複数のパラメーターを設定できます。 デフォルトのパラメーター値は、config.xmlファイルとuser.xmlファイルに設定されます。 設定ファイルのパラメーター値を変更することで、ApsaraDB for ClickHouseクラスターのパフォーマンスを向上させることができます。
ApsaraDB for ClickHouseコンソールでconfig.xmlファイルのパラメーター値を変更し、ApsaraDB for ClickHouseクラスターを再起動して変更を有効にすることができます。 詳細については、「config.xmlファイルのパラメーターの設定」をご参照ください。
user.xmlファイルのパラメーター値を変更するには、クライアントを使用してApsaraDB for ClickHouseクラスターに接続し、関連するコマンドを実行します。 clickhouse-clientを使用してuser.xmlファイルのパラメーター値を変更することはできません。
前提条件
クラスターの状態が、“実行中” である必要があります。
手順
user.xmlファイルを変更する手順は、クラスターのエディションによって異なります。
Community-compatible Edition
次のセクションでは、Community-compatible Editionクラスターのuser.xmlファイルを変更する構文と例について説明します。
構文
SET GLOBAL ON cluster default <setting_name> = <setting_value>;
パラメーターの説明
ApsaraDB For ClickHouseでサポートされているパラメーターの詳細については、オープンソースのClickHouseドキュメントのコア設定トピックを参照してください。
setting_valueパラメーターの値がブール値または文字列の場合、値は単一引用符 (') を使用して囲む必要があります。
例
例1: テーブルからデータをロードするときに、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;
Enterprise Edition
Enterprise Editionクラスターのusers.xmlファイルのパラメーター設定は、Community互換Editionクラスターのパラメーター設定とは異なります。 要件に基づいて、対応するステートメントを実行できます。
一時的に有効になるパラメーターの設定
現在のセッションのパラメーター設定を変更できます。
この場合、クラスタのパラメータ設定は一時的に有効になります。 クラスターが切断されてから再接続された場合、パラメーター設定は無効になります。
構文
SET <setting_name> = <setting_value>;
例
現在のセッションのライブビュー機能を有効にします。
SET allow_experimental_live_view = 1;
アカウントに対して完全に有効になるパラメーターの設定
クラスターに作成されたアカウントのパラメーター、ユーザー情報、および権限を設定できます。
次のSQL文を実行するには、特権アカウントまたはACCESS MANAGEMENT権限を持つアカウントを使用する必要があります。
この場合、クラスターのパラメーター設定は永続的に有効です。 ただし、パラメーター設定を変更した後、セッションで変更を有効にするには、クラスターを再接続する必要があります。
構文
ALTER USER user_name SETTINGS <setting_name> = <setting_value>;
例
ユーザー名がNancyのアカウントの最大メモリ使用量を4 GBに設定します。
ALTER USER Nancy SETTINGS max_memory_usage_for_user = 4294967296;
すべてのアカウントに完全に有効になるパラメーターの設定
クラスターに作成されたすべてのアカウントのパラメーター、ユーザー情報、および権限を設定できます。
次のSQL文を実行するには、特権アカウントまたはACCESS MANAGEMENT権限を持つアカウントを使用する必要があります。
この場合、クラスターのパラメーター設定は永続的に有効です。 ただし、パラメーター設定を変更した後、セッションで変更を有効にするには、クラスターを再接続する必要があります。
構文
CREATE SETTINGS PROFILE profile_name SETTINGS <setting_name> = <setting_value> TO ALL;
例
すべてのアカウントの最大クエリ実行時間を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%';