Presto 即席查询

  • Presto
    • Presto架构
    • 优缺点
    • Presto、Impala 性能比较
  • Presto优化之数据存储
    • 合理设置分区
    • 使用列式存储
    • 使用压缩
  • Presto优化之查询SQL
    • 只选择使用的字段
    • 过滤条件必须加上分区字段
    • Group By 语句优化
    • Order by 时使用 Limit
    • 使用Join语句时将大表放在左边
  • 注意事项
  • Kylin

Presto

开源的分布式 SQL 查询引擎,数据量支持 GB 到 PB 字节,主要用来处理秒级查询的场景

虽然 Presto 可以解析 SQL,但它不是 MySQL 或 Oracle 的代替品,也不能处理在线事务 ( OLTP )

Presto架构

Presto :

  • 1 个 Coordinator
  • n 个 Worker

  1. 由客户端提交查询 , 从 Presto 命令行 CLI 提交到 Coordinator
  2. Coordinator 解析查询计划 , 把任务分发给 Worket 执行
  3. Worker 负责执行任务和处理数据
  4. Catolog : 数据源 。一个 Catelog : Schema 和 Connetor
  5. Connector : 适配器。用于 Presto 和数据源 (Hive , Redis) 的连接 , 类似于JDBC
  6. Schema 类似于 Mysql 的数据库 , Table 类似于 Mysql的表
  7. Coordinator : 负责从 Worker 获取结果并返回最终结果给 Client

优缺点

优点

  • Presto 基于内存运算,减少了硬盘 IO,计算更快
  • 能连接多个数据源,跨数据源连表查,如从 Hive 查询大量网站访问记录,然后从 Mysql 中匹配出设备信息

缺点

Presto 能够处理 PB 级别的海量数据分析,但 Presto 并不是把 PB 级数据都放在内存中计算的

根据场景 (Court,AVG ) 等聚合运算,是边读数据边计算,再清内存,再读数据再计算,这种耗的内存并不高

连表查 , 会产生大量的临时数据,速度会变慢

Presto、Impala 性能比较

Impala 性能稍领先于 Presto

Presto 在数据源支持上非常丰富 ( Hive、图数据库、传统关系型数据库、Redis )

Presto优化之数据存储

合理设置分区

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

使用列式存储

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

使用压缩

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

Presto优化之查询SQL

只选择使用的字段

采用列式存储,选择需要的字段可加快字段的读取、减少数据量

避免采用 * 读取所有字段

好 :

SELECT time, user, host FROM tbl

坏 :

SELECT * FROM tbl

过滤条件必须加上分区字段

有分区的表,where 语句中优先使用分区字段进行过滤

acct_day : 分区字段
visit_time : 具体访问时间

好 :

SELECT time, user, host FROM tbl where acct_day = 20171101

坏 :

SELECT * FROM tbl where visit_time = 20171101

Group By 语句优化

Order by 时使用 Limit

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

注意事项

Kylin

Presto 即席查询相关推荐

  1. Shib+Presto 即席查询

    1.1.即席查询的目标 使用者是产品/运营/销售运营的数据分析师: 要求数据分析师掌握查询SQL查询脚本编写技巧,掌握不同业务的数据存储在不同的数据集市里: 不管他们的计算任务是提交给 数据库 还是 ...

  2. 即席查询Presto

    文章目录 1.Presto简介 1.1Presto概念 1.2Presto架构 1.3Presto优缺点 2.Presto安装 2.1Presto Server安装 2.2Presto命令行Clien ...

  3. 数仓即席查询---Presto

    Presto简介 presto是一个开源的分布式SQL查询引擎,数据量支持GB到PB级,主要用来处理秒级查询场景 ps:虽然presto可以解析SQL,但它不是一个标准的数据库,不是MySQL,ora ...

  4. #数据技术选型#即席查询Shib+Presto,集群任务调度HUE+Oozie

    郑昀 创建于2014/10/30 最后更新于2014/10/31 一)选型:Shib+Presto 应用场景:即席查询(Ad-hoc Query) 1.1.即席查询的目标 使用者是产品/运营/销售运营 ...

  5. Kylin、druid、presto、impala四种即席查询对比--(转载)

    一.什么是即席查询 即席查询是用户根据自己的需求,灵活的选择查询条件,系统根据用户的选择生成相应的统计报表.普通查应用查询是定制开发的,即席查询是用户自定义查询条件 理解:快速的执行自定义SQL(可能 ...

  6. 是选impala还是presto_Kylin、druid、presto、impala四种即席查询对比

    一.什么是即席查询 即席查询是用户根据自己的需求,灵活的选择查询条件,系统根据用户的选择生成相应的统计报表.普通查应用查询是定制开发的,即席查询是用户自定义查询条件 理解:快速的执行自定义SQL(可能 ...

  7. 【电商数仓】数仓即席查询之Presto简介,安装,Presto优化之数据存储、查询SQL、一些注意事项

    文章目录 一 Presto简介 1 Presto概念 2 Presto架构 3 Presto优缺点 4 Presto.Impala性能比较 二 Presto安装 1 Presto Server安装 2 ...

  8. 即席查询——Presto

    1 Presto安装 1.1 Presto Server安装 1)导入安装包 [zhang@hadoop102 software]$ mkdir presto [zhang@hadoop102 sof ...

  9. #研发解决方案#数据开放实验室:再战即席查询和数据开放

    创建于2017/9/7 最后更新于2017/9/16 关键词:大数据,HBase,数据开放,即席查询,数据授权,HDFS,Zeppelin,Kylin, 提纲: 解决什么场景 即席查询的发展历程 五个 ...

  10. 尚硅谷大数据项目之电商数仓(4即席查询数据仓库)

    尚硅谷大数据项目之电商数仓(即席查询) (作者:尚硅谷大数据研发部) 版本:V4.0 第1章 Presto 1.1 Presto简介 1.1.1 Presto概念 1.1.2 Presto架构 1.1 ...

最新文章

  1. 得力人脸识别考勤机密码设置_百度大脑人脸识别公有云日均调用量过亿 成为业内第一...
  2. matlab 最后一列,求大神帮我解释一下matlab最后几行是什么意思
  3. Dubbo——Dubbo协议整合Jackson序列化解决方案
  4. mysql解释器_atitit.java解析sql语言解析器解释器的实现
  5. 微博取关列表怎么看_微表情心理学:教你怎么从手的动作,去看他人真实的内心想法...
  6. 持续定义SaaS模式云数据仓库+Serverless
  7. else 策略模式去掉if_java – 用状态/策略模式替换if/else逻辑
  8. react-state状态
  9. python两组数的差异_Python中两个日期之间的差异
  10. [渝粤教育] 西南科技大学 公共组织财务 在线考试复习资料
  11. pyhton爬虫爬取100首诗
  12. NUC8冥王峡谷改装苹果网卡完美方案
  13. 排序:ORDER BY
  14. 数据挖掘——航空公司客户价值分析(分析+建模)
  15. 攻防世界Misc——来自银河的声音
  16. HDU 4416 后缀自动机
  17. 比较详细的Mencoder命令行使用
  18. PC版微信  网络不可用,请检查你的网络设置 的解决方法
  19. 零点和极点的物理意义
  20. 大疆无人机安卓Mobile Sdk开发(五)解决M300Rtk H20相机无法获取图片视频的问题

热门文章

  1. 在VMware虚拟机中安装RHEL7
  2. 简单明了的线程生命周期图
  3. Android 接入阿里云推送com.aliyun.ams:alicloud-android-push:3.7.4步骤(一)
  4. 北京交通大学2020计算机考研科目,2020北京交通大学软件工程考研初试科目.pdf
  5. java poi 生成ppt表格,关于java使用POI导出ppt ,其中表格setText 失败问题
  6. mac pem证书登陆linux,Mac通过SSH使用PEM文件登录服务器
  7. 使用PHP+LibreOffice实现word转html的功能
  8. 数据结构:图(Graph)【详解】
  9. 【腾讯云】企业认证题库200题
  10. Python 3爬虫、数据清洗与可视化实战PDF高清完整版免费下载|百度云盘