HBase基本操作

这篇博客介绍了如何使用Java API进行HBase操作,包括创建表、添加列族、列出所有表以及删除表。示例代码详细展示了创建表时指定列族,以及通过HBaseAdmin对象管理列族的过程。此外,还涵盖了检查表是否禁用、删除列族和更新数据的基本步骤。
摘要由CSDN通过智能技术生成

Configuration conf = HBaseConfiguration.create();
HBaseAdmin admin = new HBaseAdmin(conf);

//creating table descriptor
HTableDescriptor table = new HTableDescriptor(toBytes(“Table name”));
//creating column family descriptor
HColumnDescriptor family = new HColumnDescriptor(toBytes(“column family”));
//adding column family to HTable
table.addFamily(family);

==>等同于HBase Shell中:create “table name” “column family”

//execute
admin.createTable(table);

import java.io.IOException;

import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.TableName;

import org.apache.hadoop.conf.Configuration;

public class CreateTable {

public static void main(String[] args) throws IOException {

// Instantiating configuration class
Configuration con = HBaseConfiguration.create();

// Instantiating HbaseAdmin class
HBaseAdmin admin = new HBaseAdmin(con);

// Instantiating table descriptor class
HTableDescriptor tableDescriptor = new
TableDescriptor(TableName.valueOf(“emp”));

// Adding column families to table descriptor
tableDescriptor.addFamily(new HColumnDescriptor(“personal”));
tableDescriptor.addFamily(new HColumnDescriptor(“professional”));

// Execute the table through admin
admin.createTable(tableDescriptor);
System.out.println(" Table created ");
}
}原文出自【易百教程】,商业转载请联系作者获得授权,非商业请保留原文链接:https://www.yiibai.com/hbase/hbase_create_table.html#article-start

列出表:
//creating a configuration object
Configuration conf = HBaseConfiguration.create();

//creating HBaseAdmin object
HBaseAdmin admin = new HBaseAdmin(conf);

//getting all the list of tables using HBaseAdmin object
HTableDescriptor[] tableDescriptor = admin.listTables();

for ( int i=0; i<tableDescriptor.length; i++)
{
System.out.println(tableDescriptor[i].getNameAsString());
}

//添加列族
HTableDescriptor columnDescriptor = new HColumnDescriptor(“contactDetails”);

admin.addColumn(“emp”, columnDesciptor);

添加列是网tableDescriptor里添加,列族是往admin里添加,一开始new的也不是一个东西,一个是new TableDescriptor,列族是new HColumnDescriptor

删表delete之前要先禁用表disable

//creating configuration object
Configuration conf = HBaseConfiguration.create();

//creating HBaseAdmin object
HBaseAdmin admin = new HBaseAdmin(conf);

Boolean b = admin.isTableDisabled(“emp”);

if(!b)
{
admin.disableTable(“emp”);
System.out.println(“table disabled”);
}

//删除列族
Configuration conf = new HBaseConfiguration.create();
HBaseAdmin admin = new HBaseAdmin(conf);

admin.deleteColumn(“emp”, “contactDetails”);

public class UpdateData{
public static void main(String[] args) throws IOException {
Configuration conf = Configuration.create();
HBaseAdmin admin = new HBaseAdmin(conf);
HTable hTable = new HTable(conf, “emp”);
Put p = new Put(Bytes.toBytes(“row1”));//无Bytes

    //!!!
    p.add(Bytes.toBytes(“Personal”),
    Bytes.toBytes(“city”),
    Bytes.toBytes(“Delih”));

    hTable.put(p);
    System.out.println(“Update!”);
    hTable.close();
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值