presto参数优化

耀灵11个月前技术文章902

总体参数

1)session级别的参数配置
query.max-run-time=600s
在终止查询之前,允许在群集上处理查询的最大时间。时间包括分析和计划的时间,也包括在队列中等待的时间,因此本质上这是自创建以来允许查询存在的时间。

query.max-execution-time=600s
在终止查询之前,在集群上主动执行查询的最大允许的时间,与query.max-run-time相比,执行时间不包括队列中的分析、查询规划或等待时间。

2)数据源为hive,可对Hive metastore配置缓存,可根据实际情况设置缓存时长。
#文件/presto/etc/catalog/hive.properties
hive.metastore-cache-ttl 
控制cache的存活时间,默认设为0,表示不启用这种cache机制

hive.metastore-refresh-interval 
控制cache自动刷新的频率,默认为1ms.
适当增大这两个参数也可提高查询效率

3)#控制每个worker上面最大可以提交多少个split,默认是100
#coordinator config.properties文件 work节点共同配置
node-scheduler.max-splits-per-node

#控制每个worker上面最多可以有多少个split处于Pending状态
#coordinator config.properties文件 work节点共同配置
node-scheduler.max-pending-splits-per-task

4)#coordinator config.properties文件和work节点共同配置
task.max-worker-threads 
    说明:一个worker处理split的最大并发度。
    

node-scheduler.max-splits-per-node 
    说明:一个worker处理的最大splits数量 ,超过这个值则task优先发送到其他节点。
    默认值:100 
    建议:如果一个splits处理时间比较短,可适当增加该值。

原参数:

1.png

trino版

query.max-run-time


修改参数


调整配置文件,使其永久生效。

query.max-execution-time

2.png

修改参数

#直接执行set语句
set session query_max_execution_time = value;

eg:


但是只在会话中生效,会话关闭后恢复默认值。

调整配置文件,使其永久生效。

3.png

-------------------------------------------------------------------------------

客户原本配置文件内容

config.properties

4.png

catalog/hive.properties

5.png


修改config.properties配置文件

#在终止查询之前,允许在群集上处理查询的最大时间。时间包括分析和计划的时间,也包括在队列中等待的时间,因此本质上这是自创建以来允许查询存在的时间。
query.max-run-time=600s

#在终止查询之前,在集群上主动执行查询的最大允许的时间,与query.max-run-time相比,执行时间不包括队列中的分析、查询规划或等待时间。
query.max-execution-time=600s

node-scheduler.max-splits-per-node=200

#控制每个worker上面最多可以有多少个split处于Pending状态
node-scheduler.max-pending-splits-per-task=200

#说明:一个worker处理split的最大并发度。
task.max-worker-threads=128

6.png


验证参数生效;

7.png

修改hive.properties配置文件

#控制cache的存活时间,默认设为0s,表示不启用这种cache机制
hive.metastore-cache-ttl=1s 

#控制cache自动刷新的频率,默认为0s.适当增大这两个参数也可提高查询效率
hive.metastore-refresh-interval=1s


8.png

未修改之前查询时间:

9.png

presto进行重启

/opt/cloudera/parcels/presto/bin/launcher restart


相关文章

clickhouse集群对接hive(三)

clickhouse集群对接hive(三)

前提:集群中已经部署了hive组件和clickhouse集群,clickhouse集群进行对接hive1、设置hdfs文件系统本地缓存<local_cache_for_remote_fs>...

Oozie安装web页面

Oozie安装web页面

1、查看web页面,页面显示页面显示无法打开oozie的web安装页面,如果需要安装页面需要安装Ext js的lib库2、安装ExtJS 2.2库进入/var/lib/oozie路径中cd  /var...

CDH开启kerberos

CDH开启kerberos

1、依赖条件1、安装openldap-clients,krb5-workstations2、准备好kdcserver 或者AD2、操作步骤1、使用admin用户登录cm页面2、启用kerberos填写...

MySQL DDL 风险评估

MySQL DDL 风险评估

一、前言变更是数据库离不开的话题,从 MySQL 5.6 开始,推出 online DDL 即变更期间不锁表,本篇文章介绍 MySQL 变更对数据库的影响如何去判断。二、DDL 风险提示1. 变更速查...

Dockerfile

Dockerfile

一、什么是镜像?镜像可以看成是由多个镜像层叠加起来的一个文件系统(通过UnionFS与AUFS文件联合系统实现),镜像层也可以简单理解为一个基本的镜像,而每个镜像层之间通过指针的形式进行叠加。根据上图...

MySQL优化器特性(八)索引范围扫描成本计算

MySQL优化器特性(八)索引范围扫描成本计算

range执行计划中的range表示索引范围扫描。索引范围扫描的执行过程大致如下:1、根据where条件中索引字段的条件,定位到索引结构中的第一条满足条件的记录。2、根据索引中记录的rowid,到表中...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。