一、定义(来自百度百科)

Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据。已有的Hive系统虽然也提供了SQL语义,但由于Hive底层执行使用的是MapReduce引擎,仍然是一个批处理过程,难以满足查询的交互性。相比之下,Impala的最大特点也是最大卖点就是它的快速。

二、Impala组成

1、客户端:包括JDBC、ODBC、Hue、Impala Shell等,用于执行查询或完成管理任务;

2、Hive Metastore:存储可用于Impala数据的信息,包括可用数据库及其结构。当执行Impala Sql语句进行schema对象的创建、修改及删除,或加载数据到表中等操作时,相关元数据的变化,通过单独的catalog服务自动广播到所有Impala节点;

3、Cloudera Impala(Impalad进程):运行于数据节点的Impala程序,用于协调和执行查询。每一个Impala的实例可以获取、解析以及协调Impala客户端传来的查询。查询是被分布到各Impala节点间,这些节点作为workers,并行执行查询片段;

4、HDFS、HBase:数据的实际存储位置。

三、Impala查询执处理过程

1、用户程序通过JDBC、ODBC、Impala Shell等Impala 客户端发送Sql语句给Impala;

2、用户程序连接到集群中任意Impalad进程,这一进程作为整个查询的协调器;

3、Impala解析、分析查询,确定哪些任务由集群中哪一Impalad实例执行,并生成最优执行计划;

4、Impalad实例访问对应HDFS、HBase服务,获取数据;

5、每一个Impalad实例将数据返回给协调器Impalad,由其发送结果给客户端。

四、优点(来自百度百科)

1、Impala不需要把中间结果写入磁盘,省掉了大量的I/O开销。

2、省掉了MapReduce作业启动的开销。MapReduce启动task的速度很慢(默认每个心跳间隔是3秒钟),Impala直接通过相应的服务进程来进行作业调度,速度快了很多。

3、Impala完全抛弃了MapReduce这个不太适合做SQL查询的范式,而是像Dremel一样借鉴了MPP并行数据库的思想另起炉灶,因此可做更多的查询优化,从而省掉不必要的shuffle、sort等开销。

4、通过使用LLVM来统一编译运行时代码,避免了为支持通用编译而带来的不必要开销。

5、用C++实现,做了很多有针对性的硬件优化,例如使用SSE指令。

6、使用了支持Data locality的I/O调度机制,尽可能地将数据和计算分配在同一台机器上进行,减少了网络开销。

Impala简介(整理)相关推荐

  1. 正则表达式简介 -- 整理 by Emerald 绿色学院 - Green Institute

    目录: ------------------------------------------------------------------------------------ 1.正则表达式 2.早 ...

  2. impala简介(大数据技术)

    一.Impala概述 什么是Impala? Impala是用于处理存储在Hadoop集群中的大量数据的MPP(大规模并行处理)SQL查询引擎. 它是一个用C ++和Java编写的开源软件. 与其他Ha ...

  3. 生物信息学简介 -整理综合

    生物信息学是一门利用计算机技术研究生物系统之规律的学科.它建立在分子生物学的基础之上,并以计算机为工具对生物信息进行存储.检索和分析.其研究重点体现在基因组学和蛋白质组学两个方面,具体来说就是从核酸和 ...

  4. 工作常用——python+appium自动化入门简介整理——用于内部培训

  5. Impala入门操作

    Impala简介 用于处理存储在Hadoop集群中的大量数据的大规模并行处理SQL查询引擎,高性能低延迟 底层基于C++编写 优点 执行数据处理时,不需要对存储在Hadoop上的数据进行转换或移动 可 ...

  6. 什么是impala,如何安装使用Impala

    存储,学习,共享 一.Impala简介 Cloudera Impala对你存储在Apache Hadoop在HDFS,HBase的数据提供直接查询互动的SQL.除了像Hive使用相同的统一存储平台,I ...

  7. 模型压缩常用方法简介

    模型压缩常用方法简介 整理自台湾大学李宏毅老师视频课程: 神经网络压缩 为什么要进行模型压缩? 延迟 latency 隐私 privacy 本文主要从算法(而非硬件)的角度出发,介绍一些常用的模型压缩 ...

  8. 2018大数据学习路线从入门到精通

    最近很多人问小编现在学习大数据这么多,他们都是如何学习的呢.很多初学者在萌生向大数据方向发展的想法之后,不免产生一些疑问,应该怎样入门?应该学习哪些技术?学习路线又是什么?今天小编特意为大家整理了一份 ...

  9. 【大数据入门】Hadoop技术原理与应用之基于Hadoop的数据仓库Hive

    基于Hadoop的数据仓库Hive 文章目录 基于Hadoop的数据仓库Hive @[toc] 6.1 概述 6.1.1 数据仓库概念 6.1.2 传统数据仓库面临的挑战 6.1.3 Hive简介 6 ...

最新文章

  1. 【Source Insight 4.0 英文版】 如何设置选中高亮
  2. python输入什么就输出什么_一文读懂Python的输入和输出
  3. JUnit 4.9(测试版3)中的规则
  4. 树、二叉树、二叉搜索树_检查二叉树是否为BST(二叉搜索树)
  5. 新手必须掌握的学车技巧-上坡起步
  6. 一文汇总 JDK 5 到 JDK 15 中的牛逼功能!
  7. 【网络安全工程师面试合集】— 网络攻防技术演化历程
  8. dataframe数据按行做线性拟合
  9. spring4.1.8扩展实战之七:控制bean(BeanPostProcessor接口)
  10. html5 flash播发器,什么时候HTML5视频应该回归到Flash播放器?
  11. 【平面几何】点线距离与位置关系
  12. DataBinding 的集成:点击AIL+Enter , 没有出现【convert to data binding layout】怎么办?
  13. 论:一个草根程序员怎么进BAT??
  14. 某Java大佬在地表最强Java企业(阿里)面试总结
  15. 网盘目录搜索系统源码+搭建教程
  16. 【小程序源码】云开发表情包制作神器微信小程序源码下载,支持各种自定义
  17. 【javaEE】网络编程套接字
  18. (Java实现) 细胞
  19. 7-20 设计一个People类 (20 分)
  20. uniApp简单使用webSocket实现核销二维码业务

热门文章

  1. 控制工程中的数学建模(3)——自动控制系统的一般模型
  2. Postgresql数组操作符及数组函数
  3. Automa 和看小说脚本
  4. 如何更新npm和nodejs到最新版本?
  5. [XW大数据技术学习探讨] 公众号学习笔记
  6. v-for 循环中数据更新子组件视图不更新解决方案
  7. Ptr ds 与ptr ss
  8. 未来最吃香的五大互联网职业,你选对了吗?
  9. Emun 枚举类型使用浅析——包括enumSet enumMap
  10. 长安链大规模数据存储及数据膨胀分析