import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.filter.Filter;
import org.apache.hadoop.hbase.filter.PageFilter;
import org.apache.hadoop.hbase.util.Bytes;
import java.io.IOException;
/**
* Hbase 创建表
*/
public class CreateTableInHbase {
public static void main(String[] args) throws IOException {
Configuration conf = HBaseConfiguration.create();
Connection connection = ConnectionFactory.createConnection(conf);
//管理员对象
Admin admin = connection.getAdmin();
//表名
TableName tableName = TableName.valueOf("testtable2");
//表描述
HTableDescriptor desc = new HTableDescriptor(tableName);
//列族描述
HColumnDescriptor coldef = new HColumnDescriptor(Bytes.toBytes("colfam1"));
//表加入列族
desc.addFamily(coldef);
//创建表
admin.createTable(desc);
//校验表是否可用
boolean avail = admin.isTableAvailable(tableName);
System.out.println("Table available: "+avail);
}
}
/**
preHell:
hbase(main):001:0> list
TABLE
user
1 row(s) in 0.2670 seconds
=> ["user"]
====================================>
Java output:
Table available: true
========
nextShell:
hbase(main):005:0> list
TABLE
testtable2
user
2 row(s) in 0.0070 seconds
hbase(main):006:0> desc 'testtable2'
Table testtable2 is ENABLED
testtable2
COLUMN FAMILIES DESCRIPTION
{NAME => 'colfam1', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0',
TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true
**/