Hadoop大数据平台实战(02):HBase vs. Hive vs. Impala 对比

Hadoop大数据平台中非常重要的三个技术:HBase vs. Hive vs. Impala。他们之间的关系和区别。

Apache™Hadoop是目前最流行的开源大数据平台,核心组件使用Java语言开发。

Apache Hadoop软件库是一个框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集。 它旨在从单个服务器扩展到数千台计算机,每台计算机都提供本地计算和存储。 该库本身不是依靠硬件来提供高可用性,而是设计用于检测和处理应用层的故障,从而在计算机集群之上提供高可用性服务,每个计算机都可能容易出现故障。

1)Hadoop:最流行的开源大数据平台,主要框架使用Java开发。

2)HBase:面向列的开源NoSQL分布式数据库,基于HDFS,起源于谷歌的论文BigTable。

3)Hive:开源分布式数据仓库工具,至于类SQL语法,基于Hadoop构建,支持HDFS和HBase。

4)Impala:Hadoop,开源分布式的MPP分析引擎框架,类SQL语法,又叫:Cloudera Impala。支持HDFS和HBase,亚马逊S3。

Hadoop_ecosystem-e1423036827306.png

HBase vs. Hive vs. Impala的详细参数对比
名称 HBase  Hive  Impala 
描述

面向列的NoSQL数据库

基于谷歌BigTable论文。

Apache Hadoop数据库。

数据仓库软件,

构建于Hadoop上。

支持类SQL

分布式的MPP分析引擎

支持类SQL

主要模型 列存储 关系型 关系型
次要模型 Document
排名

分数 58.66
排名 #17   总体
#2   宽列存储
分数 74.71
排名 #15   总体
#10   关系型
分数 14.52
排名 #36   总体
#22   关系型
官网 hbase.apache.org hive.apache.org https://impala.apache.org
文档 hbase.apache.org hive.apache.org
https://impala.apache.org
开发者 Apache基金会 Apache基金会 Cloudera公司
创建时间 2008 2012 2013
当前版本 1.4.8, 2018年10月 2.3.0, 2017年7月 3.0.0, 2018年5月
许可证 开源 开源 开源
只支持云 no no no

开发语言 Java Java C++
支持系统 Linux
Unix
Windows info
运行Java VM的系统 Linux
scheme schema-free yes yes
Typing no yes yes
XML支持 no no
辅助索引 no yes yes
SQL  no 类SQL语句 类SQL语句
API支持 Java API
RESTful HTTP API
Thrift
JDBC
ODBC
Thrift
JDBC
ODBC
支持语言 C
C#
C++
Groovy
Java
PHP
Python
Scala
C++
Java
PHP
Python

所有语言

JDBC/ODBC

服务器脚本 yes yes yes
触发器 yes no no
分区方法 Sharding分片 Sharding分片 Sharding分片
复制方法 可选择复制因子 可选择复制因子
可选择复制因子
MapReduce yes yes  yes
一致性 立即一致性 最终一致性 终一致性
外键 no no no
事物 no no no
并发 yes yes yes
持久性 yes yes yes
In-memory no no
用户概念 访问控制列表 (ACL)  users, groups,roles权限

users, groups,roles权限


参考资料:

https://impala.apache.org/overview.html

https://db-engines.com/en/system/HBase%3bHive%3bImpala

https://en.wikipedia.org/wiki/Apache_HBase

https://hbase.apache.org/

https://impala.apache.org/docs/build/html/topics/impala_intro.html


阿里巴巴Java群超过4800人
进群方式:钉钉扫码入群
image

阿里巴巴MongoDB群
image

猜你喜欢

转载自yq.aliyun.com/articles/696941