Presto:基于内存的OLAP查询引擎

news2025/1/19 3:01:11

Presto查询引擎

    • 1、Presto概述
      • 1.1、Presto背景
      • 1.2、什么是Presto
      • 1.3、Presto的特性
    • 2、Presto架构
      • 2.1、Presto的两类服务器
      • 2.2、Presto基本概念
      • 2.3、Presto数据模型
    • 3、Presto查询过程
      • 3.1、Presto执行原理
      • 3.2、Presto与Hive
      • 3.3、Presto与Impala
      • 3.4、PrestoDB与PrestoSQL
    • 4、Presto查询优化


1、Presto概述

1.1、Presto背景


Facebook的数据仓库存储在少量大型Hadoop/HDFS集群。Hive是Facebook在十几年前专为Hadoop打造的一款数据仓库工具。在以前,Facebook的科学家和分析师一直依靠Hive来做数据分析。Hive使用MapReduce作底层计算框架,是专为批处理设计的

随着数据源的多样化、数据仓库的不断扩展以及数据湖的发展,使用Hive及时获得有用的见解可能变得困难。例如使用Hive进行一个简单的数据查询可能需要花费几分钟甚至几小时,这显然不能满足企业级交互式查询的需求

于是Facebook调研了其他比Hive更快的工具,但它们要么在功能有所限制,要么就太简单,以至于无法操作Facebook庞大的数据仓库

在Facebook试用了一些外部项目但都不合适后,2012年秋季,他们决定自己开发,Presto应运而生

2013年,Facebook正式宣布开源Presto。2015年,Netflix展示了Presto实际上比Hive快10倍,在某些情况下甚至更快

Hive的问题主要在于它将MapReduce查询的中间结果存储在磁盘上,这会导致在磁盘间产生大量的I/O开销。Presto凭借其新的架构和内存引擎,将显着降低其延迟和查询速度,从而允许更多的交互式查询

Presto的用例范围从交互式即席查询到长时间运行的批量ETL管道,使其能够灵活地适应各种数据驱动的用例和应用程序

1.2、什么是Presto


Presto是由FaceBook开源的一个MPP SQL引擎,主要用来解决Facebook海量Hadoop数据仓库的高延迟交互分析问题

Facebook版本的Presto更多的是以解决企业内部需求功能为主,也叫PrestoDB,版本号以0.xxx来划分,例如目前的最新版本0.284版本

后来,Presto其中的几个人出来创建了更通用的Presto分支,取名PrestoSQL,版本号以xxx来划分,例如315版本,这个开源版本也是更为被大家通用的版本

为了更好的与Facebook的Presto进行区分,PrestoSQL于2020年12月27日改名为Trino,除了名字改变了其他都没变。不管是PrestoDB还是PrestoSQL,它们“本是同根生”,因此它们的大部分的机制原理是一样的

在这里插入图片描述

PrestoDB官网:https://prestosql.io/ 或 https://prestodb.io/

PrestoDB官方文档1:https://prestodb.io/docs/0.284/overview.html

PrestoDB官方文档2:https://dzone

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1280535.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

主键虽两个字,但含义丰富;创建新表,Access会自动创建主键,但也可以手动设置

主键是一种特殊类型的索引字段,用于唯一标识表中的每个记录或行。每个主键值必须是表中唯一一个此类主键值。创建新表时,Access会自动创建具有字段名ID和自动编号数据类型的主键。 你需要了解的有关主键的一些信息 一个表只能有一个主键。 主键字段中…

【Python】tensorflow学习的个人纪录(3)

sess tf.Session()actor Actor(sess, n_featuresN_S, lrLR_A, action_bound[-A_BOUND, A_BOUND])步进:

1+x网络系统建设与运维(中级)-练习3

一.设备命名 AR1 [Huawei]sysn AR1 [AR1] 同理可得,所有设备的命名如上图所示 二.VLAN LSW1 [LSW1]vlan 10 [LSW1-vlan10]q [LSW1]int g0/0/1 [LSW1-GigabitEthernet0/0/1]port link-type access [LSW1-GigabitEthernet0/0/1]port default vlan 10 [LSW1-GigabitEt…

[ffmpeg] aac 音频编码

aac 介绍 aac 简单说就是音频的一种压缩编码器,相同音质下压缩比 mp3好,目前比较常用。 aac 编码支持的格式 aac 支持的 sample_fmts: 8 aac 支持的 samplerates: 96000 88200 64000 48000 44100 32000 24000 22050 16000 12000 11025 8000 7350 通…

U盘不仅能在电脑上使用,在手机上也可使用,包括安卓和苹果手机,但苹果的较特殊

许多最好的安卓手机都使用USB-C端口在电脑上充电和来回传输文件,但如果你需要给老板发电子邮件的文件放在闪存驱动器或全尺寸SD卡上呢? 幸运的是,使用廉价的适配器电缆,你可以将USB加密狗或读卡器直接连接到手机上。你甚至可以直接使用USB-C闪存驱动器,以实现更轻松的过程…

带头双向循环链表:一种高效的数据结构

💓 博客主页:江池俊的博客⏩ 收录专栏:数据结构探索👉专栏推荐:✅cpolar ✅C语言进阶之路💻代码仓库:江池俊的代码仓库🔥编译环境:Visual Studio 2022🎉欢迎大…

Unity DOTS《群体战斗弹幕游戏》核心技术分析之3D角色动画

最近DOTS发布了正式的版本, 我们来分享现在流行基于群体战斗的弹幕类游戏,实现的核心原理。今天给大家介绍大规模战斗群体3D角色的动画如何来实现。 DOTS 对角色动画支持的局限性 截止到Unity DOTS发布的版本1.0.16,目前还是无法很好的支持3D角色动画。在DOTS 的b…

【Python】tensorflow学习的个人纪录(2)

actor.learn(s, a, td_error)def learn(self, s, a, td):s s[np.newaxis, :]feed_dict {self.s: s, self.a: a, self.td_error: td}_, exp_v self.sess.run([self.train_op, self.exp_v], feed_dict)return exp_v输入变量的数值: 步进: []---->[…

算法设计与实现--动态规划篇

什么是动态规划算法 动态规划算法是一种求解复杂问题的方法,通过将原问题分解为相对简单的子问题来求解。其基本思想是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子…

割裂式“多渠道”不是真正的全渠道!浅析全渠道零售和DTC在理念上的不谋而合|徐礼昭

图文:徐礼昭 全渠道零售概念解析 全渠道零售概念由来已久,单纯从业务经营角度,一个品牌在线上线下多个渠道铺货卖货,只能说是多渠道零售,而不是全渠道零售。商派市场负责人徐礼昭认为,品牌企业应该从消费者…

前后端分离部署https

引用:https://blog.csdn.net/weixin_35676679/article/details/127841598 前后端部署,,一般用的是nginx和java,,, 下载SSL证书: java配置https 将证书配置到springboot中 server:port: 544…

为什么要构建指标中台?数据指标的问题

1、综合内部实践和外部交流,指标使用问题主要集中在以下六大方面: 指标口径不一致:常规数据质量问题统计中,约有 31% 涉及指标口径问题; 指标入口不统一:缺少一个企业级的统一消费入口,不知道从…

Ubuntu22.04无需命令行将软件更新源切换到国内

1、右上角打开设置 2、在设置中拉到最下面点击About,然后点击Software Updates 3、点击下拉框 4、选择other 5、找到China,选择一个网址,然后点击Choose Server 6、输入密码并回车 7、点击Close 8、点击Reload 9、等待完成即可 10、等结束之后…

【数电笔记】16-卡诺图绘制(逻辑函数的卡诺图化简)

目录 说明: 最小项卡诺图的组成 1. 相邻最小项 2. 卡诺图的组成 2.1 二变量卡诺图 2.2 三表变量卡诺图 2.3 四变量卡诺图 3. 卡诺图中的相邻项(几何相邻) 说明: 笔记配套视频来源:B站;本系列笔记并…

【STM32】STM32学习笔记-软件安装(03)

00. 目录 文章目录 00. 目录01. MDK安装02. Keil5注册03. 支持包安装04. ST-LINK驱动安装05. USB转串口驱动06. 附录 01. MDK安装 MDK 源自德国的 KEIL 公司,是 RealView MDK 的简称。在全球 MDK 被超过 10 万的嵌入式开发工程师使用。目前最新版本为: …

Python生产者消费者模型

额滴名片儿 🎈 博主:一只程序猿子 🎈 博客主页:一只程序猿子 博客主页 🎈 个人介绍:爱好(bushi)编程! 🎈 创作不易:如喜欢麻烦您点个👍或者点个⭐&#xff01…

Python面向对象⑤:多态【侯小啾python领航班系列(二十三)】

Python面向对象⑤:多态【侯小啾python领航班系列(二十三)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹…

Pytest测试攻略:探寻pytest.main()隐藏的利器

更多资料获取 📚 个人网站:ipengtao.com 在Pytest测试框架中,pytest.main()是一个重要的功能,用于启动测试执行。它允许以不同方式运行测试,传递参数和配置选项。本文将深入探讨pytest.main()的核心功能,提…

大数据技术学习笔记(七)—— Zookeeper

目录 1 Zookeeper 概述1.1 Zookeeper 定义1.2 Zookeeper 工作机制1.3 Zookeeper 特点1.4 数据结构1.5 应用场景 2 Zookeeper 安装3 客户端命令行操作4 Zookeeper 的 Java 客户端操作4.1 IDEA 环境搭建4.2 初始化 ZooKeeper 客户端4.3 创建子节点4.4 获取子节点4.5 判断Znode是否…

根据豆瓣对《流浪地球》的短评数据进行文本分析和挖掘

1背景 2019年2月5日电影《流浪地球》正式在中国内地上映。该电影在举行首映的时候,口德好得出奇,所有去看片的业界大咖都发出了画样赞叹,文化学者能锦说:“中国科幻电影元年开启了。"导演徐峰则说,“里程碑式的电影&#xf…