Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >impala简介

impala简介

作者头像
小石头
发布于 2022-11-10 13:27:15
发布于 2022-11-10 13:27:15
9280
举报
文章被收录于专栏:小石头小石头

apache impala

什么是Impala?

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

换句话说,Impala是性能最高的SQL引擎(提供类似RDBMS的体验),它提供了访问存储在Hadoop分布式文件系统中的数据的最快方法。

为什么选择Impala?

Impala通过使用标准组件(如HDFSHBase,Metastore,YARN和Sentry)将传统分析数据库的SQL支持和多用户性能与Apache Hadoop的可扩展性和灵活性相结合。

  • 使用Impala,与其他SQL引擎(如Hive)相比,用户可以使用SQL查询以更快的方式与HDFS或HBase进行通信。
  • Impala可以读取Hadoop使用的几乎所有文件格式,如Parquet,Avro,RCFile。

Impala将相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue Beeswax)用作Apache Hive,为面向批量或实时查询提供熟悉且统一的平台。

与Apache Hive不同,Impala不基于MapReduce算法。 它实现了一个基于守护进程的分布式架构,它负责在同一台机器上运行的查询执行的所有方面。

因此,它减少了使用MapReduce的延迟,这使Impala比Apache Hive快。

Impala的优点

以下是Cloudera Impala的一些值得注意的优点的列表。

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

Impala的功能

以下是cloudera Impala的功能 – 

  • Impala可以根据Apache许可证作为开源免费提供。
  • Impala支持内存中数据处理,即,它访问/分析存储在Hadoop数据节点上的数据,而无需数据移动。
  • 您可以使用Impala使用类SQL查询访问数据。
  • 与其他SQL引擎相比,Impala为HDFS中的数据提供了更快的访问。
  • 使用Impala,您可以将数据存储在存储系统中,如HDFS,Apache HBase和Amazon s3。
  • 您可以将Impala与业务智能工具(如Tableau,Pentaho,Micro策略和缩放数据)集成。
  • Impala支持各种文件格式,如LZO,序列文件,Avro,RCFile和Parquet。
  • Impala使用Apache Hive的元数据,ODBC驱动程序和SQL语法。

关系数据库和Impala

Impala使用类似于SQL和HiveQL的Query语言。 下表描述了SQL和Impala查询语言之间的一些关键差异。

Impala

关系型数据库

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

关系数据库使用SQL语言。

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

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

Impala不支持事务。

关系数据库支持事务。

Impala不支持索引。

关系数据库支持索引。

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

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

Hive,Hbase和Impala

虽然Cloudera Impala使用与Hive相同的查询语言,元数据和用户界面,但在某些方面它与Hive和HBase不同。 下表介绍了HBase,Hive和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不提供对触发器的任何支持。

所有这三个数据库 – 

  • 是NOSQL数据库
  • 可用作开源。
  • 支持服务器端脚本。
  • 按照ACID属性,如Durability和Concurrency。
  • 使用分片进行分区。

Impala的缺点

使用Impala的一些缺点如下 – 

  • Impala不提供任何对序列化和反序列化的支持。
  • Impala只能读取文本文件,而不能读取自定义二进制文件。
  • 每当新的记录/文件被添加到HDFS中的数据目录时,该表需要被刷新。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-11-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
大数据技术入门:impala查询引擎
Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据。已有的Hive系统虽然也提供了SQL语义,但由于Hive底层执行使用的是MapReduce引擎,仍然是一个批处理过程,难以满足查询的交互性。相比之下,Impala的最大特点也是最大卖点就是它的快速。----来源于百度百科
百思不得小赵
2022/12/01
8450
大数据技术入门:impala查询引擎
一文介绍hive与Impala的对比~
Impala是由Cloudera公司开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase上的PB级大数据,在性能上比Hive高出3~30倍。
大数据老哥
2021/10/11
4.2K0
一文介绍hive与Impala的对比~
将R与Cloudera Impala集成,以实现Hadoop上的实时查询
Cloudera Impala支持Hadoop数据集上的低延迟交互式查询,这些数据集可以存储在Hadoop分布式文件系统(HDFS)或Hadoop的分布式NoSQL数据库HBase中。Impala的想法是使用Hadoop作为存储引擎,但远离MapReduce算法。相反,Impala使用分布式查询,这是一种从大规模并行处理数据库继承而来的概念。因此,Impala支持类SQL语言的查询(与Apache Hive相同),但可以比Hive更快地执行查询,将它们转换为MapReduce。您可以在之前的文章中找到有关Impala的更多详细信息。
Nikoace
2018/05/29
4.4K0
将R与Cloudera Impala集成,以实现Hadoop上的实时查询
实时分析系统(Hive/Hbase/Impala)浅析
1. 什么是实时分析(在线查询)系统? 大数据领域里面,实时分析(在线查询)系统是最常见的一种场景,通常用于客户投诉处理,实时数据分析,在线查询等等过。因为是查询应用,通常有以下特点: a. 时延低(秒级别)。 b. 查询条件复杂(多个维度,维度不固定),有简单(带有ID)。 c. 查询范围大(通常查询表记录在几十亿级别)。 d. 返回结果数小(几十条甚至几千条)。 e. 并发数要求高(几百上千同时并发)。 f. 支持SQL(这个业界基本上达成共识了,原因是很难找到一个又会数据分析,还能写JAVA代码的分析
大数据和云计算技术
2018/03/07
3.9K0
实时分析系统(Hive/Hbase/Impala)浅析
客快物流大数据项目(七十):Impala入门介绍
impala是cloudera提供的一款高效率的sql查询工具,提供实时的查询效果,官方测试性能比hive快10到100倍,其sql查询比sparkSQL还要更加快速,号称是当前大数据领域最快的查询sql工具,
Lansonli
2022/12/18
1.1K0
客快物流大数据项目(七十):Impala入门介绍
0595-CDH6.2的新功能
前置文章参考《0585-Cloudera Enterprise 6.2.0发布》和《0589-Cloudera Manager6.2的新功能》
Fayson
2019/04/28
4.3K1
0595-CDH6.2的新功能
腾讯云大数据技术介绍-数据查询方法
上节我们讲了如何利用MapReduce 快速的来查询数据:https://cloud.tencent.com/developer/article/1878432
jerryteng
2021/10/08
1.7K0
腾讯云大数据技术介绍-数据查询方法
hadoop生态圈各个组件简介
Hadoop 是一个能够对大量数据进行分布式处理的软件框架。具有可靠、高效、可伸缩的特点。
全栈程序员站长
2022/08/31
1.1K0
hadoop生态圈各个组件简介
基于hadoop生态圈的数据仓库实践 —— OLAP与数据可视化(二)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy0623/article/details/52249187
用户1148526
2019/05/25
1.2K0
如何在Impala中使用Parquet表
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- Parquet是一种列式的二进制文件格式,Impala基于Parquet文件可以高效的处理大型复杂查询。Parquet特别适合扫描表中的特定列的查询,例如查询具有多列的“宽”表,或者对于部分列或者全部列需要做聚合操作(例如SUM()和AVG())。 列式存储,顾名思义就是按照列进行
Fayson
2018/07/12
4.2K0
基于hadoop生态圈的数据仓库实践 —— OLAP与数据可视化(一)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy0623/article/details/52231247
用户1148526
2019/05/25
1.6K0
【转载】Impala和Hive的区别
Impala是基于Hive的大数据实时分析查询引擎,直接使用Hive的元数据库Metadata,意味着impala元数据都存储在Hive的metastore中。并且impala兼容Hive的sql解析,实现了Hive的SQL语义的子集,功能还在不断的完善中。
互联网金融打杂
2018/08/02
7.3K0
【转载】Impala和Hive的区别
大数据平台建设
Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。
全栈程序员站长
2022/08/12
1.2K0
大数据平台建设
Hadoop的生态系统介绍
Hadoop分布式文件系统是Hadoop项目的两大核心之一,是针对谷歌文件系统(GoogleFileSystem,GFS)的开源实现。是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。
全栈程序员站长
2022/08/31
1.2K0
Hadoop的生态系统介绍
基于大数据分析系统Hadoop的13个开源工具
Hadoop是由Apache基金会开发的一个大数据分布式系统基础架构,最早版本是2003年原Yahoo! Doug Cutting根据Google发布的学术论文研究而来。用户可以在不了解分布式底层细节的情况下,轻松地在Hadoop上开发和运行处理海量数据的应用程序。低成本、高可靠、高扩展、高有效、高容错等特性让Hadoop成为最流行的大数据分析系统,然而其赖以生存的HDFS和MapReduce组件却让其一度陷入困境——批处理的工作方式让其只适用于离线数据处理,在要求实时性的场景下毫无用武之地。因此,各
静一
2018/03/15
1.8K0
Hadoop 生态系统的构成(Hadoop 生态系统组件释义)
现在先让我们了解一下 Hadoop 生态系统的构成,主要认识 Hadoop 生态系统都包括那些子项目,每个项目都有什么特点,每个项目都能解决哪一类问题,能回答这三个问题就可以了(本段属于热身…重在理解 Hadoop 生态系统组成,现状,发展,将来)。
全栈程序员站长
2022/08/26
9270
Hadoop 生态系统的构成(Hadoop 生态系统组件释义)
hadoop生态圈相关技术_hadoop的生态
  最早Doug Cutting(后面被称为hadoop之父)领导创立了Apache的项目Lucene,然后Lucene又衍生出子项目Nutch,Nutch又衍生了子项目Hadoop。Lucene是一个功能全面的文本搜索和查询库,Nutch目标就是要试图以Lucene为核心建立一个完整的搜索引擎,并且能达到提到Google商业搜索引擎的目标。网络搜索引擎和基本文档搜索区别就在规模上,Lucene目标是索引数百万文档,而Nutch应该能处理数十亿的网页。因此Nutch就面临了一个极大的挑战,即在Nutch中建立一个层,来负责分布式处理、冗余、故障恢复及负载均衡等等一系列问题。
全栈程序员站长
2022/11/17
8110
hadoop生态圈相关技术_hadoop的生态
大数据架构师基础:hadoop家族,Cloudera系列产品介绍
大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让我们都反映不过来。为了能够更好的架构大数据项目,这里整理一下,供技术人员,项目经理,架构师选
机器学习AI算法工程
2018/03/09
2K0
大数据架构师基础:hadoop家族,Cloudera系列产品介绍
Impala介绍
Impala 是一个高性能分析数据库,可针对存储在 Apache Hadoop 集群中的 PB 级数据进行闪电般快速的分布式 SQL 查询。Impala 还是一个现代化,大规模分布式,大规模并行的 C ++ 查询引擎,可以分析,转换和合并来自各种数据源的数据。Impala采用与Hive相同的元数据、SQL语法、ODBC 驱动程序和用户接口(Hue Beeswax),这样在使用CDH产品时,批处理和实时查询的平台是统一的。
加米谷大数据
2018/07/25
1.9K0
Impala介绍
大数据Hadoop生态圈各个组件介绍(详情)
-coordination and management(协调与管理) -query(查询) -data piping(数据管道) -core hadoop(核心hadoop) -machine learning(机器学习) -nosql database(nosql数据库)
全栈程序员站长
2022/08/31
5.1K0
大数据Hadoop生态圈各个组件介绍(详情)
相关推荐
大数据技术入门:impala查询引擎
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档