深入浅出了解HBase及RDD编程

深入浅出了解HBase

  • HBase简介
    • 架构
    • HBase是什么样的数据库?关键是数据模型
          • 关键要素:
          • 什么是单元格
          • 时间戳的功能是什么?
            • HBase为什么能存储海量数据
  • 创建一个HBase表
  • 配置Spark
  • 编写程序读取HBase数据
  • 编写程序向HBase写入数据

关于搭建HBase高可用集群的图文教程,可参考我的另一篇博文—— 安装并配置HBase集群(5个节点)

HBase简介

HBase是Google BigTable的开源实现,Google公司很多数据如搜索、相册、导航数据都保存在BigTable中,2003年Google发布了该技术后,社区实现了HBase。

架构

深入浅出了解HBase及RDD编程_第1张图片
深入浅出了解HBase及RDD编程_第2张图片

HBase在Hadoop中扮演者数据库的角色,但HBase要借助底层的HDFS来存储数据,自身并没有实现文件系统,或者说HBase有点像mysql一样,支持热插拔的文件系统(HBase既支持HDFS,也支持本地文件系统,就像Mysql支持InnoDB、MyISM等等)。而上图中包围着HBase的就是计算框架(MapReduce和Spark),并且MapReduce正逐步被Spark所替代。

HBase是什么样的数据库?关键是数据模型

HBase是一个稀疏、多维度、排序的映射表。

关键要素:
  • 行键
  • 列族
  • 列限定符
  • 时间戳

深入浅出了解HBase及RDD编程_第3张图片
在Mysql中,我们操作的是一行行的数据;而在HBase中,我们操作(写数据、读数据)的是单元格

什么是单元格

通过行、列族、列限定符确定的是一个单元格。
深入浅出了解HBase及RDD编程_第4张图片

你可能感兴趣的:(大数据,hbase)