private static Map<String, String> writeProperties(
            Table table, FileFormat format, FlinkWriteConf conf) {
        Map<String, String> writeProperties = Maps.newHashMap(table.properties());

        switch (format) {
            case PARQUET:
                writeProperties.put(PARQUET_COMPRESSION, conf.parquetCompressionCodec());
                String parquetCompressionLevel = conf.parquetCompressionLevel();
                if (parquetCompressionLevel != null) {
                    writeProperties.put(PARQUET_COMPRESSION_LEVEL, parquetCompressionLevel);
                }

                break;
            case AVRO:
                writeProperties.put(AVRO_COMPRESSION, conf.avroCompressionCodec());
                String avroCompressionLevel = conf.avroCompressionLevel();
                if (avroCompressionLevel != null) {
                    writeProperties.put(AVRO_COMPRESSION_LEVEL, conf.avroCompressionLevel());
                }

                break;
            case ORC:
                writeProperties.put(ORC_COMPRESSION, conf.orcCompressionCodec());
                writeProperties.put(ORC_COMPRESSION_STRATEGY, conf.orcCompressionStrategy());
                break;
            default:
                throw new IllegalArgumentException(String.format("Unknown file format %s", format));
        }

        return writeProperties;
    }
Based on the {@link FileFormat} overwrites the table level compression properties for the table
write.

@param table The table to get the table level settings
@param format The FileFormat to use
@param conf The write configuration
@return The properties to use for writing
inlong-sort/sort-flink/sort-flink-v1.15/sort-connectors/iceberg/src/main/java/org/apache/inlong/sort/iceberg/sink/FlinkSink.java