Hive学习3.0

目录

9.5 Impala

 9.5.1  Impala简介

 9.5.2  Impala系统架构

 Impala主要由Impalad,State Store和CLI三部分组成

 9.5.3  Impala查询执行过程

 

Impala执行查询的具体过程:

9.5.4  Impala与Hive的比较

Hive与Impala的不同点总结如下:

Hive与Impala的相同点总结如下:

总结


9.5 Impala

 9.5.1  Impala简介

Impala 是由 Cloudera 公司开发的新型查询系统,它提供 SQL 语义,能查询存储在 Hadoop HDFS HBase 上的 PB 级大数据 在性能上比 Hive 高出 3~30
Impala 的运行需要依赖于 Hive 的元数据
Impala 是参照 Dremel 系统进行设计的
Impala 采用了 与商用并行关系数据库类似的分布式查询引擎 ,可以 直接与 HDFS HBase 进行交互 查询
Impala Hive 采用相同的 SQL 语法、 ODBC 驱动程序和用户 接口
Impala 与其他组件关系

 9.5.2  Impala系统架构

 Impala主要由ImpaladState StoreCLI三部分组成

  Impalad
Ø 负责协调客户端提交的查询的执行
Ø 包含 Query Planner Query Coordinator Query Exec Engine 三个模块
Ø HDFS 的数据节点( HDFS DN )运行在同一节点上
Ø 给其他 Impalad 分配任务以及收集其他 Impalad 的执行结果进行汇总
Ø Impalad 也会执行其他 Impalad 给其分配的任务,主要就是对本地 HDFS HBase 里的部分数据进行 操作

State Store
Ø 会创建一个 statestored 进程
Ø 负责收集分布在集群中各个 Impalad 进程的资源信息 ,用于查询调度
CLI
Ø 给用户提供查询使用的命令行工具
Ø 提供了 Hue JDBC ODBC 使用接口

说明Impala中的元数据直接存储在Hive中。Impala采用与Hive相同的元数据、SQL语法、ODBC驱动程序和用户接口,从而使得在一个Hadoop平台上,可以统一部署HiveImpala等分析工具,同时支持批处理和实时查询

 9.5.3  Impala查询执行过程

Impala执行查询的具体过程:

0 步,当用户提交查询前, Impala 先创建一个负责协调客户端提交的查询的 Impalad 进程,该进程会向 Impala State Store 提交注册订阅信息, State Store 会创建一个 statestored 进程, statestored 进程通过创建多个线程来处理 Impalad 的注册订阅信息。
1 步,用户通过 CLI 客户端提交一个查询到 impalad 进程, Impalad Query Planner SQL 语句进行解析,生成解析树;然后, Planner 把这个查询的解析树变成若干 PlanFragment ,发送到 Query Coordinator
2 步, Coordinator 通过从 MySQL 元数据库中获取元数据,从 HDFS 的名称节点中获取数据地址,以得到存储这个查询相关数据的所有数据节点。
3 步, Coordinator 初始化相应 impalad 上的任务执行,即把查询任务分配给所有存储这个查询相关数据的数据节点。
4 步, Query Executor 通过流式交换中间输出,并由 Query Coordinator 汇聚来自各个 impalad 的结果。
5 步, Coordinator 把汇总后的结果返回给 CLI 客户端

9.5.4  ImpalaHive的比较

HiveImpala不同点总结如下:

1. Hive 适合于长时间的批处理查询分析,而 Impala 适合于实时交互式 SQL 查询
2. Hive 依赖于 MapReduce 计算框架, Impala 把执行计划表现为一棵完整的执行计划树, 直接 分发执行计划到各个 Impalad 执行查询
3. Hive 在执行过程中,如果内存放不下所有数据,则会使用外存,以保证查询能顺序执行完成,而 Impala 在遇到内存放不下数据时,不会利用外存,所以 Impala 目前处理查询时会受到一定的限制

HiveImpala相同点总结如下:

1. Hive Impala 使用相同的存储数据池 都支持把数据存储于 HDFS HBase
2. Hive Impala 使用相同的元数据
3. Hive Impala 中对 SQL 的解释处理比较相似,都是通过词法分析生成执行计划

总结

Impala的目的不在于替换现有的MapReduce工具

把HiveImpala配合使用效果最佳

可以先使用Hive进行数据转换处理,之后再使用ImpalaHive处理后的结果数据集上进行快速的数据分析

  • 39
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值