我有一个这样的应用场景,一部分查询走cli,一部分查询走JDBC,同时这些查询对于资源的需求以及优先级有要求,那么我在Trino中如何保障?当然我们可以选择资源组,资源组的前提是只在提交的时候进行资源判断,当SQL执行起来后,却不会进行资源限定的判断,这点需要注意。
如下是一个resource group json的配置,主要目的是让通过cli和JDBC的查询使用不同的资源组,从而确保高优先级的查询能够优先执行。
客户标签CLI可以通过 –client-tags=tags 进行设定
JDBC客户标签可以通过在JDBC连接中添加 clientTags=tags
比如:jdbc:trino://localhost:9090?user=ocdp&clientTags=q4
{
"rootGroups": [
{
"name": "q1",
"softMemoryLimit": "60%",
"hardConcurrencyLimit": 5000,
"maxQueued": 5000,
"schedulingPolicy": "fair",
"jmxExport": false
},
{
"name": "q2",
"softMemoryLimit": "40%",
"hardConcurrencyLimit": 5000,
"maxQueued": 5000,
"schedulingPolicy