Hadoop的数据运算是由MapReduce完成,而据存储是由HDFS完成。Hive是Hadoop的一个数据仓库工具,用SQL语言对海量数据进行操作。
HiveSql默认情况下会转换成MapReduce进行计算,运行速度慢,只能做离线数据分析,不能做实时查询。
HBase(Hadoop Database)是Hadoop的NoSql数据库工具。NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,表现优异,适合做大数据量的即时查询。
NoSQL数据库有四种:键值(Key-Value)存储数据库、列存储数据库、文档型数据库、图形(Graph)数据库。HBase是列存储数据库。
HBase架构:HBase由Master节点和Slave节点组成。

HBase Master功能:Master节点-HMaster,主要负责对Region和Table的管理,管理HRegionServer的负载均衡、 Region 重分配, 统领所有 Region 表中Table的增删改查,但不涉及用户数据的读写操作。
HBase Slave功能:Slave 节点-HRegionServer,主要负责相应用户I/O请求,在HDFS文件系统进行读写数据。
HBase 读写:需要涉及到 Zookeeper, RegionServer, Region,但是不涉及 HMaster。
HBase 读数据:需要涉及内存(MemStore),磁盘(StoreFile/HFile)。
HBase 存储单元: HBase 存储单元是Region。
HBase Region 分裂:需要涉及 Zookeeper, RegionServer, Region, HMaster,HBase Region 分裂(Split)时会暂停对外服务
HBase HLog:HLog通过预写式日志(WAL-write ahead logs)提高数据可靠性。每个HRegionServer都有一个HLog文件,每次写入MemStore的同时,也写一份数据到HLog文件,当HRegionServer意外终止时,通过HLog文件,实现数据恢复。
HBase查询:HBase查询数据时,涉及Zookeeper hbase:meta表里面Region的路由地址,Region的StartKey。
SQL on HBase:HBase没有数据类型,不支持创建索引,因此需要SQL on HBase来解决这些问题。SQL on HBase支持 Hive SQL,Spark SQL 和 Phoenix SQL。

本文暂时没有评论,来添加一个吧(●'◡'●)