Hive LLAP 工作负载管理命令

可以借助以下 Hive 命令来控制和管理工作负荷管理功能。 这些命令类似于现有的 ALTER、CREATE、DROP 和 SHOW 语句。

更改映射

更改对某个资源池的查询的路由。

语法

ALTER { USER | GROUP | APPLICATION } MAPPING 'entity_name' IN plan_name { TO pool_path | UNMANAGED } [ WITH ORDER num ]

示例

ALTER USER MAPPING 'hive' IN demo_plan TO etl WITH ORDER 1;

更改池

修改查询池属性、添加触发器,以及删除触发器。

语法

ALTER POOL plan_name.pool_path [ SET {property=value, ... } | UNSET { property, ... } ];
ALTER POOL plan_name.pool_path [ ADD | DROP ] TRIGGER name;

示例

ALTER POOL demo_plan.default ADD TRIGGER defaultToETL;

更改资源计划

启用、禁用、激活、验证或更改计划。

语法

ALTER RESOURCE PLAN name [ VALIDATE | DISABLE | ENABLE | ACTIVATE | RENAME TO another_name | SET {property=value, ... } | UNSET {property, ... } ];

示例

ALTER RESOURCE PLAN demo_plan SET DEFAULT POOL=etl, QUERY_PARALLELISM=3;

更改触发器

将触发器添加到资源池或从中删除触发器。

语法

ALTER TRIGGER plan_name.name { ADD TO | DROP FROM } { POOL path | UNMANAGED };

示例

ALTER TRIGGER demo_plan.ETLKill ADD TO POOL etl;

创建映射

将查询路由到资源池。

语法

CREATE { USER | GROUP | APPLICATION } MAPPING 'entity_name' IN plan_name { TO pool_path | UNMANAGED } [ WITH ORDER num ];

示例

CREATE USER MAPPING 'hive' IN demo_plan TO sys_accounts WITH ORDER 1;

创建池

为某个资源计划创建和添加查询池。

语法

CREATE POOL plan_name.path WITH ALLOC_FRACTION = decimal, QUERY_PARALLELISM = num, [ SCHEDULING_POLICY = scheduling_value ];

示例

CREATE POOL demo_plan.etl WITH ALLOC_FRACTION = 0.20, QUERY_PARALLELISM = 2;

创建资源计划

创建资源计划

语法

CREATE RESOURCE PLAN plan_name [ WITH QUERY PARALLELISM=number | LIKE name];

示例

CREATE RESOURCE PLAN demo_plan;

创建触发器

创建触发器并将它添加到资源计划。

语法

CREATE TRIGGER plan_name.name WHEN condition DO action;

示例

CREATE TRIGGER demo_plan.defaultToETL WHEN  ELAPSED_TIME > 20000 DO MOVE TO etl;

禁用工作负荷管理

停用活动的资源计划。

语法

DISABLE WORKLOAD MANAGEMENT;

示例

DISABLE WORKLOAD MANAGEMENT

删除映射

删除资源计划中的映射。

语法

DROP { USER | GROUP | APPLICATION } MAPPING 'entity_name' IN plan_name;

示例

DROP USER MAPPING 'hive' IN demo_plan;

删除池

删除资源计划中的查询池。

语法

DROP POOL plan_name.pool_path;

示例

CREATE POOL demo_plan.etl;

删除资源计划

删除资源计划。

语法

DROP RESOURCE PLAN plan_name;

示例

DROP RESOURCE PLAN demo_plan;

删除触发器

从资源计划中删除触发器。

语法

DROP TRIGGER plan_name.trigger_name;

示例

DROP TRIGGER demo_plan.defaultToETL;

将资源计划替换为

将一个资源计划的内容替换为另一个资源计划的内容。

语法

REPLACE RESOURCE PLAN name1 WITH name2; 
REPLACE ACTIVE RESOURCE PLAN name1 WITH name2;

示例

REPLACE RESOURCE PLAN rp_plan1 WITH rp_plan2;

显示资源计划

列出计划内容。

语法

SHOW RESOURCE PLAN plan_name;

示例

SHOW RESOURCE PLAN demo_plan;

显示资源计划

列出所有资源计划。

语法

SHOW RESOURCE PLANS;

示例

SHOW RESOURCE PLANS;