hbase的创建表java代码
时间: 2023-07-28 08:06:57 浏览: 88
java操作Hbase之实现表的创建删除源码
以下是使用Java API创建HBase表的示例代码:
```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.Compression.Algorithm;
import org.apache.hadoop.hbase.regionserver.BloomType;
import org.apache.hadoop.hbase.util.Bytes;
public class HBaseCreateTableExample {
private static Configuration conf = null;
private static Connection conn = null;
static {
conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "localhost"); // ZooKeeper的地址
conf.set("hbase.zookeeper.property.clientPort", "2181"); // ZooKeeper的端口号
try {
conn = ConnectionFactory.createConnection(conf);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
try {
Admin admin = conn.getAdmin(); // 获取Admin对象
// 构建表描述符
TableName tableName = TableName.valueOf("test_table");
TableDescriptor tableDescriptor = TableDescriptorBuilder.newBuilder(tableName)
.setColumnFamily(TableDescriptorBuilder.newBuilder(Bytes.toBytes("cf1"))
.setCompressionType(Algorithm.NONE).setBloomFilterType(BloomType.ROWCOL).build())
.setColumnFamily(TableDescriptorBuilder.newBuilder(Bytes.toBytes("cf2"))
.setCompressionType(Algorithm.NONE).setBloomFilterType(BloomType.ROWCOL).build())
.build();
// 创建表
admin.createTable(tableDescriptor);
admin.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在这个示例中,我们创建了一个HBaseConfiguration对象,并通过它设置了ZooKeeper的地址和端口号。然后我们通过ConnectionFactory来创建一个Connection对象。接着我们使用该Connection对象来获取Admin对象,然后构建了一个TableDescriptor对象,里面包含了表名以及列族的定义。最后我们使用Admin对象来创建表。最后我们关闭了Admin和Connection对象。
阅读全文