Chinaunix首页 | 论坛 | 博客
  • 博客访问: 56834
  • 博文数量: 15
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 206
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-23 13:47
文章分类

全部博文(15)

文章存档

2013年(15)

我的朋友

分类: 大数据

2013-12-11 11:15:56


一、Impala
的设计目标:
1)分布式环境下通用SQL引擎,既支持OLTP也支持OLAP
2)实现SQL查询的规模和粒度——从毫秒级到小时级;
3)底层存储依靠HDFSHBase

 ImpalaC++编写,SQL的执行引擎借鉴了分布式数据库MPP的思想,不再依赖MapReduce

 

二、Impala的系统架构

1 SQL Interface:目前这部分是借用Hive的,包括ODBC/BeeswaxClientSQL查询通过ODBC/BeeswaxThrift API发送到集群内部的任何一个impalad,然后这个impalad就成了这个querycoordinator

 2 Unified metastore:Impala中表的元数据存储借用的是Hive的,也就是用个RDBMS来存储Impala中表的元数据信息。Impala自己提供一个叫statestored的进程负责收集分布在集群中各个impalad进程的资源信息,用于query的调度(这个功能会在2013Q1GA版本会提供)。Statestored对外提供Thrift服务。这个statestored将来还会有个功能就是把impala表的metadata分发到各个impalad中(也是在2013Q1GA版本中提供)。

 3 Impala daemon:名为impalad的进程,主要有两个角色:一是协调client提交的query的执行,给其他impalad分配任务,收集其他impalad的执行结果进行汇总;二是这个impalad也会执行其他impalad给其分配的任务,在执行这部分任务主要就是对本地HDFSHBase里的部分数据进行操作了(都是本地IO操作,HDFS还支持dfs.client.read.shortcircuit跨过网卡直接磁盘读)。

 

三、Impala优缺点

 

Impala目前支持Hive SQL的大部分功能,例如select, insert, where, join, union, subqueries, aggregation, order by only with limit 

Trevni文件格式是一个性能提升的突破点。

 DDL通过Hive操控Hivemetastore来完成,因为Impala使用了Hivemetastore

 

局限性:不支持UDF,不支持SerDes,只支持in-memory join,只有基本的cost-based optimizer

转载,原文地址:

阅读(2771) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~