pom文件
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-server</artifactId>
<version>2.2.6</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>3.1.4</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-auth</artifactId>
<version>3.1.2</version>
</dependency>
创建表:
public static void createTable(){
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum","node1,node2,node3");
try {
//建立连接
Connection conn = ConnectionFactory.createConnection(conf);
Admin admin = conn.getAdmin();
//添加表描述
HTableDescriptor tableDes = new HTableDescriptor(TableName.valueOf("test11"));
//添加族列
HColumnDescriptor colDesc = new HColumnDescriptor("cf1");
tableDes.addFamily(colDesc);//把族列添加到表
admin.createTable(tableDes);//创建表
} catch (Exception e) {
e.printStackTrace();
}
}
插入数据(修改也是用该方法):
public static void addData(){
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum","node1,node2,node3");
try {
//建立连接
Connection conn = ConnectionFactory.createConnection(conf);
//连接表
Table table = conn.getTable(TableName.valueOf("test11"));
//设置Row Key
Put put = new Put("110".getBytes());
//设置列族名cf1,列名name,列值
put.addColumn("cf1".getBytes(),"name".getBytes(),"aaaa".getBytes());
table.put(put);
} catch (Exception e) {
e.printStackTrace();
}
}
查询数据:
查询指定cell的数据
//获取指定cell数据
public static void getData(){
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum","node1,node2,node3");
try {
//建立连接
Connection conn = ConnectionFactory.createConnection(conf);
//连接表
Table table = conn.getTable(TableName.valueOf("test11"));
//通过Row Key获取指定行
Get get = new Get("110".getBytes());
Result rs = table.get(get);
//通过行指定列,获取cell
Cell cell = rs.getColumnLatestCell("cf1".getBytes(),"name".getBytes());
System.out.println(new String(CellUtil.cloneRow(cell),"utf-8"));
System.out.println(new String(CellUtil.cloneValue(cell),"utf-8"));
} catch (Exception e) {
e.printStackTrace();
}
}
查询指定表的全部数据
//获取指定表的所有数据
public static void getDataByScan(){
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum","node1,node2,node3");
try {
//建立连接
Connection conn = ConnectionFactory.createConnection(conf);
//连接表
Table table = conn.getTable(TableName.valueOf("test11"));
Scan scan = new Scan();
//获取遍历查询的结果
ResultScanner resultScanner = table.getScanner(scan);
//对结果集进行迭代
Iterator its = resultScanner.iterator();
while (its.hasNext()){
Result rs = (Result) its.next();
//通过行指定列,获取cell
Cell cell = rs.getColumnLatestCell("cf1".getBytes(),"name".getBytes());
System.out.println(new String(CellUtil.cloneRow(cell),"utf-8"));
System.out.println(new String(CellUtil.cloneValue(cell),"utf-8"));
}
} catch (Exception e) {
e.printStackTrace();
}
}