Class OSSRecoverableWriter
java.lang.Object
org.apache.flink.fs.osshadoop.writer.OSSRecoverableWriter
- All Implemented Interfaces:
org.apache.flink.core.fs.RecoverableWriter
public class OSSRecoverableWriter
extends Object
implements org.apache.flink.core.fs.RecoverableWriter
An implementation of the
RecoverableWriter against OSS.
This implementation makes heavy use of MultiPart Uploads in OSS to persist intermediate data as soon as possible.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.flink.core.fs.RecoverableWriter
org.apache.flink.core.fs.RecoverableWriter.CommitRecoverable, org.apache.flink.core.fs.RecoverableWriter.ResumeRecoverable -
Constructor Summary
ConstructorsConstructorDescriptionOSSRecoverableWriter(OSSAccessor ossAccessor, long ossUploadPartSize, int streamConcurrentUploads, Executor executor, org.apache.flink.util.function.FunctionWithException<File, org.apache.flink.core.fs.RefCountedFileWithStream, IOException> cachedFileCreator) -
Method Summary
Modifier and TypeMethodDescriptionbooleancleanupRecoverableState(org.apache.flink.core.fs.RecoverableWriter.ResumeRecoverable resumable) org.apache.flink.core.io.SimpleVersionedSerializer<org.apache.flink.core.fs.RecoverableWriter.CommitRecoverable>org.apache.flink.core.io.SimpleVersionedSerializer<org.apache.flink.core.fs.RecoverableWriter.ResumeRecoverable>org.apache.flink.core.fs.RecoverableFsDataOutputStreamopen(org.apache.flink.core.fs.Path path) recover(org.apache.flink.core.fs.RecoverableWriter.ResumeRecoverable resumable) org.apache.flink.core.fs.RecoverableFsDataOutputStream.CommitterrecoverForCommit(org.apache.flink.core.fs.RecoverableWriter.CommitRecoverable resumable) booleanboolean
-
Constructor Details
-
OSSRecoverableWriter
public OSSRecoverableWriter(OSSAccessor ossAccessor, long ossUploadPartSize, int streamConcurrentUploads, Executor executor, org.apache.flink.util.function.FunctionWithException<File, org.apache.flink.core.fs.RefCountedFileWithStream, IOException> cachedFileCreator)
-
-
Method Details
-
open
public org.apache.flink.core.fs.RecoverableFsDataOutputStream open(org.apache.flink.core.fs.Path path) throws IOException - Specified by:
openin interfaceorg.apache.flink.core.fs.RecoverableWriter- Throws:
IOException
-
recover
public OSSRecoverableFsDataOutputStream recover(org.apache.flink.core.fs.RecoverableWriter.ResumeRecoverable resumable) throws IOException - Specified by:
recoverin interfaceorg.apache.flink.core.fs.RecoverableWriter- Throws:
IOException
-
requiresCleanupOfRecoverableState
public boolean requiresCleanupOfRecoverableState()- Specified by:
requiresCleanupOfRecoverableStatein interfaceorg.apache.flink.core.fs.RecoverableWriter
-
cleanupRecoverableState
public boolean cleanupRecoverableState(org.apache.flink.core.fs.RecoverableWriter.ResumeRecoverable resumable) throws IOException - Specified by:
cleanupRecoverableStatein interfaceorg.apache.flink.core.fs.RecoverableWriter- Throws:
IOException
-
recoverForCommit
public org.apache.flink.core.fs.RecoverableFsDataOutputStream.Committer recoverForCommit(org.apache.flink.core.fs.RecoverableWriter.CommitRecoverable resumable) throws IOException - Specified by:
recoverForCommitin interfaceorg.apache.flink.core.fs.RecoverableWriter- Throws:
IOException
-
getCommitRecoverableSerializer
public org.apache.flink.core.io.SimpleVersionedSerializer<org.apache.flink.core.fs.RecoverableWriter.CommitRecoverable> getCommitRecoverableSerializer()- Specified by:
getCommitRecoverableSerializerin interfaceorg.apache.flink.core.fs.RecoverableWriter
-
getResumeRecoverableSerializer
public org.apache.flink.core.io.SimpleVersionedSerializer<org.apache.flink.core.fs.RecoverableWriter.ResumeRecoverable> getResumeRecoverableSerializer()- Specified by:
getResumeRecoverableSerializerin interfaceorg.apache.flink.core.fs.RecoverableWriter
-
supportsResume
public boolean supportsResume()- Specified by:
supportsResumein interfaceorg.apache.flink.core.fs.RecoverableWriter
-