Java API对HBase中数据库表进行操作

一、安装好Hbase后,首先启动hdfs和yarn,然后启动Hbase

~$ start-dfs.sh
~$ start-yarn.sh

~$ start-hbase.sh

二、jps查看节点

 三、输入hbase shell,进入hbase shell

四、打开eclipse,导入外部包(client-facing-thirdparty文件夹下所有,lib页面中文件夹以外所有外部包

五、下面的代码分别演示如何采用Java API去创建表、插入数据、获取数据、查询数据等(代码中的“qiangzi-virtual-machine”改为你的hostname)。

package HbaseApi;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.util.Bytes;
public class Hbasejava {
//删除表格
	private void dropTable() throws Exception{
		Configuration conf = new Configuration();
		conf.set("hbase.zookeeper.quorum", "qiangzi-virtual-machine");
		Connection connection = ConnectionFactory.createConnection(conf);
		HBaseAdmin admin = (HBaseAdmin) connection.getAdmin();
		admin.disableTable(TableName.valueOf("student"));
		admin.deleteTable(TableName.valueOf("student"));
		admin.close();
		
	}
//获取数据
	private void getData() throws Exception{
		Configuration conf = new Configuration();
		conf.set("hbase.zookeeper.quorum", "qiangzi-virtual-machine");
		Connection connection = ConnectionFactory.createConnection(conf);
		Table table = connection.getTable(TableName.valueOf("student"));
		Get get = new Get(Bytes.toBytes("stu001"));
		Result record = table.get(get);
		String name = Bytes.toString(record.getValue(Bytes.toBytes("info"),Bytes.toBytes("name")));
		System.out.println(name);
		table.close();
		
	}
//插入数据
	private void insertData() throws Exception{
		Configuration conf = new Configuration();
		conf.set("hbase.zookeeper.quorum", "qiangzi-virtual-machine");
		Connection connection = ConnectionFactory.createConnection(conf);
		Table table = connection.getTable(TableName.valueOf("student"));
		Put put = new Put(Bytes.toBytes("stu001"));
		put.addColumn(Bytes.toBytes("info"),Bytes.toBytes("name"),Bytes.toBytes("Tom"));
		table.put(put);
		table.close();
	}
//创建表格
	private void createTable() throws Exception{
		Configuration conf = new Configuration();
		conf.set("hbase.zookeeper.quorum", "qiangzi-virtual-machine");
		Connection connection = ConnectionFactory.createConnection(conf);
		HBaseAdmin admin = (HBaseAdmin) connection.getAdmin();
		HTableDescriptor htd = new HTableDescriptor(TableName.valueOf("student"));
		HColumnDescriptor h1 = new HColumnDescriptor("info");
		HColumnDescriptor h2 = new HColumnDescriptor("grade");
		htd.addFamily(h1);
		htd.addFamily(h2);
		admin.createTable(htd);
		admin.close();	
	}
public static void main(String[] args) throws Exception{
	Hbasejava api = new Hbasejava();
    //创建表格
	api.createTable();
    //插入数据
	api.insertData();
    //获取数据
	api.getData();
    //删除表格
	api.dropTable();
	System.out.println("successs!");
}
 
}

六、运行结果

1.创建表格

2.插入数据

3.获取数据

4.删除表格

猜你喜欢

转载自blog.csdn.net/m0_74972727/article/details/130330117