天天看点

初识Hbase:第一个Hbase程序

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.*;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;

public class HelloHBase {
    public static void main(String[] args)  throws Exception{
//定义运行环境及相关配置
        Configuration config = HBaseConfiguration.create();
        config.addResource(new Path(ClassLoader.getSystemResource("hbase-site.xml").toURI()));
        config.addResource(new Path(ClassLoader.getSystemResource("core-site.xml").toURI()));


        try( Connection connection = ConnectionFactory.createConnection(config);
             Admin admin = connection.getAdmin() ){
            // 定义表名
            TableName tname = TableName.valueOf("mytable") ;

            //定义表
            //HTableDescriptor table = new HTableDescriptor(tname) ;
            TableDescriptorBuilder tableDescBuilder = TableDescriptorBuilder.newBuilder(tname);

            //定义列族
           // HColumnDescriptor mycf = new HColumnDescriptor("mycf") ;
            ColumnFamilyDescriptor mycf = ColumnFamilyDescriptorBuilder
                    .newBuilder(Bytes.toBytes("mycf")).build() ;

            tableDescBuilder.setColumnFamily( mycf);
            TableDescriptor table = tableDescBuilder.build();

            //Admin 类是HBase API中负责管理建表、改表、删表等元数据操作的管理接口
            Admin admin = connection.getAdmin() ;
            //  执行建表操作
            admin.createTable( table) ;
        }


    }
}