一般来说,很难说Presto肯定比Spark SQL更快或更慢,取决于您正在执行的查询类型,环境和引擎调整参数。关于presto和spark sql对比的文章很少,主要原因是Presto没有那么主流,但已用了presto,那就有必要对比分析一下。

相同点

presto和spark sql都是MPP(massively parallel processing)架构(Presto/Impala/SparkSQL/Drill等),有很好的数据量和灵活性支持,都是基于内存(spark基于内存和磁盘),但是对响应时间是没有保证的。当数据量和计算复杂度增加后,响应时间会变慢,从秒级到分钟级,甚至小时级都有可能。

不同点

  • 重点不同:presto强调查询,spark sql强调计算
  • 架构不同:Presto架构相当简单,有一个协调器,可以执行SQL解析、计划、调度,和一组执行物理计划的工作节点;Spark核心之间有更多层,框架更复杂,RDD的弹性构建,为作业进行资源管理和协商等等
  • 内存存储:两者都是内存计算,当内存不够时,presto直接OOM,spark会落地磁盘
  • 资源申请:presto预先申请好CPU和内存,coordinator和worker一直运行;spark任务实时申请资源,需要多少资源申请多少
  • 数据处理:Presto是批处理(页面)管道处理模式,只要页面完成,就可以将其发送到下一个任务(这种方法大大减少了各种查询的端到端响应时间); 在spark中,数据需要在进入下一阶段之前完全处理。
  • 数据容错: 如果单个节点发生失败或者数据丢失,presto会导致查询失败;但spark会根据rdd血缘关系重新计算
  • 优化程序:Presto基于成本的优化器(CBO),速度更快;Spark SQL基于规则的优化(RBO),可在复杂查询上执行更好的操作,速度更慢。但在Spark 2.2开始后的版本,也引入了基于成本的优化(CBO),而且CBO只是对特定场景会有影响,这点差异可以忽略。

spark和presto比较相关推荐

  1. 如何实现Spark on Kubernetes?

    简介:大数据时代,以Oracle为代表的数据库中间件已经逐渐无法适应企业数字化转型的需求,Spark将会是比较好的大数据批处理引擎.而随着Kubernetes越来越火,很多数字化企业已经把在线业务搬到 ...

  2. Spark SQL在携程的实践经验分享

    本文根据张翼老师在2018年5月13日[第九届中国数据库技术大会]现场演讲内容整理而成. 讲师简介: 张翼,10年互联网老兵;2015年3月加入携程,携程的大数据平台技术总监,带领团队构建稳定,高效的 ...

  3. 【Spark】一条 SQL 在 Apache Spark 之旅(上)

    1.概述 转载学习加深印象:一条 SQL 在 Apache Spark 之旅(上) Spark SQL 是 Spark 众多组件中技术最复杂的组件之一,它同时支持 SQL 查询和 DataFrame ...

  4. Presto Iceberg 数据源 + Alluxio 使用以及最新进展介绍

    本文来自 Alluxio 在2021年11月27日举办的 <[Iceberg + Alluxio]助力加速数据通道>在线会议.分享者为王北南和shouwei chen.本次分享主要分两部分 ...

  5. 【mock】大数据Clickhouse; Kafka; Flink; Spark 学习与性能压测数据Mock

    文章目录 前言 mock数据脚本-基础版 mock数据-集成到kafka 前言 为方便大家学习大数据过程中,需要数据进行练习与调试,本次给大家分享几篇mock数据的脚本 可适用于kafka;hive; ...

  6. Spark+Flink+Iceberg打造湖仓一体架构实践探索

    数据湖-大数据生态杀青 数据仓库的痛点 只能存储结构化数据,无法采集存储非结构化数据 无法存储原始数据,所有的数据须经过ETL清洗过程 离线数仓的数据表牵一发而动全身,数据调整工程量大 实时数仓存储空 ...

  7. 《Presto(Trino)——The Definitive Guide》Presto指南20版

    Presto系列文章目录 This book provides a great introduction to Presto and teaches you everything you need t ...

  8. Presto 动态过滤(dynamic filtering)原理与应用

    早在2005年,Oracle 数据库就支持比较丰富的 dynamic filtering 功能,而 Spark 和 Presto 在最近版本才开始支持这个功能.本文将介绍 Presto 动态过滤的原理 ...

  9. iphone8p百度云认证_探秘百度数据工厂Pingo的多存储后端数据联合查询技术

    作者介绍:张志宏,2013年加入百度大数据部,曾作为核心成员参与百度大数据平台的搭建.目前是百度数据工厂Pingo核心团队的技术负责人. Pingo是来自百度的离线大数据集成开发平台,使用Spark作 ...

最新文章

  1. 前谷歌董事长施密特:美国AI领导地位岌岌可危,科研预算投入得翻倍
  2. Python使用QRCode模块生成二维码
  3. C# 制作开机自动启动程序
  4. lamp rpm mysql_centos5.9使用RPM包搭建lamp平台
  5. 【待继续研究】除了专家模型,这两大模型也被普遍应用于信用评估
  6. Failed to create the Java Virtual Machine
  7. 如何去除Windows8测试版界面“水印”
  8. (14)System Verilog 常量const详解
  9. HDU - 4746预处理莫比乌斯反演
  10. 【算法】剑指 Offer 35. 复杂链表的复制 【重刷】
  11. CentOS添加swap分区
  12. qmc0文件怎么转换mp3_音频转换器哪个好 怎么剪切MP3音频制作手机铃声
  13. Jupyter notebook、JypterLab的本地安装与使用
  14. uci2019计算机录取,美国加州大学这九所分校2019最新录取数据
  15. android ffmpeg neno优化
  16. 计算机 硕士 技术路线,(最新整理)硕士开题报告技术路线图
  17. java classpath 遍历_Java 读取JAR文件信息
  18. spring全集 - - - 第五章RESTful开发
  19. xp系统可用的远程投屏软件_Windows XP电脑投屏
  20. C语言中include是什么?

热门文章

  1. 三层架构与MVC详细讲解
  2. Miku Miku Dance DxOpenNI for OpenNI 2
  3. Python3 02 数字(Number)、字符串、列表、元组、字典
  4. 政府网站公文中的错别字在线检查工具
  5. 爬虫实战系列(八):淘宝店铺各品牌手机售卖信息爬取及可视化
  6. JAVA利用第三方平台发送短信验证码。
  7. Debian系统下安装Aria2
  8. 电话号码生成图片格式
  9. 【文档资料】Linux、Vi/Vim常用命令
  10. 看rom助手如何教你脱离伸手党,做出自己的rom