-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathhbase.txt
108 lines (78 loc) · 3.06 KB
/
hbase.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
按照hbase安装文档.docx配置
如果单机的是本地伪集群模式,配置hbase-site.xml里面的nameservice改成具体ip如下:
<property>
<name>hbase.master</name>
<value>ip:60000</value>
</property>
<property>
<name>hbase.master.maxclockskew</name>
<value>180000</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://ip:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/mnt/hbase/tmp/zookeeper</value>
</property>
其他配置不变
访问HBASE table中的行,只有三种方式:
1.通过单个row key访问
2.通过row key的range(正则)
3.全表扫描
创建表 create '表名', '列族名1','列族名2','列族名N'
查看所有表 list
描述表 describe ‘表名’
判断表存在 exists '表名'
判断是否禁用启用表 is_enabled '表名'
is_disabled ‘表名’
添加记录 put ‘表名’, ‘rowKey’, ‘列族 : 列‘ , '值'
查看记录rowkey下的所有数据 get '表名' , 'rowKey'
查看表中的记录总数 count '表名'
获取某个列族 get '表名','rowkey','列族'
获取某个列族的某个列 get '表名','rowkey','列族:列’
删除记录 delete ‘表名’ ,‘行名’ , ‘列族:列'
删除整行 deleteall '表名','rowkey'
删除一张表 先要屏蔽该表,才能对该表进行删除
第一步 disable ‘表名’,第二步 drop '表名'
清空表 truncate '表名'
查看所有记录 scan "表名"
查看某个表某个列中所有数据 scan "表名" , {COLUMNS=>'列族名:列名'}
更新记录 就是重写一遍,进行覆盖,hbase没有修改,都是追加
create 'user', 'info','family','teach'
describe 'user'
exists 'user'
is_enabled 'user'
put 'user' ,'1234','info:name','zhangsan'
#全表扫描
scan 'user'
ROW COLUMN+CELL
1234 column=info:name, timestamp=1508210609483, value=zhangsan
再次put,实际上是同一条记录做修改,因为rowkey一样
put 'user' ,'1234','info:name','zhangsan1'
也可以再1234这个rowky增加一个age属性
put 'user' ,'1234','info:age','18'
ROW COLUMN+CELL
1234 column=info:age, timestamp=1508210851226, value=18
1234 column=info:name, timestamp=1508210727252, value=zhangsan1
根据rowKey单条查询
get 'user' ,'1234'
get 'user' ,'1234','info'
get 'user' ,'1234','info:age'
put 'user' ,'1234','info:sex','18'
delete 'user','1234','info:age'
scan有两种查找方式:全表或者正则
scan "user" , {COLUMNS=>'info'}
scan "user" , {COLUMNS=>'info:name'}
建完表后,会在zk里/hbase/table目录里查到信息
hbase的原理,拆分合并原理
http://blog.csdn.net/weihongrao/article/details/17297303