1、 创建表的时候只需定义表名和列族名,每个表至少有一个列族,表的任意选项设置后续都可以修改
2、 建表语法:create 'tablename', {NAME => 'colfam'}
例子:create 'move', {NAME => 'desc', NAME => 'media'}
简写形式:create, 'move', 'desc', 'media'
3、 Get/Scan用于检索数据。Get需要根据具体的row key进行检索,查询单行数据。
格式:hbase> get 'table_name', 'row_key'[,timestamp]
例子:hbase> get 'movie', 'row1'
hbase> get 'movie', 'row1',{COLUMN =>'desc:title'}
hbase> get 'movie', 'row1',{COLUMN =>'desc:title', VERSIONS => 2}
hbase> get 'movie', 'row1',{COLUMN => 'desc'}
4、 无法精准确认取哪行数据,需要扫描一批而非一行数据时使用Scan,用于扫描检索所有行
1) Scan可以检索start row key 和end row key范围内的所有行信息。start row key会包含在查询结果里,end row key信息不包含在查询信息里,检索直到结束行健停止
2) 不指定起始和结束行,默认扫描全表
3) scan同样支持过滤器,减少返回给客户端的行数量
格式:hbase> scan 'table_name'[, options]
例子:hbase> scan 'movie'
hbase> scan 'movie', {LIMIT => 10}
hbase> scan 'movie', {STARTROW => 'row1', STOP=> 'row5'}
5、 Put用于插入数据
1) Put实现插入由行键确定的一个新行,向表中插入一行表中没有的新行
2) 可以多次调用Put,实现插入不同行键的多行内容
3) 如果插入的行表中已经存在,put操作将会更新对应的值以及对应的时间戳,未被修改的列不变
4) 如果列族的定义中只保留一个版本,则只有这个新值会存在。如果列族中的每个列定义了保留N个版本,则之前的N个版本的内容都会保留下来
格式:hbase> put 'table_name', 'row_key','colfam:col', 'value'[, options]
例子:hbase> put 'movie', 'row1', 'desc:title','ellen'
hbase> put 'movie', 'row1', 'desc:title', 'ellen2', 234343242342
6、 Delete标记已被删除的数据
1) Delete用于删除行键对应的行信息,被删除的行在HBase上并没有被删除,只是被标记成列删除,随后才真正删除这些数据
2) 数据在HDFS上被标记为删除但并不会物理删除,后续会对HDFS上标记为删除的数据进行物理删除
3) 使用deleteall删除整行数据
hbase> deleteall 'table_name','rowKey'
4) 使用truncate删除所有数据
hbase> truncate 'table_name'