HBase学习

作者: 小志码字 | 来源:发表于2017-07-12 21:32 被阅读68次

                                                               HBase学习(一)

    前言:

         毕业这几年 一直从事java 工作,接触的数据存储 SQL产品类似于Oracle,Mysql,Oracle是付费级的产品 既而接触的就少了  大部分工作时间都是和MySql和打交道,存储数据和良好的设计表 优化慢sql 不能说很足的经验,基本的问题都是ok的吧,接触的NoSql产品 Redis,为了给数据库做保护,业务数据大部分都缓存在了redis中,但是随着公司sdk的业务越来越庞大,传统的关系型数据库已经满足不了sdk存储数据需求,此时就需要找替代的存储方案,由于公司sdk级别的数据,每天达到了几个G,此时CTO 开始着手搭建公司级别的大数据平台 。技术选型也就选择了开源社区比较成熟的大数据技术,Hadoop Hbase,Hive,从0到1是一个缓慢的过程。我们也就慢慢开始搭建自己公司级别的数据平台,这个过程虽然很辛苦,我负责的是研究Hbase,但是研究新技术这个过程是个开心的事情。前面说了点啰嗦,开始咱们的正题吧。

    简单的先介绍一下HBase:

    HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。类似于redis中的散列存储数据。

    Hbase中有几个术语 大家理解了 基本操作就不是什么问题了。

    行键Row Key:主键是用来检索记录的主键,访问hbasetable中的行。

    列族Column Family:Table在水平方向有一个或者多个ColumnFamily组成,一个ColumnFamily中可以由任意多个Column组成,即ColumnFamily支持动态扩展,无需预先定义Column的数量以及类型,所有Column均以二进制格式存储,用户需要自行进行类型转换。

    列column:由Hbase中的列族ColumnFamily +列的名称(cell)组成列。

    单元格cell:HBase中通过row和columns确定的为一个存贮单元称为cell。

    版本version:每个cell都保存着同一份数据的多个版本。版本通过时间戳来索引。

    Hbase的表结构组成:

    1)每行都有row key。

    2)每条记录分隔成列族集合。

    3)每个列族由若干列组成

    Hbase在linux下安装请见网址:http://www.yiibai.com/hbase/hbase_installation.html

    下面我通过shell 命令 来简单的演示一下HBase的基本操作吧

    进入hbase的安装目录:

    执行 ./bin/hbase shell 命令 进入操作界面  

    list 命令:列出hbase下存储的表

    创建数据库表:create ‘table_name’,'column family'  

    添加数据:put‘table name’,’row’,'Column family:column name',’value’

    获取某个行键的数据:

    get ‘table_name’,'row_key'

    获取表下所有的数据:

    scan 'table_name'

    删除表下某列的数据:

    delete ‘table_name’, ‘row_key’, ‘column_name’;

    删除表下的某行数据:

    deleteall  ‘table_name’,‘row_key’

    更新数据:

    put‘table name’,’row’,'Column family:column name',’new_value’

          说到这 基本的操作命令已经讲完了  是不是很简单  其实HBase基本的操作还是很简单的,大家装一下体验一下 一下子就明白了,后续我还会给大家介绍用java-Client 操作Hbase  以及spirng-hadoop asynchbase 等开源的框架二次封装成独立的共有的jar包来操作基本的hbase。 这些都是很好的开源东西 大家有时间可以去学习一下。

        写的有点粗糙,望大家见谅,后面我还会继续出hbase个人学习记录,也是激励自己 同样也给大家分享 有什么不对的地方 希望大家提出来。 

      我是小志码字,一个简单码代码的小人物。

    相关文章

      网友评论

        本文标题:HBase学习

        本文链接:https://www.haomeiwen.com/subject/jdcihxtx.html