专注于快乐的事情

Hbase学习

HBase的特性

容量巨大

HBase的单表可以有百亿行、百万列

面向列

HBase是面向列的存储和权限控制,并支持列独立检索。

vs传统行式数据库

  • 数据是按行存储的
  • 没有索引的查询使用大量I/O
  • 建立索引和物化视图需要花费大量的时间和资源

列式数据库的特性

  • 数据是按行存储的
  • 数据即索引,只访问查询涉及的列,可以大量降低系统I/O
  • 数据类型一致,数据特征相似,可以高效压缩

稀疏性

在大多数情况下,采用传统行式存储的数据往往是稀疏的,即存在大量为空(NULL)的列,而这些列都是占用存储空间的,这就造成存储空间的浪费。对于HBase来讲,为空的列并不占用存储空间,因此,表可以设计得非常稀疏。

扩展性

HBase底层文件存储依赖HDFS,从“基因”上决定了其具备可扩展性。

高可靠性

HBase提供WAL和Replication机制。前者保证了数据写入时不会因集群异常而导致写入数据的丢失;后者保证了在集群出现严重问题时,数据不会发生丢失或者损坏。

操作

##

create ‘JSpider_cn.made-in-china.com’,’a’

读取

HBase不能支持where条件、Order by 查询,只支持按照Row key来查询,但是可以通过HBase提供的API进行条件过滤

scan ‘blogtable’ ,{COLUMNS => [‘text:’,’info:title’] } —> 列出 文章的内容和标题
scan ‘blogtable’ , {COLUMNS => ‘info:url’ , STARTROW => ‘2’} —> 根据范围列出 文章的内容和标题

get ‘blogtable’,’1’, {COLUMN => ‘info’} —> 列出 文章id 等于1的info 的头(Head)内容
get ‘blogtable’,’1’, {COLUMN => [‘text’,’info:author’]}

参考

https://hub.docker.com/r/cloudera/clusterdock/

https://blog.csdn.net/scgaliguodong123_/article/details/46626779
http://www.cnblogs.com/cnmenglang/p/6555828.html

值得学习
https://www.cnblogs.com/charlist/p/7063991.html
接口文章
https://cloud.tencent.com/developer/article/1018573

https://blog.csdn.net/dreamsigel/article/details/53835013?fps=1&locationNum=8

Elasticsearch+hbase
https://blog.csdn.net/cafebar123/article/details/79430782

elasticsearch整合hbase步骤
https://blog.csdn.net/high2011/article/details/51596853

mob
https://yq.aliyun.com/articles/586784

搭建安装
https://www.jianshu.com/p/b2d9194ad6f5

HBase中存取图片、文档数据(HBase MOB)
https://my.oschina.net/u/234661/blog/1553207

评论系统未开启,无法评论!