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();
}
}