今天就跟大家聊聊有关场景下的交互式计算引擎Impala和Presto是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
应用于ROLAP场景下的交互式计算引擎Impala和Presto
具有以下特点:
1、跟Hadoop生态系统完好结合,可与Hive Metastore对接,处理hive中的表,可直接处理存储在HDFS和Hbase中的数据。
2、计算与存储分析:仅仅是查询引擎,不提供数据存储服务。
3、MPP架构,采用经典的MPP架构,具有良好的扩展性,能够应对TB甚至PB级数据交互式查询需求;
4、嵌套式数据存储,支持常见的列式存储格式,比如ORC和Parquet。
Impala:由Cludera公司开发,充分结合传统数据库与大数据系统Hadoop的优势,构造一个全新的、支持SQL与多租户、并具备良好的灵活性和扩展性的高性能查询引擎。
一、特征:
1、Impala完全抛弃了MapReduce这个不太适合做SQL查询的范式,借鉴了MPP并行数据库思想,采用了全服务进程的设计架构。
2、采用全内存实现,不需要把中间结果写入磁盘,省掉大量的I/O开销。
3、充分利用本地读,尽可能的将数据和计算分配到同一台机器上。
4、用C++实现,做了很多针对底层的优化,eg:SSE指令。
二、基本架构:
1、Catalogd:元信息管理服务
2、Statestored:状态管理服务器
3、Impalad:同时承担协调者和执行这双重角色。
三、访问方式
通过JDBC/ODBC访问,通过Kerberos或LADP进行认证。
Presto:由Facebook公司开源,能够处理TB甚至PB级别的数据量,由于Presto能与Hive进行无缝集成,因而成为主流的OLAP引擎。
一、基本架构:
是一个Master-Slave架构,由一个Coordinator服务,一个Discovery Server服务,多个Worker服务组成。
1、Coordinator:协调者,接收客户端查询请求(SQL)并对齐进行词法分析,语法分析生成逻辑查询计划及物理查询计划,将各个任务调度到各位worker上执行,并在worker返回结果后对其进一步汇总。在一个Presto集群中可同时存在多个Coordinator防止单点故障。
2、Discovery Server:服务发现组件,各个Worker启动时会定期向Discovery Server注册,并将状态信息汇报给Discovery Server
3、Worker:任务执行者。
Presto是一个分布式查询引擎,并不提供数据存储功能,为此,Presto采用了插件化设计思路,支撑多种数据样,包括Hive、HDFS、Mysql、Cassanddra、Hbase和Redis等。
二、访问方式
Presto是插件式架构,通过连接器接入外部数据源,为了区分各个数据源中的数据,它在数据库之上引入了一层命名空间:catalog,前面提到的Hive、Cassandra和Mysql等在Presto中均以catalog存在。不同的catalog中可以有多个数据库,每个数据库中进一步可以存在多张表。
区别于多维度数据组织的MOLAP类型的OLAP查询引擎Druid和Kylin。
看完上述内容,你们对场景下的交互式计算引擎Impala和Presto是怎样的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。