频道栏目
首页 > 数据库 > 其他综合 > 正文
HBase基本操作
2017-04-27 09:15:50           
收藏   我要投稿

先创建表和列族然后才能添加数据

hbase(main):014:0> create 'nvshen','baseinfo','extrainfo'

0 row(s) in 4.3740 seconds

hbase(main):016:0> describe 'nvshen'

DESCRIPTION ENABLED

'nvshen', {NAME => 'baseinfo', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => ' true

ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VE

RSIONS => '0', TTL => '2147483647', KEEP_DELETED_CELLS => 'false', BLOCKSIZE =

> '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'},

{NAME => 'extrainfo', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0',

VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => '21474836

47', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', IN_MEMORY => 'false'

, BLOCKCACHE => 'true'}

1 row(s) in 0.0690 seconds

然后再进行api相关操作

@Test

public void TestInsert() throws Exception{

Configuration conf = HBaseConfiguration.create();

conf.set("hbase.zookeeper.quorum", "集群的主机名和zk的端口号");

HTable nvshen = new HTable(conf,"nvshen");

//用来对单个行执行添加操作

Put name = new Put(Bytes.toBytes("rk001"));

name.add(Bytes.toBytes("baseinfo"), Bytes.toBytes("name"), Bytes.toBytes("zheng"));

Put age = new Put(Bytes.toBytes("rk001"));

age.add(Bytes.toBytes("baseinfo"), Bytes.toBytes("age"), Bytes.toBytes(20));

age.add(Bytes.toBytes("baseinfo"), Bytes.toBytes("age"), Bytes.toBytes(19));

ArrayList puts = new ArrayList<>();

puts.add(age);

puts.add(name);

nvshen.put(puts);

}

查看hbase表

hbase(main):017:0> scan 'nvshen'

ROW COLUMN+CELL

rk001 column=baseinfo:age, timestamp=1493194117575, value=\x00\x00\x00\x13

rk001 column=baseinfo:name, timestamp=1493194117575, value=zheng

1 row(s) in 0.0180 seconds

 

点击复制链接 与好友分享!回本站首页
上一篇:shell批量导入数据
下一篇:OVER(PARTITIONBY)函数用法
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站