1、什么是HBase?

        HBase是建立在Hadoop文件系统之上的分布式面向列的数据库。它是一个开源项目,是横向扩展的。
        HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数据。它利用了Hadoop的文件系统(HDFS)提供的容错能力。
        它是Hadoop的生态系统,提供对数据的随机实时读/写访问,是Hadoop文件系统的一部分。人们可以直接或通过HBase的存储HDFS数据。使用HBase在HDFS读取消费/随机访问数据。HBase在Hadoop的文件系统之上,并提供了读写访问。

2、HBase和HDFS

3、HBase存储机制

        HBase是一个面向列的数据库,在表中它由行排序。表模式定义只能列族,也就是键值对。一个表有多个列族以及每一个列族可以有任意数量的列。后续列的值连续地存储在磁盘上。表中的每个单元格值都具有时间戳。总之,在一个HBase:
        表是行的集合。
        行是列族的集合。
        列族是列的集合。
        列是键值对的集合。

4、面向列和面向行

 5、HBase的特点

        HBase线性可扩展。
        它具有自动故障支持。
        它提供了一致的读取和写入。
        它集成了Hadoop,作为源和目的地。
        客户端方便的Java API。
        它提供了跨集群数据复制。

 6、HBase基本操作

        创建表:

        示例:create 'emp', 'personal data', ’professional data’

        列出表:list命令

        禁用表:disable   ‘表名’,在禁用表之后可以通过is_disabled 命令查看,如果被禁用返回true,否则返回false。并且使用scan命令进行扫描表会报错

        启用表:通过enable  ‘表名’的命令对禁用的表进行启用,启用之后可以通过scan命令扫描

        验证表是否存在:可以通过exists  ‘表名’进行验证表是否存在

        删除表:在HBase中删除表需要先将表禁用,然后使用drop  ‘表名’对表进行删除

        添加数据到表中:通过put  ‘表名’,‘row1’,‘列族:列名’,‘值’

        示例:put ’<table name>’,’row1’,’<colfamily:colname>’,’<value>’

        更新数据和添加数据的命令一样

        获取数据:通过get  ‘表名’  ‘row1’,来获取第一行的数据

        以上操作均可以通过使用HTable类编写Java API进行实现。

        基本思路:1.实例化配置类。

                          2.实例化HTable类。

                          3.实例化功能类。

                          4.实现功能。

        

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐