前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >场景下的交互式计算引擎Impala和Presto

场景下的交互式计算引擎Impala和Presto

作者头像
凹谷
发布2020-04-11 10:47:33
2K0
发布2020-04-11 10:47:33
举报

应用于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。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据与微服务架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档