static HCatTableInfo valueOf(Table table) throws IOException {
    // Explicitly use {@link org.apache.hadoop.hive.ql.metadata.Table} when getting the schema,
    // but store @{link org.apache.hadoop.hive.metastore.api.Table} as this class is serialized
    // into the job conf.
    org.apache.hadoop.hive.ql.metadata.Table mTable =
      new org.apache.hadoop.hive.ql.metadata.Table(table);
    HCatSchema schema = HCatUtil.extractSchema(mTable);
    StorerInfo storerInfo =
      InternalUtil.extractStorerInfo(table.getSd(), table.getParameters());
    HCatSchema partitionColumns = HCatUtil.getPartitionColumns(mTable);
    return new HCatTableInfo(table.getDbName(), table.getTableName(), schema,
      partitionColumns, storerInfo, table);
  }
create an HCatTableInfo instance from the supplied Hive Table instance
@param table to create an instance from
@return HCatTableInfo
@throws IOException
hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/HCatTableInfo.java