HBase是什么?
首先来看HBASE的官方定义:“Apache Hbase is the Hadoop database,a distributed,scalable,big data store, Hbase is a type of ‘NoSQL’ database",这句话翻译过来的意思就是:Apache HBASE是基于Hadoop的”nosql“数据库,而且它还是分布式的、可拓展的大数据存储。从而我们也知道了,HBASE能存储海量数据的原因,在于HBASE是在Hadoop和与之关联的HDFS上搭建起来的,而HDFS是分布式文件系统。
总的来说,HBASE是利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBASE中的海量数据,利用zookeeper作为其分布式协同服务,主要用来存储非结构化和半结构化松散数据的列式nosql数据库。
这里对Hadoop、hive和HBASE做一个简单的归纳总结:
名称 | 内容 |
---|---|
hadoop | 分布式文件系统(HDFS)+分布式计算框架(MapReduce)+调度系统(Yarn)搭建起来的分布式大数据处理框架 |
hive | 基于Hadoop的数据仓库,适用于一些高延迟性的应用(离线开发),可以将结构化的数据文件映射为一张数据库表,并提供复杂的SQL查询功能。hive可以认为是MapReduce的一个包装,把写好的HQL转换为MapReduce程序,本身不存储和计算数据,它完全依赖于 |