展开

关键词

数据查询引擎Presto

Presto设计精巧,可以处理海量数据,最大化地利用硬件性能,计算全部在内存中完成,很好的利用高速网络来进行数据调度。性能基本上是Hive的10倍。 Presto集群中的数据传输、节点通信、心跳感应、计算监控、计算调度和计算分布全部都是基于RESTful服务实现的,因此Presto中的RESTful服务就是Presto所有服务的基石。 向Presto集群提交一个查询,其整个过程会经历4个阶段: 1、提交查询:客户端向Coordinator提供的RESTful服务提交SQL语句 2、生成查询执行计划:Coordinator根据传递的SQL Presto支持众多数据源Connector,最常用的为Hive Connector。 Hive Connector 使用Hive的元数据,Coordinator节点通过Hive Metastore加载元数据Presto的计算节点读取Hive表对应的HDFS数据

92830

Presto查询引擎

如果大家正在按照笔者的教程尝试使用大数据组件还是之前有使用过相关的组件,大家会发现一个问题HIVE在负责的查询下调用Mapreduce会很慢,在这个场景下就涌现出很多查询引擎来优化,比如大家熟悉的Spark-SQL ,Impala,kilin已经今天的主角Presto, Presto以速度和极强的扩展性取得了胜利,不仅能够提高对HIVE数据查询速度还能和异构数据库进行关联查询,比如HIVE和Mysql进行关联查询, launcher start -- 后台运行 launcher run --日志运行 launcher stop --停止 2.使用presto-cli查询 cd /usr/local/presto hadoop-1:8080 --catalog hive --schema default 此时就可以正常的执行SQL 了 ,在数据量大的查询情况下速度基本比Hive快了5-6倍 presto:default , FINISHED, 1 node Splits: 18 total, 18 done (100.00%) 0:00 [11 rows, 327B] [35 rows/s, 1.03KB/s] 关于查询出来的数据常常要导出数据

1.4K50
  • 广告
    关闭

    腾讯云图限时特惠0.99元起

    腾讯云图是一站式数据可视化展示平台,旨在帮助用户快速通过可视化图表展示大量数据,低门槛快速打造出专业大屏数据展示。新用户0.99元起,轻松搞定数据可视化

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    数据平台建设 —— SQL查询引擎之Presto

    数据查询引擎Presto简介 SQL on Hadoop: Hive的出现让技术人员可以通过类SQL的方式对批量数据进行查询,而不用开发MapReduce程序 MapReduce计算过程中大量的中间结果磁盘落地使运行效率较低 Presto是什么: Presto是由Facebook开发的分布式SQL查询引擎,用来进行高速实时的数据分析 Presto的产生是为了解决Hive的MapReduce模型太慢且不能通过BI等工具展现HDFS HDFS进行交互读取数据 Presto查询流程: ? 使用presto-client连接presto-server,进入到交互式终端,测试下能否正常查询Hive中的数据: [root@hadoop /usr/local/presto-server]# bin Presto提供了三种Event Listener: Query Creation:Presto查询建立相关信息 Query completion:查询执行相关信息,包含成功查询的细节信息,失败查询的错误码等信息

    97641

    数据实时查询-Presto集群部署搭建

    Presto介绍 Presto是一个分布式SQL查询引擎, 它被设计为用来专门进行高速、实时的数据分析。 每一个任务从磁盘上读取输入数据并且将中间结果输出到磁盘上。 然而Presto引擎没有使用MapReduce。它使用了一个定制的查询和执行引擎和响应的操作符来支持SQL的语法。 这种流水线式的执行模型会在同一时间运行多个数据处理段, 一旦数据可用的时候就会将数据从一个处理段传入到下一个处理段。 这样的方式会大大的减少各种查询的端到端响应时间。 如果在一个节点上安装多个Presto实例(例如:在同一台机器上安装多个Presto节点),那么每个Presto节点必须拥有唯一的node.id node.data-dir: 数据存储目录的位置(操作系统上的路径 ), Presto将会把日期和数据存储在这个目录下 jvm.config 包含一系列在启动JVM的时候需要使用的命令行选项。

    2.2K42

    presto查询hudi异常解决

    前言 记录一个presto查询hudi的异常的解决办法,本人目前对presto还不是很熟,只是在使用过程中遇到了问题,记录一下异常解决方法以及过程 异常 2021-12-22T17:29:55.440+ 0800 ERROR SplitRunner-101-126 com.facebook.presto.execution.executor.TaskExecutor Error :249) at com.facebook.presto.operator.Driver.processInternal(Driver.java:424) at com.facebook.presto.operator.Driver.lambda :728) at com.facebook.presto.operator.Driver.processFor(Driver.java:300) at com.facebook.presto.execution.SqlTaskExecution (TaskExecutor.java:599) at com.facebook.presto.

    27930

    使用presto查询同步到hive的hudi数据

    如果没有同步hive数据,可参考文章:使用flink SQL Client将mysql数据写入到hudi并同步到hive。 并且,以下内容中的presto查询,即是基于上述参考文章所同步的hive表进行查询的,建议可先阅读上述参考文章。 以下presto安装以单节点为例。 至此,我们完成了presto安装与启动工作,接下来就可以对hive中的数据进行查询。 使用presto查询cow表 首先确保,你已经通过其他方式,将hudi COW表同步到hudi中,如果没有相关同步,可参考文章:使用flink SQL Client将mysql数据写入到hudi并同步到 hive 本文在参考文章基础上进行,所查询的表也是基于上述参考文章导入的表数据

    21810

    PRESTO-分布式大数据SQL查询引擎

    http://prestodb-china.com/ PRESTO是什么? Presto是一个开源的分布式SQL查询引擎,适用于交互式分析查询数据量支持GB到PB字节。 Presto的设计和编写完全是为了解决像Facebook这样规模的商业数据仓库的交互式分析和处理速度的问题。 它可以做什么? Presto支持在线数据查询,包括Hive, Cassandra, 关系数据库以及专有数据存储。 一条Presto查询可以将多个数据源的数据进行合并,可以跨越整个组织进行分析。 Facebook使用Presto进行交互式查询,用于多个内部数据存储,包括300PB的数据仓库。 每天有1000多名Facebook员工使用Presto,执行查询次数超过30000次,扫描数据总量超过1PB。 领先的互联网公司包括Airbnb和Dropbox都在使用Presto

    1.2K50

    数据开发:分布式OLAP查询引擎Presto入门

    Presto是什么? Presto是一个开源的分布式SQL查询引擎,适用于交互式分析查询数据量支持GB到PB字节。 但随着数据越来越多,使用Hive进行一个简单的数据查询可能要花费几分到几小时,显然不能满足交互式查询的需求。 Presto可以做什么? Presto支持在线数据查询,包括Hive,Cassandra,关系数据库以及专有数据存储。一条Presto查询可以将多个数据源的数据进行合并,可以跨越整个组织进行分析。 Presto三大特点 高性能:Presto基于内存计算,减少数据的落盘,计算更快;轻量快速,支持近乎实时的查询; 多数据源:通过配置不同的Connector,Presto可以连接不同的数据源,所以可以将来自不同数据源的表进行连接查询 关于大数据开发,分布式OLAP查询引擎Presto入门,以上就为大家做了简单的介绍了。在交互式查询领域,Presto可以说是非常代表性的一个产品,在大规模交互式查询式,性能可观。

    66420

    Presto之分布式安装查询Hive

    工作需要使用Presto,记录下。Presto需要Hive,安装Hive的步骤略,可参考我的这篇博客。     Presto是个master-slave结果的查询引擎,所以我们用三台机器来安装,如下List-1 List-1 192.168.33.34 presto-coordinator 192.168.33.35 presto-coordinator 在presto-coordinator上,将presto安装包放在/opt下,解压, 1、config.properties,在etc下新建config.properties Worker节点执行 一个Discovery Server节点,Discovery Server: 通常内嵌于Coordinator节点中,worker会将自己注册到这里 多个Worker节点,负责实际执行查询任务 ,负责与HDFS交互读取数据 Presto查询引擎低延迟的原因: 基于内存的并行计算 流水线式计算作业 本地化计算 动态编译执行计划 Hive是存储、计算引擎,不过Persto不做存储。

    76130

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

    Presto Hive使用MapReduce作为底层计算框架,是专为批处理设计的。但随着数据越来越多,使用Hive进行一个简单的数据查询可能要花费几分到几小时,显然不能满足交互式查询的需求。 Presto实现低延时查询的原理,我认为主要是下面几个关键点: 完全基于内存的并行计算 流水线 本地化计算 动态编译执行计划 小心使用内存和数据结构 类BlinkDB的近似查询 GC控制 更多详情:https ://blog.csdn.net/fly_time2012/article/details/52160140 Presto查询优化 数据存储 合理设置分区 与Hive类似,Presto会根据元信息读取分区数据 ,合理的分区能减少Presto数据读取量,提升查询性能。 使用压缩 数据压缩可以减少节点间数据传输对IO带宽压力,对于即席查询需要快速解压,建议采用snappy压缩 预先排序 对于已经排序的数据,在查询数据过滤阶段,ORC格式支持跳过读取不必要的数据

    2.1K50

    Presto?还是 Hive? 你们知道大数据查询性能谁更强吗?

    技术控们,你们知道大数据查询性能谁更强吗? 经过对 Presto 和 Hive 的性能做了大量的对比测试,最终结果表明: Presto 的平均查询性能是 Hive 的 10 倍! 由于 Presto数据源具有完全解耦、高性能,以及对 ANSI SQL 的支持等特性,使得 Presto 在 ETL、实时数据计算、 Ad-Hoc 查询和实时数据流分析等多个业务场景中均能发挥重要的作用 基于 RDBMS 的实时计算 在这种业务场景中,用户要求查询数据完全实时,即只要业务库中的数据发生改变,通过 Presto 查询的时候,就可以查询到刚刚改变之后的数据。 ( 2)使用 Cli 客户端进行数据分析 Presto 使用 Hive 作为数据源,对 Hive 中的数据进行查询和分析。 因此我们应该避免在 Kafka中存储大量的数据,从而提高查询性能。 某公司在这种使用场景下,通过使用 presto-hive 与 presto-kafka 配合,完成历史数据的分析和查询

    77110

    Presto介绍及常用查询优化方法总结

    Presto 的扩展机制允许自定义 Connector,从而实现对定制数据源的查询。 1.2 实现低延时的原理 Presto是一个交互式查询引擎,我们最关心的是Presto实现低延时查询的原理,以下几点是其性能脱颖而出的主要原因: 完全基于内存的并行计算 流水线 本地化计算 动态编译执行计划 小心使用内存和数据结构 GC控制 无容错 2、Presto查询优化 2.1 存储优化 ① 合理设置分区 与Hive类似,Presto会根据元信息读取分区数据,合理的分区能减少Presto数据读取量,提升查询性能 ③ 使用压缩 数据压缩可以减少节点间数据传输对IO带宽压力,对于即席查询需要快速解压,建议采用snappy压缩 ④ 预先排序 有条件的话提前做好排序,对于已经排序的数据,在查询数据过滤阶段,ORC格式支持跳过读取不必要的数据 FROM t1 JOIN t2 ON t1.a2 = t2.a2 ④ 使用WITH语句 使用Presto分析统计数据时,可考虑把多次查询合并为一次查询,用Presto提供的子查询完成。

    49100

    比hive快10倍的大数据查询利器-- presto

    目前最流行的大数据查询引擎非hive莫属,它是基于MR的类SQL查询工具,会把输入的查询SQL解释为MapReduce,能极大的降低使用大数据查询的门槛, 让一般的业务人员也可以直接对大数据进行查询。 对于此情况,创造了hive的facebook不负众望,创造了新神器---presto,其查询速度平均比hive快10倍,现在就来部署体验一下吧。 创建presto数据及日志目录 以下操作各节点均相同,只有配置文件处需根据各节点情况,对应修改 mkdir -p /data/presto 4. query.max-memory: 查询能用到的最大总内存 query.max-memory-per-node: 查询能用到的最大单结点内存 discovery-server.enabled: Presto node.data-dir: 数据目录,Presto用它来保存log和其他数据 5) 配置catalog及hive.properties 创建 catalog目录,因本次使用的hive,因此在此目录下创建

    1.7K40

    线上Presto查询Hudi表异常排查

    引入 线上用户反馈使用Presto查询Hudi表出现错误,而将Hudi表的文件单独创建parquet类型表时查询无任何问题,关键报错信息如下 40931f6e-3422-4ffd-a692-6c70f75c9380 问题复现 开始根据用户提供的信息,模拟线上Hudi数据集大小、Presto和Hudi版本(0.5.2-incubating)来复现该问题。 进行试验发现当Hudi表单文件大小较小时,使用Presto查询一切正常。 ? 构建Hudi表中单文件大小为100MB以上数据集,使用Presto查询。 ? 可以看到,当Hudi数据集中文件大小为100MB时复现了Not Valid Parquet file异常,通过Presto的web ui可以看到具体的错误堆栈如下 ? 可以看到修改参数后,查询一切正常!!! 另外对Hudi的小文件也进行了回归测试,查询也正常!

    27020

    json格式存储数据在hdfs,然后建立外部表连接,使用presto查询

    背景:json格式存储数据在hdfs,然后建立外部表连接,使用presto查询。 但是发现presto并不能直接解析json,即使加入了jsonSerde的jar包也不行。 同时hive可以。  因为这个表是hive使用jsonSerde建立的,所以presto无法使用。如下图所示: image.png 同时presto的报错,相关的jar包都在哈~~ image.png jar包检查。 presto里面都有这个jar包,而且presto重启过了。 目前该怎么办呢,友商侧的一个资料同步: https://forums.aws.amazon.com/thread.jspa? threadID=243860 https://github.com/rcongiu/Hive-JSON-Serde 但是相关的节点信息路径不一致,这里测试的的文件路径: /usr/local/service/presto /lib/ [master] /usr/local/service/presto/plugin/hive-hadoop2/ [all nodes]

    95010

    Presto如何提升Hudi表查询性能?

    分享一篇关于使用Hudi Clustering来优化Presto查询性能的talk ? ; 而对于查询引擎而言,Hudi可以将其表信息注册至Metastore中,查询引擎如Presto即可与Metastore交互获取表的元信息并查询数据。 由于Uber内部大规模使用了Presto查询引擎,下面重点介绍Hudi和PrestoDB的集成细节。 ? 介绍完Hudi和PrestoDB集成现状后,来看看使用案例和场景,Hudi与Presto的集成是如何降低成本和提高查询性能的 ? Job跨表重组数据布局);根据历史查询性能优化新的数据布局;在Presto中添加二级索引进一步减少查询时间;提升重写性能(如对于某些策略降低重写数据开销); ?

    51820

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

    对于数仓来说,即席查询的响应程度也就成为了评估数据仓库的一个重要指标。对于即席查询的支持程度不仅仅是对数据仓库设计的要求,也是对于整个数据平台架构的要求。 (这里所说的对称性指的是:数据模型对所有的查询都是相同的,这也是维度建模的一个优点) 能够快速的执行自定义SQL对即席查询来说是最基本的要求,一般情况下即席查询基本上都是从全量的详细数据中进行过滤筛选, ,旨在快速提取大量事件数据,并在数据之上提供低延迟查询。 如果你有Hive的离线数仓,又想引入即席查询的功能,那就选Presto和Impala。 我的测试Presto和Impala多表查询性能差不多,单表查询方面Presto好。 如果你有多数据源联合查询的需求,那么直接Presto吧因为没得选。 最后就是二者对于实时数仓的支持: Impala:直接上Kudu就可以了一个公司的不会支持不好。

    41310

    Presto查询执行过程和索引条件下推分析

    前言: 《Presto 分布式SQL查询引擎及原理分析》详细介绍了Presto数据模型、技术架构,解释了Presto 对于查询分析有着较高性能。任何SQL引擎,执行过程都是比较复杂的。 TupleDomain 对象包含了完整的 SQL查询经过词法分析后的 WhereCondition 条件信息。可以在Presto Connector 计算数据切分时,根据查询条件缩小数据选择范围。 如:Slice、Int、Long、Double、Block 等; Presto查询索引条件下推过程 上文提到,ConnectorSplitManager 在创建 Split 时可以按照查询条件的字段尽量减少数据扫描区间 条件下推的场景 讲了那么多,下推无非就是要把 SQL 的查询逻辑转换为底层可识别的逻辑运算。Presto 只是一个分布式SQL执行引擎,其本身并不管理数据。 ,尽量少的返回数据; 底层的存储引擎,可根据业务进行设计,Presto 可把SQL转为具体执行的查询条件,屏蔽底层系统的分库、分区、索引等信息。

    2.1K40

    Presto 分布式SQL查询引擎及原理分析

    前言: Presto是由 Facebook 推出的一个基于Java开发的开源分布式SQL查询引擎,适用于交互式分析查询数据量支持GB到PB字节。 Presto本身并不存储数据,但是可以接入多种数据源,并且支持跨数据源的级联查询。 为何是SQL查询引擎? )、Kudu、Kafka 等; Presto 支持从多种数据源获取数据来进行运算分析,一条SQL查询可以将多个数据源的数据进行合并分析。 Presto 应用场景 1.实时计算:Presto 性能优越,实时查询工具上的重要选择。 2.Ad-Hoc查询数据分析应用、Presto 根据特定条件的查询返回结果和生成报表。 直到轮训到所有的结果都返回,本次查询结束; 实际上一个执行过程非常复杂,更过详细过程请见下期的《Presto查询执行过程和索引条件下推分析》文章。 为何 Presto 能有较高的查询性能?

    2.6K21

    Presto系列 | Presto基本介绍

    CLANNAD 前言 Presto是一款Facebook开源的MPP架构的OLAP查询引擎,可针对不同数据源执行大容量数据集的一款分布式SQL执行引擎。 Presto的使用举例 比如说,你想对存储在不同数据源中的数据,如HDFS、Mysql、HBase等通过一个SQL做查询分析,那么只需要把每一个数据源当成是Presto的Connector,对应实现Presto Presto的应用场景 Presto是为了处理TB/PB级别的数据查询和分析,它是OLAP(Online Analytical Processing)领域的一个计算引擎。 一个catalog和一个catalog定义了一个可被查询的table集合。对于MySQL这种关系型数据库,Presto的schema是和MySQL中的schema相同的概念。 当Presto调度一个query时,coordinator节点会查询连接器的SPI接口获得一个表可用的所有split集合。

    1.7K40

    相关产品

    • 云数据仓库

      云数据仓库

      云数据仓库为您提供一系列企业级托管型云数据仓库产品服务。多种数仓产品选型,简单、快速的服务搭建体验,提供专注的数据分析查询环境。

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭

      扫码关注云+社区

      领取腾讯云代金券