[
https://issues.apache.org/jira/browse/HBASE-11337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14030046#comment-14030046
]
Misty Stanley-Jones commented on HBASE-11337:
---------------------------------------------
>From JM:
Here you go!
Code to create, update, delete CF and delete. Tested against the same cluster.
Enjoy ;)
JM
{code}
public static void upgradeFrom0 (Configuration config) {
try {
final HBaseAdmin admin = new HBaseAdmin(config);
TableName tableName = TableName.valueOf(TABLE_ASSETMETA);
HTableDescriptor table_assetmeta = new HTableDescriptor(tableName);
table_assetmeta.addFamily(new
HColumnDescriptor(CF_DEFAULT).setCompressionType(Algorithm.SNAPPY));
// Create a new table.
System.out.print("Creating table_assetmeta. ");
admin.createTable(table_assetmeta);
System.out.println(" Done.");
// Update existing table
HColumnDescriptor newColumn = new HColumnDescriptor("NEWCF");
newColumn.setCompactionCompressionType(Algorithm.GZ);
newColumn.setMaxVersions(HConstants.ALL_VERSIONS);
admin.addColumn(tableName, newColumn);
// Disable an existing table
admin.disableTable(tableName);
// Delete an existing column family
admin.deleteColumn(tableName, CF_DEFAULT);
// Delete a table (Need to be disabled first)
admin.deleteTable(tableName);
admin.close();
} catch (Exception e) {
e.printStackTrace();
System.exit(-1);
}
}
{code}
> Document how to create, modify, delete a table using Java
> ---------------------------------------------------------
>
> Key: HBASE-11337
> URL: https://issues.apache.org/jira/browse/HBASE-11337
> Project: HBase
> Issue Type: Bug
> Components: Admin, documentation
> Reporter: Misty Stanley-Jones
> Assignee: Misty Stanley-Jones
> Attachments: HBASE-11337.patch
>
>
> Example code from [~jmspaggi]
> {quote}
> package com.cloudera.sa.hp.hbase.admin;
> 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.TableName;
> import org.apache.hadoop.hbase.client.HBaseAdmin;
> import org.apache.hadoop.hbase.io.compress.Compression.Algorithm;
> import org.apache.hadoop.conf.Configuration;
> import static com.cloudera.sa.hp.hbase.Constants.*;
> public class CreateSchema {
> public static void createIfNotExist(HBaseAdmin admin, HTableDescriptor
> table) throws IOException {
> if (admin.tableExists(table.getName())) {
> admin.disableTable(table.getName());
> admin.deleteTable(table.getName());
> }
> admin.createTable(table);
> }
> public static void main(String[] args) {
> /**********************************************************************/
> /***** Create application schema. *************************************/
> /**********************************************************************/
> Configuration config = HBaseConfiguration.create();
> config.set("hbase.zookeeper.quorum", "192.168.56.102"); // Here we are
> running zookeeper locally
> try {
> final HBaseAdmin admin = new HBaseAdmin(config);
> HTableDescriptor table_assetmeta = new
> HTableDescriptor(TableName.valueOf(TABLE_ASSETMETA));
> table_assetmeta.addFamily(new
> HColumnDescriptor(CF_DEFAULT).setCompressionType(Algorithm.GZ));
> System.out.print("Creating table_assetmeta. ");
> admin.createTable(table_assetmeta);
> System.out.println(" Done.");
> admin.close();
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> }
> {quote}
--
This message was sent by Atlassian JIRA
(v6.2#6252)