private static SortOrder getSortOrder(Properties props, Schema schema) {
    String sortOrderJsonString = props.getProperty(TableProperties.DEFAULT_SORT_ORDER);
    return Strings.isNullOrEmpty(sortOrderJsonString) ?
        SortOrder.unsorted() : SortOrderParser.fromJson(schema, sortOrderJsonString);
  }
Creates an Iceberg table using the catalog specified by the configuration.
<p>
The properties should contain the following values:
<ul>
<li>Table identifier ({@link Catalogs#NAME}) or table path ({@link Catalogs#LOCATION}) is required
<li>Table schema ({@link InputFormatConfig#TABLE_SCHEMA}) is required
<li>Partition specification ({@link InputFormatConfig#PARTITION_SPEC}) is optional. Table will be unpartitioned if
 not provided
</ul><p>
Other properties will be handled over to the Table creation. The controlling properties above will not be
propagated.
@param conf a Hadoop conf
@param props the controlling properties
@return the created Iceberg table
iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/Catalogs.java