Modifying a Table
Function Description
In HBase, table information is modified using the modifyTable method of org.apache.hadoop.hbase.client.Admin.
Sample Code
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);
// Submit a modifyTable request.
admin.modifyTable(tableName, htd); //Note [1]
// 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.");
} Precautions
Note [1] Only after the disableTable API is called, the table can be modified by calling the modifyTable API. Then, call the enableTable API to enable the table again.
Last Article: Deleting a Table
Next Article: Inserting Data
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.