Hadoop生态圈之即席查询工具Presto

一、Presto概念

  • presto是一个开源的分布式sql查询引擎,数据量支持GB到PB字节,主要用来处理秒级查询场景。
  • 注意:虽然presto可以解析SQL,但他不是一个标准的数据库。不是mysql,oracle的替代品,也不能用来处理在线事务(OLTP),同时presto用的是一套自己的SQL语言,程序员的学习成本高,所以市场占有率并不高。

二、Presto架构

presto由一个coordinator和多个worker组成。
在这里插入图片描述

三、Presto优缺点

1)优点

  • (1)presto基于内存运算,减少了硬盘IO,计算更快
  • (2)能够连接多个数据源(对比于同类产品的impala),跨数据源连表查。如从hive查询大量网站访问记录,然后从mysql中匹配出设备信息。

2)缺点

  • presto能够处理PB级别的海量数据分析,但presto并不是把PB级数据都放在内存中计算的。而是根据场景,如count,avg等聚合运算是边读数据边运算,再清内存,再读数据再计算,这种消耗内存并不高。但是连表查,就可能产生大量的临时数据,因此数据会变慢。

四、Presto、Impala性能比较

https://blog.csdn.net/u012551524/article/details/79124532

测试结论:Impala性能稍领先于Presto,但是Presto在数据源支持上非常丰富,包括Hive、图数据库、传统关系型数据库、Redis等。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
版本:presto-server-0.214.tar软件版本 presto-cli-0.214-executableCentOS71、presto的起因 hadoop ---hdfs----MR(java)-----hivehive底层原理用MR,速度比较慢,公司hadoop集群主要集中于晚上到凌晨,平日工作时间负载不是很高。但在工作时间内,公司业务人员有实时查询的需求,现在主要借助于hive提供业务人员的查询。hive是基于MR类的SQL查询工具,他会输入的查询SQL解析为MapReduce,能极大的降低使用大数据门槛,让一般的业务人员可以直接准对大数据进行查询,但是有一个利弊,它的查询基于MR,会让人等待比较着急,等待的时间可能是几个小时或者一天。 spark基于内存提高改良的hive,sql,现在factbook在hive上面开发一套利器,准对hive可以通过sql语句快速查询presto。2、Facebook为何开发Presto  Facebook的2011的数据仓库存储在少量大型hadoopfs集群,Hive是FaceBook在几年前专门为Hadoop打造的一款数据仓库工具,在以前,facebook的科学家和分析师一直靠hive进行数据分析.但hive使用MR作为底层计算框架,是专为批处理设计的,但是随着数据的不断增多,使用hive进行一个简单的数据查询可能要花费分钟或者几个小时,显然不能满足查询需求,FaceBooke也调研了其他比hive更快的工具,但是他们需要在功能有限的条件下做简单操作,以至于无法操作Facebook庞大的数据要求。2012年开始研究自己的框架--presto,每日可以超过1pb查询,而且速度比较快,faceBook声称Presto的性能比hive要好上10倍或者100倍,presto和hive都是facebook开发的 Presto是一个开源的分布式SQL查询引擎,适用于交互式查询,数据量支持GB到PB字节。Presto的设计和编写完全是为了解决Facebook这样规模的商业数据仓库交互式分析和处理速度的问题Presto可以做什么 Presto支持在线数据查询,包括Hive kafka Cassandra关系数据库以及专门数据存储,一条Presto查询可以将多个数据源进行合并,可以跨越整个组织进行分析。Presto以分析师的需求作为目标,他们期望相应速度小于1秒到几分钟,Presto要么在使用速度的快的昂贵的商业方案,提高内存,要么是消耗大量的硬件进行快速查询。(128G 64G)本套课程教给如何在企业环境中使用Presto技术。
Hadoop生态圈是指围绕Hadoop分布式存储和处理框架所形成的一系列相关技术和工具。它包括了众多的开源项目和组件,用于支持大规模数据处理、存储和分析。 以下是Hadoop生态圈中一些常见的组件和技术: 1. HDFS(Hadoop Distributed File System):Hadoop的分布式文件系统,用于存储大规模数据,并提供高可靠性和高吞吐量的数据访问。 2. MapReduce:Hadoop的计算框架,用于并行处理大规模数据集。它将数据分片并分发到集群中的多个节点上进行处理和计算。 3. YARN(Yet Another Resource Negotiator):Hadoop的资源管理系统,用于调度和管理集群中的计算资源。它可以同时支持多种计算框架,如MapReduce、Spark等。 4. Hive:基于Hadoop的数据仓库工具,提供类似于SQL的查询语言HiveQL,使用户可以通过SQL语句对存储在Hadoop中的数据进行查询和分析。 5. Pig:一种高级的数据流脚本语言,用于对大规模数据进行转换、查询和分析。它提供了一种简化的编程模型,使用户可以快速编写复杂的数据处理任务。 6. HBase:一个分布式、可扩展的NoSQL数据库,建立在Hadoop之上。它提供了高性能的随机读写能力,适用于存储大规模的结构化数据。 7. Spark:一个快速、通用的大数据处理引擎。与传统的MapReduce相比,Spark具有更高的性能和更丰富的功能,支持交互式查询、流处理、机器学习等应用。 除了以上列举的组件外,还有其他一些组件如Sqoop(用于数据导入和导出)、Flume(用于数据采集和传输)、Oozie(用于工作流调度)、ZooKeeper(用于协调分布式应用)等,它们都是Hadoop生态圈中的重要组成部分,为大数据处理提供了全面的支持和解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值