static void createFileForTableObject(Table table, Configuration conf) {
    String filePath = generateTableObjectLocation(table.location(), conf);

    Table serializableTable = SerializableTable.copyOf(table);
    HiveIcebergStorageHandler.checkAndSkipIoConfigSerialization(conf, serializableTable);
    String serialized = SerializationUtil.serializeToBase64(serializableTable);

    OutputFile serializedTableFile = table.io().newOutputFile(filePath);
    try (ObjectOutputStream oos = new ObjectOutputStream(serializedTableFile.createOrOverwrite())) {
      oos.writeObject(serialized);
    } catch (IOException ex) {
      throw new UncheckedIOException(ex);
    }
    LOG.debug("Iceberg table metadata file is created {}", serializedTableFile);
  }
Import files from given partitions to an Iceberg table.
@param sourceLocation location of the HMS table
@param format inputformat class name of the HMS table
@param partitionSpecProxy  list of HMS table partitions wrapped in partitionSpecProxy
@param partitionKeys list of partition keys
@param icebergTableProperties destination iceberg table properties
@param conf a Hadoop configuration
iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveTableUtil.java