Modifying a Table
Function Description
HBase allows you to modify table information using the modifyTable method of org.apache.hadoop.hbase.client.Admin.
Sample Code
The following code snippets are in the testModifyTable method in the HBaseSample class of the com.huawei.bigdata.hbase.examples packet.
public void testModifyTable() { LOG.info("Entering testModifyTable."); // Specify the column family name. byte[] familyName = Bytes.toBytes("education"); Admin admin = null; try { // Instantiate an Admin object. admin = conn.getAdmin(); // Obtain the table descriptor. HTableDescriptor htd = admin.getTableDescriptor(tableName); // Check whether the column family is specified before modification. if (!htd.hasFamily(familyName)) { // Create the column descriptor. HColumnDescriptor hcd = new HColumnDescriptor(familyName); htd.addFamily(hcd); // Disable the table to get the table offline before modifying // the table. admin.disableTable(tableName);//Note [1] // Submit a modifyTable request. admin.modifyTable(tableName, htd); // Enable the table to get the table online after modifying the // table. admin.enableTable(tableName); } LOG.info("Modify table successfully."); } catch (IOException e) { LOG.error("Modify table failed ", e); } finally { if (admin != null) { try { // Close the Admin object. admin.close(); } catch (IOException e) { LOG.error("Close admin failed ", e); } } } LOG.info("Exiting testModifyTable."); }
Note [1] modifyTable takes effect only when a table is disabled.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.