Package org.apache.flink.state.forst.fs
Class ForStFlinkFileSystem
java.lang.Object
org.apache.flink.core.fs.FileSystem
org.apache.flink.state.forst.fs.ForStFlinkFileSystem
- All Implemented Interfaces:
Closeable,AutoCloseable,org.apache.flink.core.fs.IFileSystem
A
FileSystem delegates some requests to file system loaded by Flink FileSystem mechanism.
All methods in this class maybe used by ForSt, please start a discussion firstly if it has to be modified.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.apache.flink.core.fs.FileSystem
org.apache.flink.core.fs.FileSystem.FSKey, org.apache.flink.core.fs.FileSystem.WriteMode -
Constructor Summary
ConstructorsConstructorDescriptionForStFlinkFileSystem(org.apache.flink.core.fs.FileSystem delegateFS, String remoteBase, String localBase, FileBasedCache fileBasedCache) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()create(org.apache.flink.core.fs.Path path) Create ByteBufferWritableFSDataOutputStream from specific path which supports to write data to ByteBuffer withFileSystem.WriteMode.OVERWRITEmode.create(org.apache.flink.core.fs.Path dbFilePath, org.apache.flink.core.fs.FileSystem.WriteMode overwriteMode) booleandelete(org.apache.flink.core.fs.Path path, boolean recursive) booleanexists(org.apache.flink.core.fs.Path f) static ForStFlinkFileSystemReturns a reference to theFileSysteminstance for accessing the file system identified by the givenURI.static ForStFlinkFileSystemget(URI uri, org.apache.flink.core.fs.Path localBase, FileBasedCache fileBasedCache) org.apache.flink.core.fs.FileSystemstatic FileBasedCachegetFileBasedCache(org.apache.flink.configuration.ReadableConfig config, org.apache.flink.core.fs.Path cacheBase, org.apache.flink.core.fs.Path remoteForStPath, long cacheCapacity, long cacheReservedSize, org.apache.flink.metrics.MetricGroup metricGroup) org.apache.flink.core.fs.BlockLocation[]getFileBlockLocations(org.apache.flink.core.fs.FileStatus file, long start, long len) org.apache.flink.core.fs.FileStatusgetFileStatus(org.apache.flink.core.fs.Path path) org.apache.flink.core.fs.PathgetMappingEntry(org.apache.flink.core.fs.Path path) getUri()org.apache.flink.core.fs.PathvoidgiveUpOwnership(org.apache.flink.core.fs.Path path, org.apache.flink.runtime.state.StreamStateHandle stateHandle) booleanintintlink(org.apache.flink.core.fs.Path src, org.apache.flink.core.fs.Path dst) org.apache.flink.core.fs.FileStatus[]listStatus(org.apache.flink.core.fs.Path path) booleanmkdirs(org.apache.flink.core.fs.Path path) open(org.apache.flink.core.fs.Path dbFilePath) open(org.apache.flink.core.fs.Path dbFilePath, int bufferSize) voidregisterReusedRestoredFile(String key, org.apache.flink.runtime.state.StreamStateHandle stateHandle, org.apache.flink.core.fs.Path dbFilePath) booleanrename(org.apache.flink.core.fs.Path src, org.apache.flink.core.fs.Path dst) Methods inherited from class org.apache.flink.core.fs.FileSystem
create, create, createRecoverableWriter, createRecoverableWriter, getDefaultBlockSize, getDefaultFsUri, getLocalFileSystem, getUnguardedFileSystem, initialize, initialize, initOutPathDistFS, initOutPathLocalFSMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.flink.core.fs.IFileSystem
canCopyPaths
-
Constructor Details
-
ForStFlinkFileSystem
public ForStFlinkFileSystem(org.apache.flink.core.fs.FileSystem delegateFS, String remoteBase, String localBase, @Nullable FileBasedCache fileBasedCache)
-
-
Method Details
-
get
Returns a reference to theFileSysteminstance for accessing the file system identified by the givenURI.- Parameters:
uri- theURIidentifying the file system.- Returns:
- a reference to the
FileSysteminstance for accessing the file system identified by the givenURI. - Throws:
IOException- thrown if a reference to the file system instance could not be obtained.
-
get
public static ForStFlinkFileSystem get(URI uri, org.apache.flink.core.fs.Path localBase, FileBasedCache fileBasedCache) throws IOException - Throws:
IOException
-
getFileBasedCache
public static FileBasedCache getFileBasedCache(org.apache.flink.configuration.ReadableConfig config, org.apache.flink.core.fs.Path cacheBase, org.apache.flink.core.fs.Path remoteForStPath, long cacheCapacity, long cacheReservedSize, org.apache.flink.metrics.MetricGroup metricGroup) throws IOException - Throws:
IOException
-
getDelegateFS
public org.apache.flink.core.fs.FileSystem getDelegateFS() -
getRemoteBase
-
create
public ByteBufferWritableFSDataOutputStream create(org.apache.flink.core.fs.Path path) throws IOException Create ByteBufferWritableFSDataOutputStream from specific path which supports to write data to ByteBuffer withFileSystem.WriteMode.OVERWRITEmode.- Parameters:
path- The file path to write to.- Returns:
- The stream to the new file at the target path.
- Throws:
IOException- Thrown, if the stream could not be opened because of an I/O, or because a file already exists at that path and the write mode indicates to not overwrite the file.
-
create
public ByteBufferWritableFSDataOutputStream create(org.apache.flink.core.fs.Path dbFilePath, org.apache.flink.core.fs.FileSystem.WriteMode overwriteMode) throws IOException - Specified by:
createin interfaceorg.apache.flink.core.fs.IFileSystem- Specified by:
createin classorg.apache.flink.core.fs.FileSystem- Throws:
IOException
-
open
public ByteBufferReadableFSDataInputStream open(org.apache.flink.core.fs.Path dbFilePath, int bufferSize) throws IOException - Specified by:
openin interfaceorg.apache.flink.core.fs.IFileSystem- Specified by:
openin classorg.apache.flink.core.fs.FileSystem- Throws:
IOException
-
open
public ByteBufferReadableFSDataInputStream open(org.apache.flink.core.fs.Path dbFilePath) throws IOException - Specified by:
openin interfaceorg.apache.flink.core.fs.IFileSystem- Specified by:
openin classorg.apache.flink.core.fs.FileSystem- Throws:
IOException
-
rename
public boolean rename(org.apache.flink.core.fs.Path src, org.apache.flink.core.fs.Path dst) throws IOException - Specified by:
renamein interfaceorg.apache.flink.core.fs.IFileSystem- Specified by:
renamein classorg.apache.flink.core.fs.FileSystem- Throws:
IOException
-
getWorkingDirectory
public org.apache.flink.core.fs.Path getWorkingDirectory()- Specified by:
getWorkingDirectoryin interfaceorg.apache.flink.core.fs.IFileSystem- Specified by:
getWorkingDirectoryin classorg.apache.flink.core.fs.FileSystem
-
getHomeDirectory
public org.apache.flink.core.fs.Path getHomeDirectory()- Specified by:
getHomeDirectoryin interfaceorg.apache.flink.core.fs.IFileSystem- Specified by:
getHomeDirectoryin classorg.apache.flink.core.fs.FileSystem
-
getUri
- Specified by:
getUriin interfaceorg.apache.flink.core.fs.IFileSystem- Specified by:
getUriin classorg.apache.flink.core.fs.FileSystem
-
exists
- Specified by:
existsin interfaceorg.apache.flink.core.fs.IFileSystem- Overrides:
existsin classorg.apache.flink.core.fs.FileSystem- Throws:
IOException
-
getFileStatus
public org.apache.flink.core.fs.FileStatus getFileStatus(org.apache.flink.core.fs.Path path) throws IOException - Specified by:
getFileStatusin interfaceorg.apache.flink.core.fs.IFileSystem- Specified by:
getFileStatusin classorg.apache.flink.core.fs.FileSystem- Throws:
IOException
-
getFileBlockLocations
public org.apache.flink.core.fs.BlockLocation[] getFileBlockLocations(org.apache.flink.core.fs.FileStatus file, long start, long len) throws IOException - Specified by:
getFileBlockLocationsin interfaceorg.apache.flink.core.fs.IFileSystem- Specified by:
getFileBlockLocationsin classorg.apache.flink.core.fs.FileSystem- Throws:
IOException
-
listStatus
public org.apache.flink.core.fs.FileStatus[] listStatus(org.apache.flink.core.fs.Path path) throws IOException - Specified by:
listStatusin interfaceorg.apache.flink.core.fs.IFileSystem- Specified by:
listStatusin classorg.apache.flink.core.fs.FileSystem- Throws:
IOException
-
delete
- Specified by:
deletein interfaceorg.apache.flink.core.fs.IFileSystem- Specified by:
deletein classorg.apache.flink.core.fs.FileSystem- Throws:
IOException
-
mkdirs
- Specified by:
mkdirsin interfaceorg.apache.flink.core.fs.IFileSystem- Specified by:
mkdirsin classorg.apache.flink.core.fs.FileSystem- Throws:
IOException
-
isDistributedFS
public boolean isDistributedFS()- Specified by:
isDistributedFSin interfaceorg.apache.flink.core.fs.IFileSystem- Specified by:
isDistributedFSin classorg.apache.flink.core.fs.FileSystem
-
link
public int link(org.apache.flink.core.fs.Path src, org.apache.flink.core.fs.Path dst) throws IOException - Throws:
IOException
-
link
- Throws:
IOException
-
registerReusedRestoredFile
public void registerReusedRestoredFile(String key, org.apache.flink.runtime.state.StreamStateHandle stateHandle, org.apache.flink.core.fs.Path dbFilePath) -
getMappingEntry
-
giveUpOwnership
public void giveUpOwnership(org.apache.flink.core.fs.Path path, org.apache.flink.runtime.state.StreamStateHandle stateHandle) -
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-