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。
HBase vs. Hive vs. Impala的详细参数对比 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
名称 | HBase | Hive | Impala | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
描述 | 面向列的NoSQL数据库 基于谷歌BigTable论文。 Apache Hadoop数据库。 |
数据仓库软件, 构建于Hadoop上。 支持类SQL |
分布式的MPP分析引擎 支持类SQL |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
主要模型 | 宽列存储 | 关系型 | 关系型 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
次要模型 | Document | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
官网 | 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 |
运行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://impala.apache.org/docs/build/html/topics/impala_intro.html
阿里巴巴Java群超过4800人
进群方式:钉钉扫码入群
阿里巴巴MongoDB群