在你的presto安装目录下的/etc/config.properties添加
query.queue-config-file=/soft/presto-206/etc/queue_config.json
编辑你的json文件
{
"queues": {
"user.hive": {
"maxConcurrent": 5,
"maxQueued": 50
},
"admin": {
"maxConcurrent": 5,
"maxQueued": 100
},
"global": {
"maxConcurrent": 3,
"maxQueued": 5
}
},
"rules": [
{
"user": "bob",
"queues": ["admin"]
},
{
"queues": [
"user.hive",
"global"
]
}
]
}
这个配置中包含两部分,一个是queues ,一个是rules
队列定义在queues下,每个队列包含三个属性
1.queuesname 队列的名称,例如user.hive
2.maxConcurrent:改队列允许同时运行查询的最大并发数量
3.maxQueued:改队列运行同时接受的提交查询请求的最大数量
Rules的定义
规则定义在rules标签下,每个规则可以定义四个属性:
1.user:用户名,取值来源于session中的user,若在cli中默认为操作系统用户,presto jdbc为传入的用户名
2.source:sql来源,一般有两种,presto-cli和presto-jdbc
3.session:session中定义的参数,分为在System session中所包含的参数
4.queues:队列列表,可以定义多个
例如:
{
"user":"hive",
"source":".*presto-cli.*",
"queues":[
"user.hive","global"
]
}