Loading [MathJax]/jax/output/CommonHTML/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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
清北集训Day6T1(生成函数)
听rqy说可以用生成函数做,感觉比较有意思 我们考虑在DP转移的时候, $5,7,9$这三个数是没有限制的 因此他们出现的次数用01串表示的话就是$1111111111111111......$ $3,5$这两个数只能出现偶数次且必须出现 因此他们出现的次数用01串表示的话是$0010101010101010101....$ 因为是组合计数问题,我们考虑用指数型生成函数来搞 对于第一个肯定就是$e^x$ 对于第二个,我们首先用$\frac{e^x+e^{-x}}{2}$构造出$1010101010...
attack
2018/04/10
5730
清北集训Day6T1(生成函数)
BZOJ3122: [Sdoi2013]随机数生成器(BSGS)
直接把\(X_{i+1} = (aX_i + b) \pmod P\)展开,推到最后会得到这么个玩意儿
attack
2019/03/29
7660
POJ3233Matrix Power Series(矩阵快速幂)
给出$n \times n$的矩阵$A$,求$\sum_{i = 1}^k A^i $,每个元素对$m$取模
attack
2018/09/30
3420
洛谷P4561 [JXOI2018]排序问题(二分 期望)
一次排好的概率是个数数题,他等于一次排好的方案除以总方案,也就是\(\frac{\prod cnt_{a_i}!}{(n+m)!}\)。因为最终的序列是一定的,两个序列不同当且仅当权值相同的数排列方式不同。
attack
2019/03/11
3710
SDOI 2018二轮题解(除Day2T1)
然鹅学了不到一个月文化课再回来看OI的东西有一种恍如隔世的感觉,烤前感觉也没啥可复习的,就补一补去年二轮的题吧。
attack
2019/05/14
5280
BZOJ1485: [HNOI2009]有趣的数列(Catalan数,质因数分解求组合数)
考虑到每个数的最小的质因数$ \geqslant 2$,因此极限复杂度为$O(n log n)$
attack
2018/09/17
7600
cf1097D. Makoto and a Blackboard(期望dp)
首先考虑当\(n = p^x\),其中\(p\)是质数,显然它的因子只有\(1, p, p^2, \dots p^x\)(最多logn个)
attack
2019/01/30
3490
Edu Codeforces Round 115 (Div. 2)
给你 n 个数,让你删去两个数,使得删去前后平均值不变,问你最多有多少种选择方式(值相同的不同数字算不同的方案)。
Here_SDUT
2022/09/19
1.5K0
Edu Codeforces Round 115 (Div. 2)
LOJ#2552. 「CTSC2018」假面(期望 背包)
转移的时候若要淦这个人,那么\(f[i][j] = (f[i - 1][j] + 1) * p + (f[i - 1][j]) * (1 - p)\)
attack
2018/11/20
5290
agc023C - Painting Machines(组合数)
有\(n\)个位置,每次你需要以\(1 \sim n-1\)的一个排列的顺序去染每一个颜色,第\(i\)个数可以把\(i\)和\(i+1\)位置染成黑色。一个排列的价值为最早把所有位置都染成黑色的次数。问所有排列的分数之和
attack
2019/03/06
4080
牛客集训派对day3
题目描述 有一张无限大的棋盘,你要将马从(0,0)移到(n,m)。 每一步中,如果马在(x,y),你可以将它移动到(x+1,y+2),(x+1,y-2),(x-1,y+2),(x-1,y-2),(x+2,y+1),(x+2,y-1),(x-2,y+1)或(x-2,y-1)。 你需要最小化移动步数。
xiaohejun
2020/02/18
3910
洛谷P4104 [HEOI2014]平衡(dp 组合数学)
可以把题目转化为从\([1, 2n + 1]\)中选\(k\)个数,使其和为\((n+1)k\)。
attack
2019/03/11
2700
cf997C. Sky Full of Stars(组合数 容斥)
\(n \times n\)的网格,用三种颜色染色,问最后有一行/一列全都为同一种颜色的方案数
attack
2019/03/15
3570
小学生都能看懂的生成函数入门教程
现在网上讲生成函数的教程大多都是从 开始,但是我不认为这样有助于大家理解生成函数的本质。我最开始学的时候也是在这里蒙了好久,直到看到了朱全民老师的课件,才真正的理解了生成函数的本质——处理排列组合问题的有利工具,而不是简单的\(\frac{1}{1-x}\)的指标代换。所以这篇文章,我打算从最基本的排列组合问题写起,最后慢慢扩展到 。内容会比较基础,高端玩家可以直接看鏼爷的集训队论文
attack
2019/03/19
1.6K0
小学生都能看懂的生成函数入门教程
2018年湘潭大学程序设计竞赛G又见斐波那契(矩阵快速幂)
\begin{equation*} \begin{bmatrix} 1&1&1&1&1&1\\ 1 & 0&0&0&0&0\\ 0 & 0&1&3&3&1\\ 0 & 0&0&1&2&1\\ 0 & 0&0&0&1&1\\ 0 & 0&0&0&0&1\\ \end{bmatrix}^{i - 1}* \begin{bmatrix} F_{1}\\ F_0\\ 1\\ 1\\ 1\\ 1 \end{bmatrix}= \begin{bmatrix} 1&1&1&1&1&1\\ 1 & 0&0&0&0&0\\ 0 & 0&1&3&3&1\\ 0 & 0&0&1&2&1\\ 0 & 0&0&0&1&1\\ 0 & 0&0&0&0&1\\ \end{bmatrix}* \begin{bmatrix} F_{i - 1}\\ F_{i - 2}\\ i^3\\ i^2\\ i\\ 1 \end{bmatrix}= \begin{bmatrix} F_{i}\\ F_{i - 1}\\ (i + 1)^3\\ (i + 1)^2\\ i + 1\\ 1 \end{bmatrix} \end{equation*}
attack
2018/09/17
3060
2018年湘潭大学程序设计竞赛G又见斐波那契(矩阵快速幂)
BZOJ3329: Xorequ(二进制数位dp 矩阵快速幂)
第二问比较interesting,设\(f[i]\)表示二进制为\(i\)的方案数,转移时考虑上一位选不选
attack
2018/10/08
5670
cf932E. Team Work(第二类斯特灵数 组合数)
$$m^n = \sum_{i = 0}^m C_{n}^i S(n, i) i!$$
attack
2018/09/30
3970
牛客练习赛32
构造一个01串.满足最低位和最高位是1.是回文串.长度是$max(v,k)$.v,k都是偶数.求01串转换成10进制最小.
xiaohejun
2020/02/18
3080
快速阶乘算法
求: n ! mod p \large n! \text{ mod } p n! mod p 时间复杂度: Θ ( n log ⁡ n ) \Theta(\sqrt n \log n) Θ(n ​logn)
全栈程序员站长
2022/09/15
3600
HDU 2256Problem of Precision(矩阵快速幂)
求$(\sqrt{2} + \sqrt{3})^{2n} \pmod {1024}$
attack
2018/09/17
3890
相关推荐
清北集训Day6T1(生成函数)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档