夏天都快过完了

好像只是跑来跑去什么都没有做

博客园 首页 新随笔 联系 订阅 管理

1.理解HBase表模型及四维坐标:行键、列族、列限定符和时间戳。

行键:由一个RowKey和多个列族组成,一个行有一个RowKey,用来唯一标示。

列族:每一行由若干列族组成,每个列族下可包含多个列,如上ImployeeBasicInfoCLF和DetailInfoCLF即是两个列族。列族是列共性的一些体现。

列限定符:列由列族和列限定符唯一指定。

时间戳:单元格内不同版本的值按时间倒序排列,最新的数据排在最前面。

2.启动HDFS,启动HBase,进入HBaseShell命令行。

启动HDFS:start-dfs.sh

HBase:start-hbase.sh

HBaseShell:hbase shell

中间检查:jps

 

3.列出HBase中所有的表信息list

直接在shell中输入list,回车

4.创建表create

创建一个包含3个列族“f1”,“f2”,“f3”的名为“tempTable”的表

在shell中输入命令create 'tempTable','f1','f2','f3'

并输入list查看当前表

5.查看表详情desc

 desc '表名'即可查看表详情

6.插入数据put

向表tempTable中的第r1行、第“f1:c1”列,插入一组数据值为“hello,dblab”

put 'tempTable','r1','f1:c1','hello,dblab'

7.查看表数据scan,get

scan '表名'即可查看表数据

get 表名、 行、 列、 时间戳、 时间范围和版本号来获得相应单元格的值

 

遇到的问题:查询表格信息时输错信息,回车后一直陷入换行不执行的问题,这时可按ctrl+c退出shell界面进入终端界面,再次输入hbase shell进入shell界面即可。

 

8.多版本实验:修改列族版本数,插入多版本数据,查看多版本数据 

(1)创建表并查看

create 't2','f1',{NAME=>'f2',VERSIONS=>'3'}

desc 't2'

 

(2)修改列族版本数并查看

alter 't2',{NAME=>'f1',VERSIONS=>'5'}

desc 't2'

(3)插入多版本数据

put 't2','r1','f1:c1','v1'

put 't2','r1','f1:c1','v2'

put 't2','r1','f1:c1','v3'

put 't2','r1','f1:c1','v1'

(4)查看多版本数据

get 't2','r1'

get 't2','r1',{COLUMN=>'f1:c1',VERSIONS=>5}

 

 

9.对比HBase列式表与MySQL的行式表

 

info

score

name

age

sex

OS

BD

row1

…3624

xianming

…3447

19

   

85

90

row2

   

…6395

…7611

19

22

       

row3

       

…4968

femal

   
  • 在HBase中创建学生课程分数表student并查看表结构。create,describe,put

    create 'user','info'

    

    desc 'user'
    

  • 在mysql中创建学生表student, 课程表 course, 分数表score并查看表结构。create,describe

    进入mysql:mysql -u root -p

    

    创建学生表student并查看表结构

    

    创建课程表course并查看表结构

    

    创建分数表score并查看表结构

    

  • 分别插入几行数据,几个版本。put/insert

    (1)HBase

     插入数据

     put 'user','row1','info:name','xiaohong'

     put 'user','row2','info:age','20'

     put 'user','row3','info:sex','femal'

     

     插入版本

     put 'user','row1','info:age','19'

     put 'user','row2','info:age','19'

     disable 'user'

     alter 'user',NAME=>'info',VERSIONS=>3

     enable 'user'

     put 'user','row2','info:age','22'
     

    (2)mysql

     插入数据

     

     

     

  • 查看数据及版本。get,scan/select    

    (1)HBase

    查看数据

    get ‘user’,'row2'

    

    get 'user','row3','info:sex'

    

    scan ‘user’

    

    scan ‘user’,{LIMIT => 2}

    

     查看版本

    scan 'user,{VERSIONS=>3}

    

    scan 'user'

    

   (2)mysql

    

posted on 2021-11-10 02:53  夏天都快过完了  阅读(126)  评论(0编辑  收藏  举报