了解HBase基础知识学习(一)

自律成为习惯,优秀自然而然。
放轻松以下是hbase最基础的知识哦,先来创建个项目,接着让我们来开启hbase的学习之旅吧。

HBase的API编程

项目创建

步骤一
创建一个java Project项目工程,输入项目的名称。
了解HBase基础知识学习(一)_第1张图片
步骤二
在项目里面创建新的文件夹lib。
了解HBase基础知识学习(一)_第2张图片
步骤三
将Jar包(在安装目录lib中,下载到本地)
把项目工程中需要的jar包复制到新建的lib文件夹中,选择lib文件夹的所有jar包,右键:Build Path–>Add to Build Path
在这里插入图片描述
步骤四
在项目的src下面新建package和class。
了解HBase基础知识学习(一)_第3张图片

程序的编写

1、先建立连接

HBaseDeom baseStorage=new HBaseDeom();
Configuration conf=HBaseConfiguration.create();
//设置
conf.set("hbase.zookeeper.quorum","192.168.100.10");
conf.set("hbase.zookeeper.property.clientPor","2181");
conf.set("zookeeper.znode.parent","/hbase");
connection=ConnectionFactory.createConnection(conf);
admin=connection.getAdmin();
baseStorage.createTable("students","grade,course,department");

2、建表
通过Admin中的createTable方法来创建表

	public static void createTable(String tablename,String families) throws IOException {
		TableName tableName=TableName.valueOf(tablename);
		if(!admin.tableExists(tableName)){
			System.out.println("表创建start");
			HTableDescriptor hTableDescriptor=new HTableDescriptor(tableName);
			//列族是否是用“,”分开
			for(String fam:families.split(",")){
				HColumnDescriptor family=new HColumnDescriptor(fam);
				hTableDescriptor.addFamily(family);
			}
			//创建表
			admin.createTable(hTableDescriptor);
			System.out.println("表创建成功!");
		}else{
			System.out.println("表已经存在!");
		}
	}

3、查询表名
通过使用Admin的listTable方法来查询到HBase数据库中的表。

	public static void findTable(){
		HTableDescriptor[] tableDescriptor=null;
		try {
		//获取所有的数据库表
			tableDescriptor=admin.listTables();
			for(int i=0;i

4、向表中插入数据
创建一个Put对象,该Put对象主要是用来指定给哪一个列增加数据,然后通过调用HTable.put(Put)来提交。
注意::在创建Put对象之前要指定一个Row(行值),在构造Put对象的时候作为参数传入。

public lstatic insetrData(String tableName,String rowKey,String family,String qualifier,String value) throws IOException{
//建立连接
Connection conn=ConnectionFactory.createConnection(conf);
//建立表连接
Table table=conn.getTable(TableName.valueOf(tablename));
//用行键实例化Put
Put put =new Put(rowKey.getBytes());
//指定列族名、列名和值
put.addColumn(family.getBytes(),qualifier.getBytes(),value.getBytes());
//执行并关闭表与连接
table.put(put);
table.close();
conn.close();
}

5、获取数据
创建Get对象,使用Get对象与Put对象基本一样都有几个构造函数,所以通常的创建时要传入Row(行值),从而获取第几行的数据。同样是通过调用HTable.get(Get)。

public lstatic readData(String tableName,String rowKey,String family,String qualifier) throws IOException{
//建立连接
Connection conn=ConnectionFactory.createConnection(conf);
//建立表连接
Table table=conn.getTable(TableName.valueOf(tablename));
//用行键实例化Put
Get get=new Get(rowKey.getBytes());
//指定列族名、列名和值
get.addColumn(family.getBytes(),qualifier.getBytes());
//执行并返回结果和取出结果
Result result=table.get(get);
String value=Bytes.toString(result.getValue(family.getBytes(),qualifier.getBytes()));
//执行并关闭表与连接
table.put(put);
table.close();
conn.close();
}

6、删除表
使用Admin来删除记录,通过调用admin.disableTable(table)和admin.deleteTable(table)。

	public static void deletedata(String tableName) throws IOException{
		TableName table = TableName.valueOf(tableName);
		if(admin.tableExists(table)){
			admin.disableTable(table);
			admin.deleteTable(table);
			System.out.println("删除表成功!");
		}else{
			System.out.println("没有发现这个表!");
		}	
	}

感谢您的观看,你的支持是我最大的动力✌。
如有建议望您指导,虚心请求学习。

你可能感兴趣的:(了解HBase基础知识学习(一))