hbase数据库scan操作_hbase数据库操作

2.请编程实现以下功能:

(1) createTable(String tableName, String[] fields)

创建表,参数 tableName 为表的名称,字符串数组 fields 为存储记录各个字段名称的数组。

要求当 HBase 已经存在名为 tableName 的表的时候,先删除原有的表,然后再创建新的表。

package cn.wl.edu.hbase;

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.Admin;

import org.apache.hadoop.hbase.client.Connection;

import org.apache.hadoop.hbase.client.ConnectionFactory;

import java.io.IOException;public classCreateTable {public staticConfiguration configuration;public staticConnection connection;public staticAdmin admin;public static voidcreateTable(String tableName, String[] fields)

throws IOException {

init();

TableName tablename=TableName.valueOf(tableName);if(admin.tableExists(tablename)) {

System.out.println("table is exists!");

}

HTableDescriptor hTableDescriptor= newHTableDescriptor(tablename);for(String str : fields) {

HColumnDescriptor hColumnDescriptor= newHColumnDescriptor(str);

hTableDescriptor.addFamily(hColumnDescriptor);

}

admin.createTable(hTableDescriptor);

close();

}public static voidinit() {

configuration=HBaseConfiguration.create();

configuration.set("hbase.rootdir", "hdfs://localhost:9000/hbase");try{

connection=ConnectionFactory.createConnection(configuration);

admin=connection.getAdmin();

}catch(IOException e) {

e.printStackTrace();

}

}public static voidclose() {try{if (admin != null) {

admin.close();

}if (null !=connection) {

connection.close();

}

}catch(IOException e) {

e.printStackTrace();

}

}public static voidmain(String[] args) {

String[] fields= { "Score"};try{

createTable("person", fields);

}catch(IOException e) {

e.printStackTrace();

}

}

}

(2)addRecord(String tableName, String r

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是使用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`方法用于设置列族的布隆过滤器类型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值