@Override
        public PendingFile recoverPendingFile(PendingFileRecoverable pendingFileRecoverable) throws IOException {
            if (!(pendingFileRecoverable instanceof HadoopPathBasedPartFileWriter.HadoopPathBasedPendingFileRecoverable)) {
                throw new UnsupportedOperationException("Only HadoopPathBasedPendingFileRecoverable is supported.");
            }

            HadoopPathBasedPendingFileRecoverable hadoopRecoverable =
                    (HadoopPathBasedPendingFileRecoverable) pendingFileRecoverable;
            return new HadoopPathBasedPendingFile(
                    fileCommitterFactory.recoverForCommit(configuration, hadoopRecoverable.getTargetFilePath(),
                            hadoopRecoverable.getTempFilePath()),
                    hadoopRecoverable.getSize());
        }
Factory to create {@link HadoopPathBasedPartFileWriter}. This writer does not support
snapshotting the in-progress files. For pending files, it stores the target path and the
staging file path into the state.
inlong-sort/sort-flink/sort-flink-v1.13/sort-connectors/hive/src/main/java/org/apache/inlong/sort/hive/filesystem/HadoopPathBasedPartFileWriter.java