@Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    HCatTableInfo tableInfo = (HCatTableInfo) o;

    if (dataColumns != null ? !dataColumns.equals(tableInfo.dataColumns) : tableInfo.dataColumns != null)
      return false;
    if (databaseName != null ? !databaseName.equals(tableInfo.databaseName) : tableInfo.databaseName != null)
      return false;
    if (partitionColumns != null ? !partitionColumns.equals(tableInfo.partitionColumns) : tableInfo.partitionColumns != null)
      return false;
    if (storerInfo != null ? !storerInfo.equals(tableInfo.storerInfo) : tableInfo.storerInfo != null) return false;
    if (table != null ? !table.equals(tableInfo.table) : tableInfo.table != null) return false;
    if (tableName != null ? !tableName.equals(tableInfo.tableName) : tableInfo.tableName != null) return false;

    return true;
  }
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