优培东方
PMP®1月班报名招生正在进行

点击咨询

PMP®:Hadoop之交互式查询引擎Impala

发布时间: |2022年02月23日 | 点击次数:| 关键词:PMP,PMP   培训,PMP认证,PMP考试,PMP培训机构,优培东方

Hadoop是一个能够对大量数据进行分布式处理的软件框架。具有可靠、高效、可伸缩的特点。

 

  • HDFS:全称为Hadoop分布式文件系统(Hadoop Distributed File System),提供了高吞吐量的访问应用程序数据。

  • Hadoop YARN:Hadoop集群资源管理框架(Yet Another Resource Negotiator),用于作业调度和集群资源管理。

  • Hadoop MapReduce:基于YARN的大数据集的并行处理系统。

  • Hadoop Common:支持其他Hadoop模块的通用功能,包括序列化、Java RPC和持久化数据结构等。

  • Ambari:是一个部署、管理和监视Apache Hadoop集群的开源框架。

  • Hbase:可扩展的分布式列式数据库,支持大表的结构化存储。

  • Hive:分布式数据仓库系统,提供基于类SQL的查询语言。

  • Storm :Twitter开源的分布式实时大数据处理框架,最早开源于github,从0.9.1版本之后,归于Apache社区,被业界称为实时版Hadoop。

  • Impala:是由Cloudera公司开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase上的PB级大数据,在性能上比Hive高出3~30倍。

  • Mathout:机器学习和数据挖掘领域经典算法的实现。

  • Pig:一个高级数据流语言和执行环境,用来检索海量数据集。

  • Spark:一个快速和通用的计算引擎。Spark提供了一个简单而富有表现力的编程模型,支持多种应用,包括ETL、机器学习、数据流处理和图形计算。

  • Sqoop:在关系型数据库与Hadoop系统之间进行数据传输的工具。

  • Tez:是从MapReduce计算框架演化而来的通用DAG计算框架,可作为MapReduce/Pig/Hive等系统的底层数据处理引擎,它天生融入Hadoop2.0的资源管理平台YARN。

  • Zookeeper:提供Hadoop集群高性能的分布式的协调服务。

   以下就Impala展开进行详解。

一、Impala简介

Hive在查询数据的时候,采用了MapReduce执行框架。由于MapReduce本身具有较高的延迟,因此在利用MapReduce执行Hive查询时,延时比较长。为了提升查询速度解决Hadoop批处理延迟问题,Cloudera公司发布了Impala实时查询引擎。Impala是基于MPP的SQL查询系统,可以直接为存储在HDFS或HBase中的Hadoop数据提供快速、交互式的SQL查询。

Impala和Hive一样也使用了相同的元数据、SQL语法(Hive SQL)、ODBC驱动和用户接口(Hue Beeswax),这就很方便地为用户提供了一个相似并且统一的平台来进行批量或实时查询。

Impala是由Cloudera公司开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase上的PB级大数据,在性能上比Hive高出3~30倍。Impala的运行需要依赖于Hive的元数据。Impala是参照 Dremel系统进行设计的。

Impala采用了与商用并行关系数据库类似的分布式查询引擎,可以直接与HDFS和HBase进行交互查询。

Impala和Hive采用相同的SQL语法、ODBC驱动程序和用户接口。

 

二、Impala系统架构

 


Impala主要包括以下组成部分。

Impala shell:客户端工具,提供一个交互接口ODBC,供使用者连接到Impalad发起数据查询或管理任务等。

Impalad:分布式查询引擎,由Query Planner、Query Coordinator和Query Exec Engine三部分组成,可以直接从HDFS或者HBase中用SELECT、JOIN和统计函数查询数据。

State Store:主要跟踪各个Impalad实例的位置和状态,让各个Impalad实例以集群的方式运行起来。

Catalog Service:主要跟踪各个节点上对元数据的变更操作,并且通知到每个节点。

Impala支持以下特性:

  • 支持ANSI-92 SQL所有子集,包括CREATE、ALTER、SELECT、INSERT、JOIN和subqueries;

  • 支持分区join、完全分布式聚合以及完全分布式top-n查询;

  • 支持多种数据格式,如Hadoop原生格式(pache Avro、SequenceFile、RCFile with Snappy、GZIP、BZIP或未压缩)、文本(未压缩或者LZO压缩)和Parquet(Snappy或未压缩)。

  • 可以通过JDBC、ODBC、Hue GUI或者命令行shell进行连接。

三、Impala查询执行过程

 

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

四、Impala与Hive的关系

Impala与Hive都是构建在Hadoop之上的数据查询工具。从客户端使用来看,Impala与Hive有很多的共同之处,如数据表元数据、ODBC/JDBC驱动、SQL语法、灵活的文件格式、存储资源池等。Hive适合于长时间的批处理查询分析,而Impala适合于实时交互式SQL查询。Impala给数据分析人员提供了快速实验、验证想法的大数据分析工具。

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

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

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

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

五、Impala应用场景

Impala基于MPP的SQL查询系统,可以直接为存储在HDFS或HBase中的Hadoop数据提供快速、交互式的SQL查询。与Hive相比,Impala中间结果不写磁盘,而是通过网络和stream的方式传递,能最大地使用内存。Impala支持多种存储格式,有着更好的IO调度和执行效率。

Impala的应用场景应满足如下条件:

  • 查询结果集不大,应该小于内存;

  • 短查询,因为Impala查询不容错;

  • 某些应用场景下Impala配合Hive使用会发挥更好的效果。

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

  • 可以先使用Hive进行数据转换处理,之后再使用Impala在Hive处理后的结果数据集上进行快速的数据分析。
    PMP®:Hadoop之交互式查询引擎Impala

    优培东方送你一张经验教训:
                                           经 验 教 训
     
                      风险和问题

       号 风险或问题描述    应    明
           
           
           
           
                      质量缺陷
       述 解决方案    明
         
         
         
         
                      卖方管理
       方    题 解决方案    明
           
           
           
           
                      其他
    其他绩效领域 待改进领域
       
       
       
       
免责声明:以上便是【PMP®:Hadoop之交互式查询引擎Impala】的全部内容。大多文章纯属本网站原创,部分文章信息来源于网络以及网友投稿,本网站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性,如本站文章和转稿涉及版权等问题,请作者在及时联系本站,我们会尽快处理。
标题:PMP®:Hadoop之交互式查询引擎Impala 地址:http://gz.hxtdpx.com/6682.html

PMP近期热点

学员感言

1.来自广州的赵同学:

在朋友的推荐下选择了有优培东方(原广州慧翔),经历了时长两个月的pmp培训,过程虽然辛苦,但是结果说明了一切优培东方(原广州慧翔)的老师认真负责专业,特别是刘老师在线上课讲解pmbok难点考点,还悉心答疑。经过优培东方(原广州慧翔)PMP培训过程,我一次性5A通过了考试,希望更多的人选择优培东方(原广州慧翔),通过有效的过程能提高你的通过几率!

2.来自深圳的王同学:

报读优培东方(原广州慧翔)也是对比了几家之后才报的,讲课老师辅导老师都非常专业,主要是看中优培东方(原广州慧翔)的服务,包括网络课(不同的班还有面授课程)+超级全面的海量题库练习包括单元的综合的重点题的+模拟考试+讲解+考前辅导与评估(这很重要)能够给出专业评价并辅助预估通过可能性……总之很棒,跟上老师节奏都可以轻松通过,不错的培训机构,个人非常认可。

3.来自上海的陈同学:

很早接触项目管理而且工作,但由于公司要求有PMP认证证书才能正式命名为项目经理,后经同事(同事是在优培东方(原广州慧翔)机构顺利拿到PMP证书)介绍,报名参加了优培东方(原广州慧翔)PMP培训。 为了让我们学生能顺利通过PMP考试并获取到证书,刘老师总是不怕辛苦坚持利用每周4-5天晚上时间及安排的面授公开课方式,生动、切合实际地将枯燥乏味项目管理理论结合实际的案例及其生动幽默的方式进行讲解,授予学生学习方法和思路,结合刘老师的教学方式和方法,通过几个月的自身学习,使得顺利通过考试。

4.来自北京的王同学:

优培东方(原广州慧翔)是我工作以后接触的第一个培训机构,2015年的时候由于工作需要,我想报考PMP。但是市场上各种各样的机构太多了,各种评价褒贬不一。但是通过分析之后,我选择了优培东方(原广州慧翔)PMP培训。事实证明,做了调查后作出的选择不会太差,通过接近3个月的准备学习之后,我在第一次PMP考试时就顺利通过了PMP认证,拿到了PMP证书。本以为拿完证书后跟慧翔就算是byebye了,但是更可贵的资源才开始。通过优培东方(原广州慧翔)的学友群,我们定期组织活动,群上跟学友交流,认识了更多的同行朋友,甚至可以说获得了更多的资源资讯。 最后,认真地说如果想学PMP,我推荐优培东方(原广州慧翔)。