Docker 安装 hbase安装 及java连接hbase

hbase安装及简单命令行操作

1.下载安装包
2.docker进行安装
直接看文章

Hbase- Shell命令

Hbase是分布式是一个分布式的、面向列的开源数据库,Hbase也提供了Shell命令对数据库增、删、改、查的权限的基本操作,比如数据库的创建、修改、删除、修改操作等,数据的插入、删除、修改等。

  • Help 帮助命令
  • status:查询服务器状态
  • whoami:查询当前用户
  • version:当前hbase使用的版本号

ddl操作

create 创建数据库表
语法:create , {NAME =>, VERSIONS => }
例示:create 'product',{NAME => 'computer', VERSIONS => 5},{ NAME => 'food' , VERSIONS => 3}
描述:创建一张名叫'product'数据库表,并且创建两个列族,分别为:'computer'、'food'

list 查看已经存在的表
describe 查看表结构描述
用法:describe 'product'
alter 修改表
用法:修改表结构必须先disable(禁用表),再修改表,修改完成后,再enable表。
disable 'product'
alter 'product',{NAME => 'food',VERSIONS=> 3}
enable 'product'
drop 删除表
用法:首先disable(禁用表),然后drop。
disable 'product'
drop 'product'

dml操作

put 插入数据表
语法:put 
,,,, 例示:put 'product','rowkey001', 'computer:name', 'ThinkPad E550' 再次插入数据:put'product', 'rowkey001', 'computer:price', 4199 描述:给表'product'的添加一行记录:rowkey是'rowkey001',family name:'computer',column name:'name',value:'ThinkPad E550',timestamp:系统默认 插入两条数据,实际上添加了两列,返回还是一条数据
scan 扫描表
语法:scan 
,{COLUMNS => [ ,.... ], LIMIT => num} Hbase存储数据是以二进制形式保存的,读取是没有问题的 例示:scan 'product'
get 查询数据
语法:get
,,[,....] 查询表product,rowkey001中的computer下的cell的值 例示:get 'product', 'rowkey001' 例示:get'product','rowkey001',{COLUMN=>'computer:name'}
count 查询表中的数据行数
语法:count 
,{INTERVAL => intervalNum, CACHE => cacheNum} INTERVAL设置多少行显示一次及对应的rowkey,默认1000;CACHE每次去取的缓存区大小,默认是10,调整该参数可提高查询速度 描述,查询表product中的行数,每100条显示一次,缓存区为500 例示:count 'product' 或 count 'product', {INTERVAL=> 10, CACHE => 1000}
delete 删除行中的某个列值
语法:delete 
,, , ,必须指定列名 描述:删除表product,rowkey001中的computer:name的数据 例示:delete 'product','rowkey001', 'computer:name'
deleteall 删除行中的某个列值
语法:deleteall
, , , ,可以不指定列名,删除整行数据 描述:删除表product,rowkey001的数据 例示:deleteall 'product','rowkey001'
truncate 删除表中的所有数据
语法:truncate
描述:删除表product中所有的数据 例示:truncate 'product'

version版本

同一条数据,我们往数据库添加多次,后面的数据会覆盖原来的数据
例如:往'food'列族中插入一些price数组。
put 'product', 'rowkey001',  'food:name', 'orange'
put 'product', 'rowkey001',  'food:price', 4.5
put 'product', 'rowkey001',  'food:price', 5.0
put 'product', 'rowkey001',  'food:price', 5.5
扫描述表,查看数据:scan'product'  (它是最新的)

查看被覆盖的历史数据:scan'product',{COLUMNS => 'food',VERSIONS => 3}
version版本,在创建'food'列族时,设置为值3,再添加一条数据price值为6.0的数据,第一次插入的price值为4.5值,不会出现。

插入数据price值为6.0的数据:put 'product','rowkey001',  'food: price', 6.0
再次查询: scan'product',{COLUMNS => 'food',VERSIONS => 3}

查看已经被删除的数据:
内存不回收时使用如下语句可以查询,如果查询不到,说明已经被真正删除了
scan 'product',{RAW => true,COLUMNS =>'food', VERSIONS => 3 }

java连接请看下篇

你可能感兴趣的:(数据库)