hbase-0.90.2中创建表、插入数据,更新数据,删除数据(

本文介绍如何使用HBase进行人员和部门信息的存储与管理,包括创建表、插入数据、更新和删除操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

所需要的包有:

commons-codec-1.4.jar

commons-logging-1.1.1.jar

hadoop-0.20.2-core.jar

hbase-0.90.2.jar

log4j-1.2.16.jar

zookeeper-3.3.2.jar



背景:

假设有一个不知道是干什么表:)

表里需要存入人员和其相对应的部门信息



代码:


import java.util.ArrayList;
import java.util.List;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;



public class HbaseAddEdtDel {

public static Configuration configuration=null;
static {
configuration = HBaseConfiguration.create();
configuration.set("hbase.master", "192.168.0.201:60000");
configuration.set("hbase.zookeeper.quorum","192.168.0.201,192.168.0.202,192.168.0.203");
configuration.set("hbase.zookeeper.property.clientPort", "2181");
}

public static void main(String[] args) throws Exception {

HBaseAdmin admin = new HBaseAdmin(configuration);


if (admin.tableExists("riapguh")) {
System.out.println("删除 table");
admin.disableTable("riapguh");
admin.deleteTable("riapguh");
}


//创建riapguh表
System.out.println("创建 table");
HTableDescriptor tableDescripter = new HTableDescriptor("riapguh".getBytes());//创建表
tableDescripter.addFamily(new HColumnDescriptor("user"));//创建列簇user
tableDescripter.addFamily(new HColumnDescriptor("dpt"));//创建列簇dpt
admin.createTable(tableDescripter);

HTable table = new HTable(configuration, "riapguh");

//插入数据
System.out.println("add riapguh data");
List<Put> putuser = new ArrayList<Put>();


Put user1 = new Put(new String("用户A").getBytes());
//写入用户员信息
user1.add(new String("user").getBytes(), new String("user_code").getBytes(), new String("u_0001").getBytes());
user1.add(new String("user").getBytes(), new String("user_name").getBytes(), new String("u_用户A").getBytes());

//写入部门信息
user1.add(new String("dpt").getBytes(), new String("dpt_code").getBytes(), new String("d_001").getBytes());
user1.add(new String("dpt").getBytes(), new String("dpt_name").getBytes(), new String("d_部门A").getBytes());
putuser.add(user1);



Put user2 = new Put(new String("用户B").getBytes());
//写入用户员信息
user2.add(new String("user").getBytes(), new String("user_code").getBytes(), new String("u_0002").getBytes());
user2.add(new String("user").getBytes(), new String("user_name").getBytes(), new String("u_用户B").getBytes());

//写入部门信息
user2.add(new String("dpt").getBytes(), new String("dpt_code").getBytes(), new String("d_002").getBytes());
user2.add(new String("dpt").getBytes(), new String("dpt_name").getBytes(), new String("d_部门B").getBytes());
putuser.add(user2);



Put user3 = new Put(new String("用户C").getBytes());
//写入用户员信息
user3.add(new String("user").getBytes(), new String("user_code").getBytes(), new String("u_0003").getBytes());
user3.add(new String("user").getBytes(), new String("user_name").getBytes(), new String("u_用户C").getBytes());

//写入部门信息
user3.add(new String("dpt").getBytes(), new String("dpt_code").getBytes(), new String("d_003").getBytes());
user3.add(new String("dpt").getBytes(), new String("dpt_name").getBytes(), new String("d_部门C").getBytes());
putuser.add(user3);


table.put(putuser);
table.flushCommits();

//更新用户B
Put updateb = new Put(new String("用户B").getBytes());
//写入用户员信息
updateb.add(new String("user").getBytes(), new String("user_code").getBytes(), new String("u_000xsx").getBytes());
updateb.add(new String("user").getBytes(), new String("user_name").getBytes(), new String("u_用户xsx").getBytes());
//写入部门信息
updateb.add(new String("dpt").getBytes(), new String("dpt_code").getBytes(), new String("d_00xsx").getBytes());
updateb.add(new String("dpt").getBytes(), new String("dpt_name").getBytes(), new String("d_部门xsx").getBytes());
table.put(updateb);

table.flushCommits();
//HBaseBasic.selectByRowKey("riapguh");

System.out.println("-------------删除用户C---------------------");
//删除用户C
//able.delete(new Delete(new String("用户C").getBytes()));
List<Delete> deld = new ArrayList<Delete>();
deld.add(new Delete(new String("用户C").getBytes()));
table.delete(deld);

table.flushCommits();
//HBaseBasic.selectByRowKey("riapguh");
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值