给我一段hbase创建一张名为‘weijing’的表,主键为‘cf’的代码
时间: 2024-02-03 14:15:04 浏览: 63
下面是使用Java API创建一张名为‘weijing’的表,主键为‘cf’的代码:
```java
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.CompressionAlgorithm;
import org.apache.hadoop.hbase.regionserver.BloomType;
import org.apache.hadoop.hbase.util.Bytes;
public class HBaseCreateTable {
public static void main(String[] args) throws Exception {
// 创建HBase配置对象
Configuration conf = HBaseConfiguration.create();
// 指定Zookeeper地址,多个地址以英文逗号分隔
conf.set("hbase.zookeeper.quorum", "localhost");
// 创建HBase连接对象
Connection conn = ConnectionFactory.createConnection(conf);
// 创建HBase管理员对象
Admin admin = conn.getAdmin();
// 创建表描述器对象
TableName tableName = TableName.valueOf("weijing");
TableDescriptor tableDescriptor = TableDescriptorBuilder.newBuilder(tableName)
.setColumnFamily(TableDescriptorBuilder.newBuilder(Bytes.toBytes("cf"))
.setCompressionType(CompressionAlgorithm.GZ)
.setBloomFilterType(BloomType.ROW)
.build())
.build();
// 创建表
admin.createTable(tableDescriptor);
// 关闭连接
admin.close();
conn.close();
}
}
```
其中,`setColumnFamily`方法用于设置表的列族,`setCompressionType`方法用于设置列族的压缩算法,`setBloomFilterType`方法用于设置列族的布隆过滤器类型。
阅读全文