code: public void checkAndCreateTable(String tabName, String colFamName) throws IOException {
          HBaseAdmin hba;
          try {
              hba = new HBaseAdmin(this.getHbcfg());
              if (hba.tableExists(tabName) == false) {
                  logger.debug("creating table " + tabName);
                  final HTableDescriptor tableDescriptor = new HTableDescriptor(tabName);
                  final HColumnDescriptor columnDescriptor = new HColumnDescriptor(colFamName);
  		columnDescriptor.setMaxVersions(MAX_VALUE);
  		tableDescriptor.addFamily(columnDescriptor);
                  hba.createTable(tableDescriptor);
              } else {
                  logger.debug("already existent table " + tabName);
              }
              hba.close();
          } catch (MasterNotRunningException e) {
              throw new IOException(e);
          } catch (ZooKeeperConnectionException e) {
              throw new IOException(e);
          } catch (IOException e) {
              throw new IOException(e);
          }
      }
docs: Checks and/or create table with specific column family
  @param tabName
  @param colFamName
  @throws IOException