版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wx1528159409

目录

 

1. 进入H 的客户端命令行

    tips:修改删除键配置

2. 创建表 create

3. 创建命名空间下的表  create_namespace

4. 插入数据 put

5. 查询数据 scan get

6. 删除数据/表  delete / disable drop


1. 进入H 的客户端命令行

[kevin@hadoop100 h ]$ bin/h  shell

h (main):001:0> 

// help查看帮助命令
// list查看当前数据库namespace中有哪些表

tips:修改删除键配置

此时发现一个小问题,在XShell中,Backspace删除键用不了了,作如下修改

进入到XShell 文件 –> 属性 –> 终端 –> 键盘

在 DELETE键序列 和 BACKSPACE键序列 中都选择 ASCII 127

再进入 H 命令行测试,Backspace键回归正常了!

ps:namespace(命名空间),相当于mysql中的data (数据库);snapshots是快照

 

2. 创建表 create

create创建表student,指定列族info

h (main):003:0> create \'student\',\'info\'
h (main):004:0> list
TABLE                                                                   
student                                                            
1 row(s) in 0.0200 seconds

 

3. 创建命名空间下的表  create_namespace

命名空间,类似mysql中的data ,一个命名空间包含多个表,一个表又包含多个分区region,每一台服务器RegionServer可存放的Region是有限额的;

h (main):023:0> create_namespace \'bigdata\'
h (main):025:0> create \'bigdata:table\',\'info\'

h (main):026:0> create \'table2\',\'info\'

先创建命名空间bigdata,然后在该命名空间下创建表table;

再按步骤2创建表table2;

在Web端可以看到

\"\"

说明 create \'bigdata:table\',创建的表的在命名空间bigdata下;而不指定命名空间,表table2会创建在default默认命名空间

 

4. 插入数据 put

标准插入格式:其中t1是表名,r1是rowkey,c1是列族名,value是值

h > put \'t1\', \'r1\', \'c1\', \'value\'

插入数据(列族info里面的name列)

ps:当表名、rowkey名、列族名一致,而value不同时,后面的put操作会覆盖更新旧的value值

h (main):016:0> put \'student\',\'1001\',\'info:name\',\'zhangsna\'
h (main):018:0> put \'student\',\'1002\',\'info:sex\',\'male\'
h (main):018:0> put \'student\',\'1002\',\'info:sex\',\'female\'
h (main):025:0> put \'student\',\'1003\',\'info:age\',\'18\'
h (main):030:0> put \'student\',\'1003\',\'info:age\',\'19\'

 

5. 查询数据 scan get

(1)扫描查看表数据 scan

① 扫描查看全表数据

h (main):031:0> scan \'student\'
ROW                 COLUMN+CELL                                         
 1001               column=info:name, timestamp=1545133108733, value=zhangsna                                                                
 1002               column=info:sex, timestamp=1545133341462, value=female                                                                      
 1003               column=info:age, timestamp=1545133561727, value=19

这里发现put的新value更新了旧的value值

② 扫描查看指定rowkey之间的表数据  [STARTROW,STOPROW)

h (main):003:0> scan \'student\',{STARTROW => \'1001\',STOPROW => \'1003\'}
ROW                                           COLUMN+CELL                                                                                                                          
 1001                                         column=info:name, timestamp=1545133108733, value=zhangsna                                                                            
 1002                                         column=info:sex, timestamp=1545133341462, value=female 

③ 从指定rowkey往后查看表数据

h (main):004:0> scan \'student\',{STARTROW => \'1001\'}
ROW                                           COLUMN+CELL                                                                                                                          
 1001                                         column=info:name, timestamp=1545133108733, value=zhangsna                                                                            
 1002                                         column=info:sex, timestamp=1545133341462, value=female                                                                               
 1003                                         column=info:age, timestamp=1545133561727, value=19  

(2)查看指定行的数据

h (main):007:0> get \'student\',\'1001\'
COLUMN              CELL                                                
 info:name          timestamp=1545133108733, value=zhangsna 

(3)查看指定行下,指定列族中指定列的数据

h (main):009:0> get \'student\',\'1001\',\'info:name\'
COLUMN              CELL                                                
 info:name          timestamp=1545133108733, value=zhangsna

 

6. 删除数据/表  delete / disable drop

(1)删除某rowkey行的全部数据

h (main):013:0> deleteall \'student\',\'1001\'

(2)删除某rowkey行,指定列族下指定列的数据

h (main):013:0> delete \'student\',\'1002\',\'info:sex\'

(3)清空表数据

h (main):017:0> scan \'student\'

(4)删除表(先将表变成disable状态,再drop删除)

h (main):019:0> disable \'student\'
h (main):020:0> drop \'student\'


 

 

收藏 打印