private static String catalogImpl(String metastoreType, Map<String, String> catalogProperties) {
    String catalogImpl;
    switch (metastoreType) {
      case CatalogMetaProperties.CATALOG_TYPE_HADOOP:
      case CatalogMetaProperties.CATALOG_TYPE_GLUE:
      case CatalogMetaProperties.CATALOG_TYPE_CUSTOM:
        catalogImpl = MIXED_ICEBERG_CATALOG_IMP;
        break;
      case CatalogMetaProperties.CATALOG_TYPE_HIVE:
        Set<TableFormat> tableFormats = CatalogUtil.tableFormats(metastoreType, catalogProperties);
        if (tableFormats.contains(TableFormat.MIXED_HIVE)) {
          catalogImpl = HIVE_CATALOG_IMPL;
        } else {
          catalogImpl = MIXED_ICEBERG_CATALOG_IMP;
        }
        break;
      case CatalogMetaProperties.CATALOG_TYPE_AMS:
        catalogImpl = INTERNAL_CATALOG_IMPL;
        break;
      default:
        throw new IllegalStateException("unsupported metastore type:" + metastoreType);
    }
    return catalogImpl;
  }
get mixed-format catalog implement class name

@param metastoreType - metastore type
@param catalogProperties - catalog properties
@return class name for catalog
amoro-format-iceberg/src/main/java/org/apache/amoro/mixed/CatalogLoader.java