hbase通过APl创建表
时间: 2023-09-01 22:07:31 浏览: 97
hbase 表设计
4星 · 用户满意度95%
在HBase中通过API创建表的步骤如下:
1. 创建HBase配置对象
```java
Configuration config = HBaseConfiguration.create();
```
2. 创建HBase连接对象
```java
Connection connection = ConnectionFactory.createConnection(config);
```
3. 获取Admin对象
```java
Admin admin = connection.getAdmin();
```
4. 创建表描述符对象
```java
HTableDescriptor tableDescriptor = new HTableDescriptor(TableName.valueOf("table_name"));
```
5. 添加列族
```java
HColumnDescriptor columnFamily = new HColumnDescriptor("column_family");
tableDescriptor.addFamily(columnFamily);
```
6. 创建表
```java
admin.createTable(tableDescriptor);
```
完整的代码示例:
```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.HTableDescriptor;
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 config = HBaseConfiguration.create();
// 创建HBase连接对象
Connection connection = ConnectionFactory.createConnection(config);
// 获取Admin对象
Admin admin = connection.getAdmin();
// 创建表描述符对象
HTableDescriptor tableDescriptor = new HTableDescriptor(TableName.valueOf("table_name"));
// 添加列族
HColumnDescriptor columnFamily = new HColumnDescriptor("column_family");
columnFamily.setBloomFilterType(BloomType.ROW);
columnFamily.setCompressionType(Algorithm.SNAPPY);
columnFamily.setMaxVersions(1);
tableDescriptor.addFamily(columnFamily);
// 创建表
admin.createTable(tableDescriptor);
// 关闭连接
admin.close();
connection.close();
}
}
```
注意:在创建表之前需要先创建好HBase的命名空间。可以使用Admin对象的`createNamespace(NamespaceDescriptor descriptor)`方法创建命名空间。
阅读全文