presto参数优化

耀灵2年前技术文章2637

总体参数

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


相关文章

Hdfs3.x新特性详解

Hdfs3.x新特性详解

HDFS Disk Balancer(磁盘均衡器)HDFS Disk Balancer与HDFS Balancer的区别?两者都是实现负载均衡功能HDFS Balancer是之前Hadoop2.x中本...

MySQL运维实战(7.1) 开启GTID复制

MySQL从5.6版本开始支持GTID复制。开启GTID之后,主库上执行的每一个事务都有一个全局唯一的ID。GTID由两部分组成:server_uuid和事务序列号。初始化数据库时,会生成一个全局唯一...

MySQL 函数触发隐式转换应对策略

前言MySQL 中,当 SQL 索引字段使用了函数的话,会出现隐式转换的问题,导致索引失效,从而导致 SQL 执行效率变慢。本篇文章介绍 MySQL 不同版本此类问题的应对策略。1. 环境介绍以下是本...

变更 Rancher Server IP 或域名

变更 Rancher Server IP 或域名

一.背景由于各种原因导致的需要对rancher的Server IP或者域名进行变更(更改访问地址,更改公网IP地址等)二.流程图三.操作前了解相关配置和要求相关官方文档rancher:日常使用的ran...

RAID磁盘阵列详解

RAID磁盘阵列详解

1 RAID原理无论是DAS、NAS还是SAN,都是存储系统,一个存储系统可以包含多块磁盘。不同磁盘之间的组织排列,就是磁盘阵列技术,也就是RAID技术。RAID磁盘阵列技术的核心思想主要有两个,包括...

image.png

kvm相关命令

一、管理kvm虚拟机1、创建虚拟机virt-install --name=centos1 –ram 1024 --vcpus=1 –disk path=/root/centos1.img,size...

发表评论    

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