Presto 即席查询
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
- 由客户端提交查询 , 从 Presto 命令行 CLI 提交到 Coordinator
- Coordinator 解析查询计划 , 把任务分发给 Worket 执行
- Worker 负责执行任务和处理数据
- Catolog : 数据源 。一个 Catelog : Schema 和 Connetor
- Connector : 适配器。用于 Presto 和数据源 (Hive , Redis) 的连接 , 类似于JDBC
- Schema 类似于 Mysql 的数据库 , Table 类似于 Mysql的表
- 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 即席查询相关推荐
- Shib+Presto 即席查询
1.1.即席查询的目标 使用者是产品/运营/销售运营的数据分析师: 要求数据分析师掌握查询SQL查询脚本编写技巧,掌握不同业务的数据存储在不同的数据集市里: 不管他们的计算任务是提交给 数据库 还是 ...
- 即席查询Presto
文章目录 1.Presto简介 1.1Presto概念 1.2Presto架构 1.3Presto优缺点 2.Presto安装 2.1Presto Server安装 2.2Presto命令行Clien ...
- 数仓即席查询---Presto
Presto简介 presto是一个开源的分布式SQL查询引擎,数据量支持GB到PB级,主要用来处理秒级查询场景 ps:虽然presto可以解析SQL,但它不是一个标准的数据库,不是MySQL,ora ...
- #数据技术选型#即席查询Shib+Presto,集群任务调度HUE+Oozie
郑昀 创建于2014/10/30 最后更新于2014/10/31 一)选型:Shib+Presto 应用场景:即席查询(Ad-hoc Query) 1.1.即席查询的目标 使用者是产品/运营/销售运营 ...
- Kylin、druid、presto、impala四种即席查询对比--(转载)
一.什么是即席查询 即席查询是用户根据自己的需求,灵活的选择查询条件,系统根据用户的选择生成相应的统计报表.普通查应用查询是定制开发的,即席查询是用户自定义查询条件 理解:快速的执行自定义SQL(可能 ...
- 是选impala还是presto_Kylin、druid、presto、impala四种即席查询对比
一.什么是即席查询 即席查询是用户根据自己的需求,灵活的选择查询条件,系统根据用户的选择生成相应的统计报表.普通查应用查询是定制开发的,即席查询是用户自定义查询条件 理解:快速的执行自定义SQL(可能 ...
- 【电商数仓】数仓即席查询之Presto简介,安装,Presto优化之数据存储、查询SQL、一些注意事项
文章目录 一 Presto简介 1 Presto概念 2 Presto架构 3 Presto优缺点 4 Presto.Impala性能比较 二 Presto安装 1 Presto Server安装 2 ...
- 即席查询——Presto
1 Presto安装 1.1 Presto Server安装 1)导入安装包 [zhang@hadoop102 software]$ mkdir presto [zhang@hadoop102 sof ...
- #研发解决方案#数据开放实验室:再战即席查询和数据开放
创建于2017/9/7 最后更新于2017/9/16 关键词:大数据,HBase,数据开放,即席查询,数据授权,HDFS,Zeppelin,Kylin, 提纲: 解决什么场景 即席查询的发展历程 五个 ...
- 尚硅谷大数据项目之电商数仓(4即席查询数据仓库)
尚硅谷大数据项目之电商数仓(即席查询) (作者:尚硅谷大数据研发部) 版本:V4.0 第1章 Presto 1.1 Presto简介 1.1.1 Presto概念 1.1.2 Presto架构 1.1 ...
最新文章
- 得力人脸识别考勤机密码设置_百度大脑人脸识别公有云日均调用量过亿 成为业内第一...
- matlab 最后一列,求大神帮我解释一下matlab最后几行是什么意思
- Dubbo——Dubbo协议整合Jackson序列化解决方案
- mysql解释器_atitit.java解析sql语言解析器解释器的实现
- 微博取关列表怎么看_微表情心理学:教你怎么从手的动作,去看他人真实的内心想法...
- 持续定义SaaS模式云数据仓库+Serverless
- else 策略模式去掉if_java – 用状态/策略模式替换if/else逻辑
- react-state状态
- python两组数的差异_Python中两个日期之间的差异
- [渝粤教育] 西南科技大学 公共组织财务 在线考试复习资料
- pyhton爬虫爬取100首诗
- NUC8冥王峡谷改装苹果网卡完美方案
- 排序:ORDER BY
- 数据挖掘——航空公司客户价值分析(分析+建模)
- 攻防世界Misc——来自银河的声音
- HDU 4416 后缀自动机
- 比较详细的Mencoder命令行使用
- PC版微信 网络不可用,请检查你的网络设置 的解决方法
- 零点和极点的物理意义
- 大疆无人机安卓Mobile Sdk开发(五)解决M300Rtk H20相机无法获取图片视频的问题
热门文章
- 在VMware虚拟机中安装RHEL7
- 简单明了的线程生命周期图
- Android 接入阿里云推送com.aliyun.ams:alicloud-android-push:3.7.4步骤(一)
- 北京交通大学2020计算机考研科目,2020北京交通大学软件工程考研初试科目.pdf
- java poi 生成ppt表格,关于java使用POI导出ppt ,其中表格setText 失败问题
- mac pem证书登陆linux,Mac通过SSH使用PEM文件登录服务器
- 使用PHP+LibreOffice实现word转html的功能
- 数据结构:图(Graph)【详解】
- 【腾讯云】企业认证题库200题
- Python 3爬虫、数据清洗与可视化实战PDF高清完整版免费下载|百度云盘