public static void syncHiveSchemaToMixedTable(MixedTable table, HMSClientPool hiveClient) {
    try {
      if (!HiveTableUtil.checkExist(hiveClient, table.id())) {
        LOG.warn("Hive table {} does not exist, try to skip sync schema to amoro", table.id());
        return;
      }
      Table hiveTable =
          hiveClient.run(
              client -> client.getTable(table.id().getDatabase(), table.id().getTableName()));
      Schema hiveSchema =
          HiveSchemaUtil.convertHiveSchemaToIcebergSchema(
              hiveTable,
              table.isKeyedTable()
                  ? table.asKeyedTable().primaryKeySpec().fieldNames()
                  : new ArrayList<>());
      UpdateSchema updateSchema = table.updateSchema();
      boolean update =
          updateStructSchema(
              table.id(), updateSchema, null, table.schema().asStruct(), hiveSchema.asStruct());
      if (update) {
        updateSchema.commit();
      }
    } catch (TException | InterruptedException e) {
      throw new RuntimeException("Failed to get hive table:" + table.id(), e);
    }
  }
Synchronize the schema change of the hive table to mixed-hive table

@param table mixed-hive table to accept the schema change
@param hiveClient hive client
amoro-format-mixed/amoro-mixed-hive/src/main/java/org/apache/amoro/hive/utils/HiveMetaSynchronizer.java