一、impala 概述

1、什么是Impala?

  • Impala是用于处理存储在Hadoop集群中的大量数据的MPP(大规模并行处理)SQL查询引擎。 它是一个用C ++和Java编写的开源软件。 与其他Hadoop的SQL引擎相比,它提供了高性能和低延迟。

2、为什么选择Impala?

  • 使用Impala,与其他SQL引擎(如Hive)相比,用户可以使用SQL查询以更快的方式与HDFS或HBase进行通信。
  • Impala可以读取Hadoop使用的几乎所有文件格式,如Parquet,Avro,RCFile。
  • Impala将相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue Beeswax)用作Apache Hive,为面向批量或实时查询提供熟悉且统一的平台。
  • 与Apache Hive不同,Impala不基于MapReduce算法。 它实现了一个基于守护进程的分布式架构,它负责在同一台机器上运行的查询执行的所有方面。

3、Impala的优点

  • 使用impala,您可以使用传统的SQL知识以极快的速度处理存储在HDFS中的数据。
  • 由于在数据驻留(在Hadoop集群上)时执行数据处理,因此在使用Impala时,不需要对存储在Hadoop上的数据进行数据转换和数据移动。
  • 使用Impala,您可以访问存储在HDFS,HBase和Amazon s3中的数据,而无需了解Java(MapReduce作业)。
  • 为了在业务工具中写入查询,数据必须经历复杂的提取 - 变换负载(ETL)周期。但是,使用Impala,此过程缩短了。加载和重组的耗时阶段通过新技术克服,如探索性数据分析和数据发现,使过程更快。
  • Impala正在率先使用Parquet文件格式,这是一种针对数据仓库场景中典型的大规模查询进行优化的柱状存储布局。

4、Impala的功能

  • Impala支持内存中数据处理,即,它访问/分析存储在Hadoop数据节点上的数据,而无需数据移动。
  • 与其他SQL引擎相比,Impala为HDFS中的数据提供了更快的访问。
  • 使用Impala,您可以将数据存储在存储系统中,如HDFS,Apache HBase和Amazon s3。
  • Impala支持各种文件格式,如LZO,序列文件,Avro,RCFile和Parquet。

5、关系数据库和Impala

Impala

关系型数据库

Impala使用类似于HiveQL的类似SQL的查询语言

关系数据库使用SQL语言

在Impala中,您无法更新或删除单个记录

在关系数据库中,可以更新或删除单个记录

Impala不支持事务

关系数据库支持事务

Impala不支持索引

关系数据库支持索引

Impala存储和管理大量数据(PB)

与Impala相比,关系数据库处理的数据量较少(TB)

6、Hive,Hbase和Impala

HBase

Hive

Impala

HBase是基于Apache Hadoop的宽列存储数据库。 它使用BigTable的概念。

Hive是一个数据仓库软件。 使用它,我们可以访问和管理基于Hadoop的大型分布式数据集。

Impala是一个管理,分析存储在Hadoop上的数据的工具。

HBase的数据模型是宽列存储。

Hive遵循关系模型。

Impala遵循关系模型。

HBase是使用Java语言开发的。

Hive是使用Java语言开发的。

Impala是使用C ++开发的。

HBase的数据模型是无模式的。

Hive的数据模型是基于模式的。

Impala的数据模型是基于模式的。

HBase提供Java,RESTful和Thrift API。

Hive提供JDBC,ODBC,Thrift API。

Impala提供JDBC和ODBC API。

支持C,C#,C ++,Groovy,Java PHP,Python和Scala等编程语言。

支持C ++,Java,PHP和Python等编程语言。

Impala支持所有支持JDBC / ODBC的语言。

HBase提供对触发器的支持。

Hive不提供任何触发器支持。

Impala不提供对触发器的任何支持。

7、Impala的缺点

  • Impala不提供任何对序列化和反序列化的支持。
  • Impala只能读取文本文件,而不能读取自定义二进制文件。
  • 每当新的记录/文件被添加到HDFS中的数据目录时,该表需要被刷新。

二、impala架构

  • StateStore是Impala的一个子服务,用来监控集群中各个节点的健康状况,提供节点注册、错误检测等功能。
  • Impala在每个节点运行了一个后台服务Impalad,Impalad用来响应外部请求,并完成实际的查询处理。
  • Impalad主要包含Query Planner、Query Coordinator和Query Exec Engine三个模块。
  • QueryPalnner接收来自SQL APP和ODBC的查询,然后将查询转换为许多子查询,Query Coordinator将这些子查询分发到各个节点上,由各个节点上的Query Exec Engine负责子查询的执行,最后返回子查询的结果,这些中间结果经过聚集之后最终返回给用户。
  • Impala主要由Impalad, State Store和CLI组成。

大数据Impala系列之初识Impala相关推荐

  1. 给Clouderamanager集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)...

    不多说,直接上干货! 这个很简单,在集群机器里,选择就是了,本来自带就有Impala的. 扩展博客 给Ambari集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解) 欢迎大 ...

  2. “卜算子·大数据”学习系列原创文章、源码——从入门到精通

    大数据 big-data :white_check_mark: 转载请注明出处与作者信息(如下) 原创作者:王小雷 作品出自:https://github.com/wangxiaoleiAI/big- ...

  3. 大数据算法系列——布隆过滤器

    大数据算法系列--布隆过滤器 一.简介 Bloom filter介绍 Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集 ...

  4. 大数据小白系列——HDFS(3)

    这里是大数据小白系列,这是本系列的第三篇,介绍HDFS中NameNode选举,JournalNode等概念. 上一期我们说到了为解决NameNode(下称NN)单点失败问题,HDFS中使用了双NN的机 ...

  5. 大数据小白系列——HDFS(1)

    [注1:结尾有大福利!] [注2:想写一个大数据小白系列,介绍大数据生态系统中的主要成员,理解其原理,明白其用途,万一有用呢,对不对.] 大数据是什么?抛开那些高大上但笼统的说法,其实大数据说的是两件 ...

  6. 大数据基础系列 5:Hadoop 实验——熟悉常用的 HDFS 目录操作和文件操作

    文章目录 前言 一.实验目的 二.实验平台 三.实验内容和要求 3.1.HDFS 目录操作 3.1.1.创建用户目录 3.1.2.显示 HDFS 中与当前用户对应的目录内容 3.1.3.列出 HDFS ...

  7. 大数据基础系列 4:伪分布式 Hadoop 在 Ubuntu 上的安装流程完整步骤及易错点分析

    文章目录 前言 一.创建 Ubuntu 用户 二.安装 Java 2.1.查看本地 Java 版本 2.2.验证 Java 在本地的配置情况 三.安装 ssh 服务 3.1.安装 openssh-se ...

  8. 大数据学习系列----大数据项目的思考

    2019独角兽企业重金招聘Python工程师标准>>> 最近做了一个大数据可视化的项目,目前阶段还仅仅对我们关心的指标做一些年度,季度,月度维度的汇总和展示,提供了简单的纵向横向的指 ...

  9. 大数据学习系列之八----- Hadoop、Spark、HBase、Hive搭建环境遇到的错误以及解决方法

    大数据学习系列之八----- Hadoop.Spark.HBase.Hive搭建环境遇到的错误以及解决方法 参考文章: (1)大数据学习系列之八----- Hadoop.Spark.HBase.Hiv ...

最新文章

  1. 数论分块 ---- 2020牛客多校第7场H-Dividing[思维+数论分块]
  2. springboot 得到端口_带你入门SpringBoot
  3. redhat中linux的ip配置文件,RedhatLinux配置大量ip地址的方法
  4. JVM调优:G1三色标记算法
  5. 机器学习著名定理之—No Free Lunch定理详解
  6. 长安大学研究生院计算机学院,研究生教育
  7. 在Android NDK中使用OpenSSL
  8. java你画我猜源码_为什么看到Mybatis源码就感到烦躁?
  9. identifier is too long 异常处理
  10. 【强化学习】Policy Gradient(策略梯度)算法详解
  11. contest14 CF160div2 oooxx oooxx ooooo
  12. win7音量图标不见了 点显示它图标和通知 提示但前未处于活动
  13. 潇洒郎:批量压缩大师——python实现文件批量命名+批量加密码——GUI软件——打包exe文件
  14. 基于PHP+MySQL的服装购物商城系统#毕业设计
  15. MATLAB一元线性回归(最小二乘法)小例子
  16. 此pl2303驱动程序不支持win11、非旺玖原装PL2303驱动解决办法
  17. html引入微软雅黑,网页引入特殊字体的几种方案
  18. 实现一个简单的语音聊天室(源码)
  19. oracle中rollback命令,9.2.4 执行ROLLBACK命令
  20. curl -u “username“ https://api.github.com 转换http请求

热门文章

  1. 优化器(Optimizer)(一)
  2. git远程仓库的创建(养成好的习惯,小马教你提交代码到远程仓库中)
  3. 3D视觉学习计划之PCL库的基础知识
  4. 2019年第一届长安杯解析,深入科普,理清思路,流量部分不太会,其他部分基本有详细解。
  5. vr 瞬移_瞬移演示
  6. 【深度学习】增强学习
  7. Ant是什么东西(初级)
  8. php 如何获取真实的客户端ip
  9. (P9)socket编程四:流协议与粘(nian)包,粘包产生的原因,粘包处理方案,readn,writen 6.回射客户/服务器
  10. (字节流与字符流)OutputStream字节输出流