学习
实践
活动
专区
工具
TVP
写文章
专栏首页Lansonli技术博客大数据Presto(五):Presto优化与Impala对比
原创

大数据Presto(五):Presto优化与Impala对比

Presto优化与Impala对比

一、Presto优化

1、​​​​​​​​​​​​​​数据存储

一般Presto与Hive整合使用,针对这种使用情况有如下几点优化建议:

  • 合理设置分区

合理设置分区在读取数据时可以针对分区数据读取,可以减少Presto数据读取量,提升查询性能。

  • 使用列式存储

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

  • 使用压缩

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

2、​​​​​​​​​​​​​​查询优化

  • 只查询必要的字段

由于采用列式存储,查询时指定字段进行查询分析,减少读取数据量,避免使用“*”查询。

  • 过滤条件加上分区字段

这样可以减少全表扫描,加快查询速度。

  • Group By 语句优化

合理安排Group by语句中字段顺序对性能有一定提升。将Group By语句中字段按照每个字段distinct数据多少进行降序排列。

[GOOD]: SELECT col1,clo2 from tbl GROUP BY uid, gender

[BAD]: SELECT col1,clo2 from tbl GROUP BY gender, uid

  • Order By时使用Limit

Order by需要扫描数据到单个worker节点进行排序,导致单个worker需要大量内存。如果是查询TopN或者BottomN,使用limit可减少排序计算和内存压力。

  • 使用Join语句时将大表放在左边

使用Join语句时将大表放在左边Presto中join的默认算法是broadcast join,即将join左边的表分割到多个worker,然后将join右边的表数据整个复制一份发送到每个worker进行计算。如果右边的表数据量太大,则可能会报内存溢出错误。

二、​​​​​​​​​​​​​​Presto与Impala对比

Impala性能比Presto相对来说要快一些,两者都对内存消耗比较大,虽然Impala速度快但是Presto支持的数据源丰富。

原创声明,本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注作者,阅读全部精彩内容
登录 后参与评论
0 条评论

相关文章

  • Presto介绍与常用查询优化方法

    Hive使用MapReduce作为底层计算框架,是专为批处理设计的。但随着数据越来越多,使用Hive进行一个简单的数据查询可能要花费几分到几小时,显然不能满足交...

    高广超
  • 【学习】开源大数据查询分析引擎现状

    文|叶蓬 【按:此文是与我的《基于大数据分析的安全管理平台技术研究及应用》同期发表在内刊上的我的同事们的作品,转载于此。这些基础性的研究和测试对比分析,对于我们...

    小莹莹
  • 大数据分析查询引擎Impala

    准实时分析系统Impala,提供SQL语义,能够为存储在Hadoop的HDFS和Hbase中的PB级大数据提供快速、交互式的SQL查询。传统仓库查询工具Hive...

    凹谷
  • 即席查询引擎对比:我为什么选择Presto

    即席查询AD-HOC :以单独的SQL语句的形式执行的查询就是即席查询,比如说:HUE里面输入SQL语句并获得结果或者使用dbeaver连接hiveserver...

    deephub
  • OLAP计算引擎怎么选?

    大家好,我是一哥,今天聊一聊OLAP技术,一哥认为好的OLAP引擎应该具备以下三个条件:易开发、易维护、易移植。今天给大家分享一下常见的几种OLAP计算引擎,他...

    数据社
  • 大数据OLAP系统(2)——开源组件篇

    开源大数据OLAP组件,可以分为MOLAP和ROLAP两类。ROLAP中又可细分为MPP数据库和SQL引擎两类。对于SQL引擎又可以再细分为基于MPP架构的SQ...

    Spark学习技巧
  • 从 0 到 1 学习 Presto,这一篇就够了

    Presto 作为现在在企业中流行使用的即席查询框架,已经在不同的领域得到了越来越多的应用。本期内容,我会从一个初学者的角度,带着大家从 0 到 1 学习 P...

    大数据梦想家
  • Apache Kylin 在中通快递的实践

    Apache Kylin 在中通是如何落地的,又是怎样赋能中通快递实现 OLAP 分析能力起飞的?本文从多方面对比了 Presto 和 Kylin 的优缺点,并...

    Spark学习技巧
  • Join优化技术之Runtime Filter

    Runtime Filter又称为Dynamic Filter,其目的在于通过在join的probe端提前过滤掉那些不会命中join的输入数据来大幅减少join...

    公众号guangcity
  • OLAP数据库计算层架构分析

    目前主流的OLAP数据库计算层架构有Master-Slave和Master-Master两种形态,但大多数选择的是Master-Slave架构,Master-S...

    awakeljw
  • 快速学习-Presto优化

    1)合理设置分区 与Hive类似,Presto会根据元信息读取分区数据,合理的分区能减少Presto数据读取量,提升查询性能。 2)使用列式存储 Pres...

    cwl_java
  • 主流的 OLAP 引擎介绍 - OLAP极简教程

    随着互联网、物联网、5G、人工智能、云计算等技术的不断发展,越来越多的数据在互联网上产生,对互联网的运营也开始进入精细化,因此大数据、数据分析、数字营销开始变成...

    一个会写诗的程序员
  • OLAP组件选型[通俗易懂]

    OLTP系统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作,强调事务性。OLAP系统则强调数据分析,强调SQL执行时长,强调磁盘I/O...

    全栈程序员站长
  • 大数据存储HDFS详解

    Google Protocol Buffers(ProtoBuf):只有序列化功能,不具备RPC功能。

    凹谷
  • 干货 | 携程Presto技术演进之路

    携程技术
  • 场景下的交互式计算引擎Impala和Presto

    1、跟Hadoop生态系统完好结合,可与Hive Metastore对接,处理hive中的表,可直接处理存储在HDFS和Hbase中的数据。

    凹谷
  • 选择适合你的开源 OLAP 引擎

    摘要:本文主要介绍了主流开源的OLAP引擎:Hive、Sparksql、Presto、Kylin、Impala、Druid、Clickhouse 等,逐一介绍了...

    大数据学习指南

扫码关注腾讯云开发者

领取腾讯云代金券