暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

交互式查询引擎——Impala的基础知识介绍

855


作者:稀饭


本文1250字,数理内容较少,泛读需4分钟,精读需7分钟



1、交互式处理


交互式处理是指操作人员和系统之间存在交互作用的信息处理方式。在大数据领域,交互式计算(处理)引擎是针对大数据具备交互式分析能力的分布式计算引擎,它常用于OLAP(联机分析处理)场景。相比批处理引擎(MapReduceHive),对数据处理性能要求更高。为了实现高性能数据处理,交互式计算引擎通常采用MPP架构,并充分使用内存加速。


2、交互式查询引擎分类


1ROLAP


基于关系型数据库OLAP实现。它以关系数据库为核心,以关系型结构进行多维数据的表示和存储,将多维结构划分为事实表和维度表两类。ROLAP的最大好处是可以实时地从源头数据中获得最新数据的更新,以保持数据实时性,缺点在于运算效率比较低,用户等待的响应时间比较长。


2MOLAP


基于多维数据组织的OLAP实现。它以多维数据组织方式为核心,使用多维数组存储数据。多维数据在存储系统中形成“数据立方体”的结构,该结构是经过高度优化的,可以最大程度地提高查询性能。MOLAP的优势在于借助数据多维预处理显著提高了运算效率,主要的缺陷在于占用存储空间大和数据更新有一定的滞后。


3HOLAP


基于混合数据组织的OLAP实现。用户可以根据自己的业务需求,选择哪些模型采用ROLAP,哪些采用MOLAP。一般来说,将不常用或需要灵活定义的分析使用ROLAP的方式,而常用、常规模型采用MOLAP实现。


3Impala简介


Cloudera公司研发,其最初的设计动机是充分结合传统数据库与大数据系统Hadoop的优势,构建一个全新的、支持SQL与多租户、并具备良好灵活性和扩展性的高性能查询引擎。


4Impala进行查询的优势


1Impala完全抛弃了MapReduce这个不太适合做SQL查询的范式,而是像Dremel一样借鉴了MPP并行数据库的思想,采用了全服务进程的设计架构,所有计算均在预先启动的一组服务中进行,可支持更高的并发,同时省掉不必要的shufflesort等开销;

2Impala采用全内存实现,不需要把中间结果写入磁盘,省掉了大量I/O开销;

3Impala充分利用本地读(而非远程网络读),尽可能地将数据和计算分配在同一台机器,减少了网络开销。


5Impala基本架构


Impala采用对等式架构,所有角色之间是对等的,没有主从之分。Impala主要由三类服务组件构成:



1Catalogd。元信息管理服务。它从hive metastore中同步表信息,并将任何元信息的改变通过catalogd广播给各个Impalad服务;

2Statestored。状态管理服务器。元数据订阅-发布服务,它是单一实例(存放单点故障问题),将集群元数据传播到所有的Impalad进程;

3Impalad。同时承担协调者和执行者双重角色。首先,对于某一查询,作为协调者,接收客户端查询请求并对其进行词法分析、语法分析,生成逻辑查询计划以及物理查询计划,之后将各个执行片段调度到Impalad上执行。其次,接收从其他Impalad发过来的单个执行片段,利用本地资源处理这些片段,并进一步将查询结果返回给协调者。


6Impala与传统关系型数据库的区别


1由于HDFS存储系统自身的限制,Impala目前不支持面向单行的updatedelete操作,而只支持按批插入和删除;

2数据加载速度快,运行时会进行类型校验;

3不支持事务。




广告区↓


互联网数据分析岗位求职备战




文章转载自稀饭居然不在家,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论