依赖:(version即为当前HBase版本)
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client-project</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-it</artifactId>
<version>1.3.1</version>
</dependency>
代码:
public class HBASEClientDemo {
@Test
public void createTable() throws IOException {
//1.获取hbase连接,配置
//hbase.zookeeper.property.clientPort
Configuration conf = HBaseConfiguration.create();
//ATTENTION PLEASE!!!
//" IP_ADDRESS " 处,输入对应的虚机的IP地址,或者输入对应的虚机的主机名
conf.set("hbase.zookeeper.quorum"," IP_ADDRESS ");
//" 端口号 " 处,输入对应的端口号
conf.set("hbase.zookeeper.property.clientPort"," 端口号 ");
//2.创建连接
Connection conn = ConnectionFactory.createConnection(conf);
//3.创建admin
Admin admin = conn.getAdmin();
//4.创建表的相关信息,表名
HTableDescriptor student = new HTableDescriptor(TableName.valueOf("student"));
//5.添加列族信息
student.addFamily(new HColumnDescriptor("info"));
student.addFamily(new HColumnDescriptor("score"));
//6.调用创建表的方法进行建表操作
admin.createTable(student);
//7.关闭连接
conn.close();
}
@Test
public void putData2Table() throws IOException {
//1.配置
Configuration conf = HBaseConfiguration.create();
//ATTENTION PLEASE!!!
//" IP_ADDRESS " 处,输入对应的虚机的IP地址,或者输入对应的虚机的主机名
conf.set("hbase.zookeeper.quorum"," IP_ADDRESS ");
//" 端口号 " 处,输入对应的端口号
conf.set("hbase.zookeeper.property.clientPort"," 端口号 ");
//2.创建连接
Connection conn = ConnectionFactory.createConnection(conf);
//3.获取table
Table student = conn.getTable(TableName.valueOf("student"));
//4.往表中添加数据
Put put = new Put(Bytes.toBytes("1001"));
//5.添加列 info:name zhangsan
put.addColumn(Bytes.toBytes("info"),Bytes.toBytes("name"),Bytes.toBytes("zhangsan"));
put.addColumn(Bytes.toBytes("info"),Bytes.toBytes("gender"),Bytes.toBytes("male"));
put.addColumn(Bytes.toBytes("info"),Bytes.toBytes("age"),Bytes.toBytes(10));
//6.插入数据
student.put(put);
//7.关闭连接
conn.close();
}
//读取数据
@Test
public void getDataFromTable() throws IOException {
//1.配置
Configuration conf = HBaseConfiguration.create();
//ATTENTION PLEASE!!!
//" IP_ADDRESS " 处,输入对应的虚机的IP地址,或者输入对应的虚机的主机名
conf.set("hbase.zookeeper.quorum"," IP_ADDRESS ");
//" 端口号 " 处,输入对应的端口号
conf.set("hbase.zookeeper.property.clientPort"," 端口号 ");
//2.连接
Connection conn = ConnectionFactory.createConnection(conf);
//3.获取table
Table student = conn.getTable(TableName.valueOf("student"));
//4.读取数据,Get
Get get = new Get(Bytes.toBytes("1001"));
//5.获取结果
Result result = student.get(get);
//6.遍历
Cell[] cells = result.rawCells();
for (Cell cell : cells) {
//获取具体的值
System.out.println("rowkey:"+Bytes.toString(CellUtil.cloneRow(cell)));
System.out.println("列族:"+Bytes.toString(CellUtil.cloneFamily(cell)));
System.out.println("列名:"+Bytes.toString(CellUtil.cloneQualifier(cell)));
System.out.println("value:"+Bytes.toString(CellUtil.cloneValue(cell)));
System.out.println("------------------------------------");
}
conn.close();
}
//删除数据
public void dropTable() throws IOException {
//1.配置
Configuration conf = HBaseConfiguration.create();
//ATTENTION PLEASE!!!
//" IP_ADDRESS " 处,输入对应的虚机的IP地址,或者输入对应的虚机的主机名
conf.set("hbase.zookeeper.quorum"," IP_ADDRESS ");
//" 端口号 " 处,输入对应的端口号
conf.set("hbase.zookeeper.property.clientPort"," 端口号 ");
//2.连接
Connection conn = ConnectionFactory.createConnection(conf);
//3.get admin
Admin admin = conn.getAdmin();
//4.禁用表
admin.disableTable(TableName.valueOf("student"));
//5.删除表
admin.deleteTable(TableName.valueOf("student"));
conn.close();
}
}
博客提及HBase开发的依赖,指出version为当前HBase版本,涉及Java相关代码。
882

被折叠的 条评论
为什么被折叠?



