导图社区 hbase shell基本操作命令及Java访问hbase的类和方法
这是一篇关于hbase shell基本操作命令及Java访问hbase的类和方法的思维导图,主要内容有注意事项、Hbase Shell、实现java访问hbase所用的类以及函数、过滤器的使用。
软件工程项目的团队建设、风险管理及质量管理思维导图,有需要的同学,可以收藏下哟, 希望对大家有所帮助~
社区模板帮助中心,点此进入>>
英语词性
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
法理
刑法总则
【华政插班生】文学常识-先秦
【华政插班生】文学常识-秦汉
文学常识:魏晋南北朝
【华政插班生】文学常识-隋唐五代
【华政插班生】文学常识-两宋
Hbase基础操作
注意事项
表名、列名采用单括号包括
参数大小写敏感
同一个表中不可有同名的列族
Hbase Shell
创建表
create '表名','列族1','列族2'
查看表
list查看表
查看表结构:describe '表名'
查看指定行、列的数据:get
get '表名','行键'
get '表名','行键','列族','列'
scan扫描看表数据
scan '表名':查看整个表
scan '表名',{STARTROW=>'行键','STOPROW'=>'行键'}:根据行键查找
scan '表名',{STARTREOW'=>'行键'}
表操作
插入/更新数据:put/alter
put '表名','行键','列族:列','列值'
alter '表名',{列=>'列族',VERSION=>3}
删除表数据:delete
delete '表名','行键','列族:列'
删除表drop
disable '表名'(删除表之前要先禁用表)
drop '表名'
Hbase数据结构
RowKey(行键)
ColumnFamily(列族)
TimeSteamp(时间戳)
NameSpace(命名空间)
实现java访问hbase所用的类以及函数
Admin类
用来管理表信息
从属于
org.apache.hadoop.hbase.client
常用方法
void createTable(HTableDescriptor desc)
创建一个新的表
void deleteColumn(byte[] tableName,String columnName)
从表中删除列
void deleteTable(tableName)
删除表
listTableNames()
列出集群中table列表
tableExists(TableName)
检查表是否存在
boolean hasFamily(byte[] familyname)
判断列族是否存在
HDescriptor类
包含一个HBase的表结构信息
HTableDescriptor addFamily(HColumnDescriptor famiy)
列族给定的描述
removeFamily(byte[] column)
移除一个列族
byte[] getName()
获取表的名字
用法示例
HTableDescriptor htd=new HTableDescriptor(table)
htd.addFamily(new HcolumnDescriptor("family"))
HTable类
HBase表中HBase的内部类,用于实现单个HBase表进行通信
void close()
释放HTable的所有资源
void delete(Delete delete)
删除指定单元格/行
TableName getName()
返回此表的表名称实例
void put(Put put)
将数据插入到列表中
Put类
用于单个行执行插入操作
Put(byte row)
单行数据插入
Put(byte[] row,long ts)
add(byte[] family,byte[] qualifier,byte[] value)
添加指定的列和值到表中
add(byte[] family,byte[] qualifier,long ts,byte[] value)
添加指定的列和值,使用指定的时间戳
addColumn(byte[] family,byte[] qualifier,byte[] value)
添加指定的列和值(注意:如果属于HTableDescriptor类时,需要modifyTable()修改表结构)
ArrayList<Put> putList=new ArrayList<Put>()
以列表的形式添加多行
Get类
获取单行相关信息
Get(byte[] row)
获取单行的信息
add(byte[] family,byte[] qualifier)
添加指定要查询的列族
addfamily(byte[] family)
添加要查询的列族
Delete类
Delete(byte[] row)
删除行
DeleteColumns(byte[] family,qualifier)
删除列(所有版本的)
DeleteColumn(byte[] family,qualifier)
删除列(最新版本的)
DeleteColumn(byte[] row,long timestamp)
删除指定具有时间戳小于或等于指定时间戳的列
Result类
获取Get或扫描查询的单行结果
byte[] getValue(byte[] family,byte[] qualifier)
用于获取指定列的最新版本
byte[] getRow()
用于检索对应于从结果中创建行的行键
过滤器的使用
行键过滤器
RowFilter
实现行键字符串的比较和过滤
PrefixFilter
rowkey前缀过滤器
KeyOnlyFilter
只对单元格的键过滤不显示值
列过滤器
FamilyFilter
列簇过滤器
ColumnPrefixFilter
对列名称的前缀进行过滤
QualifierFilter
列限定符过滤器,只显示对应列簇列名的数据
值过滤器
ValueFilter
值过滤器,找到符合值条件的键值对
SingleColumnValueFilter
在指定的列簇和列名中进行比较的值过滤器
ColumnValueFilter
列值过滤器