虚拟机环境下使用java访问hbase进行表操作2

1:创建student表,表结构包含info和course两个列族

java代码:

package myhbase;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;  //导入hadoop和hbase的环境配置

import org.apache.hadoop.hbase.*;//导入hbase工具

import org.apache.hadoop.hbase.client.*;//导入hbase客户端接口

import org.apache.hadoop.hbase.util.Bytes;

public class createTable{

  public static Configuration configuration;//创建全局变量configuration用来管理配置信息

  public static Connection connection;//创建全局变量connection用来管理hbase的连接信息

  public static Admin admin;//创建全局变量admin管理hbase数据库的表信息

  public static void main(String[] args){

    

  }

  public void static getconnect()throws IOException{                         //创建连接方法

    configuration = HBaseConfiguration.create();//使用默认的hbase配置文件创建configuration

    configuration.set("hbase.rootdir","hdfs://localhost:9000/hbase");//设置hbase数据库的存储路径

    try{

      connection=ConnectionFactory.CreateConnection(configuration);//创建hbase数据库的连接

      admin=connection.getAdmin();//获取连接后的表信息

    }catch(IOException e){

      e.printStackTrace();

    } 

  }

  public void static createTable(String mytableName,string[] colFamily){           //         创建表的方法

    TableName tableName = TableName.valueOf(mytableName);//获得当前表格的名字实列

    if(admin.tableExist(tableName)){ //判断要创建的表是否存在
      System.err.println("table exist");

    }

    else{

      HTableDescriptor hTableDescriptor = new HTableDescriptor(mytableName); //实列化一个描述表结构和表名的对象

      for(String str:colFamily){

        hTableDescriptor.addFamily(new HTableColumnFamily(str));   //直接根据默认属性实列化一个描述列族信息的对象添加列族

      }

      admin.createTable(hTableDescriptor);//创建表

      System.err.println("create table success");

    }

}