import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.TableDescriptor;
import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
import org.apache.hadoop.hbase.io.compress.Compression.Algorithm;
import org.apache.hadoop.hbase.regionserver.BloomType;
import org.apache.hadoop.hbase.util.Bytes;
public class CreateHBaseTable {
public static void main(String[] args) throws Exception {
// 创建HBase配置对象
Configuration conf = HBaseConfiguration.create();
// 创建HBase连接
Connection connection = ConnectionFactory.createConnection(conf);
// 创建HBase管理对象
Admin admin = connection.getAdmin();
// 表名
TableName tableName = TableName.valueOf("test_table");
// 构建表描述符
TableDescriptor tableDescriptor = TableDescriptorBuilder.newBuilder(tableName)
.setColumnFamily(TableDescriptorBuilder.newColumnFamily(Bytes.toBytes("cf1"))
.setBloomFilterType(BloomType.ROW)
.setCompressionType(Algorithm.GZ))
.setColumnFamily(TableDescriptorBuilder.newColumnFamily(Bytes.toBytes("cf2"))
.setBloomFilterType(BloomType.ROW)
.setCompressionType(Algorithm.GZ))
.build();
// 创建表
if (!admin.tableExists(tableName)) {
admin.createTable(tableDescriptor);
System.out.println("Table " + tableName + " created successfully.");
} else {
System.out.println("Table " + tableName + " already exists.");
}
// 关闭资源
admin.close();
connection.close();
}
}