Presto

Presto,第1张

Presto

2.1 存储优化

① 合理设置分区

与Hive类似,Presto会根据元信息读取分区数据,合理的分区能减少Presto数据读取量,提升查询性能。

② 使用列式存储

Presto对ORC文件读取做了特定优化,因此在Hive中创建Presto使用的表时,建议采用ORC格式存储。相对于Parquet,Presto对ORC支持更好。

③ 使用压缩

数据压缩可以减少节点间数据传输对IO带宽压力,对于即席查询需要快速解压,建议采用snappy压缩

④ 预先排序

有条件的话提前做好排序,对于已经排序的数据,在查询的数据过滤阶段,ORC格式支持跳过读取不必要的数据。

比如对于经常需要过滤的字段可以预先排序。

2.2 查询优化

① select时只选择必要字段,避免使用 * 号

② 过滤条件加上分区字段,减少查询数据量

③ 合理安排Group by语句中字段顺序对性能有一定提升

将Group By语句中字段按照每个字段distinct数据多少进行降序排列。示例中uid是用户id,比性别数据大很多。

[GOOD]: SELECT GROUP BY uid, gender [BAD]:  SELECT GROUP BY gender, uid

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5676732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存