Package org.apache.hadoop.fs
Class FilterFs
java.lang.Object
org.apache.hadoop.fs.AbstractFileSystem
org.apache.hadoop.fs.FilterFs
- All Implemented Interfaces:
PathCapabilities
- Direct Known Subclasses:
ChecksumFs
A
FilterFs contains some other file system, which it uses as its
basic file system, possibly transforming the data along the way or providing
additional functionality. The class FilterFs itself simply
overrides all methods of AbstractFileSystem with versions that
pass all requests to the contained file system. Subclasses of
FilterFs may further override some of these methods and may also
provide additional methods and fields.-
Field Summary
Fields inherited from class org.apache.hadoop.fs.AbstractFileSystem
statistics -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidThe specification of this method matches that ofFileContext.access(Path, FsAction)except that an UnresolvedLinkException may be thrown if a symlink is encountered in the path.voidCheck that a Path belongs to this FileSystem.createInternal(Path f, EnumSet<CreateFlag> flag, FsPermission absolutePermission, int bufferSize, short replication, long blockSize, Progressable progress, Options.ChecksumOpt checksumOpt, boolean createParent) The specification of this method matches that ofAbstractFileSystem.create(Path, EnumSet, Options.CreateOpts...)except that the opts have been declared explicitly.createMultipartUploader(Path basePath) Create a multipart uploader.createSnapshot(Path path, String snapshotName) The specification of this method matches that ofFileContext.createSnapshot(Path, String).voidcreateSymlink(Path target, Path link, boolean createParent) The specification of this method matches that ofFileContext.createSymlink(Path, Path, boolean);booleanThe specification of this method matches that ofFileContext.delete(Path, boolean)except that Path f must be for this file system.voiddeleteSnapshot(Path path, String snapshotName) The specification of this method matches that ofFileContext.deleteSnapshot(Path, String).getAclStatus(Path path) Gets the ACLs of files and directories.Collection<? extends BlockStoragePolicySpi>Retrieve all the storage policies supported by this file system.Get a canonical name for this file system.getDelegationTokens(String renewer) Get one or more delegation tokens associated with the filesystem.getEnclosingRoot(Path path) Return path of the enclosing root for a given path The enclosing root path is a common ancestor that should be used for temp and staging dirs as well as within encryption zones and other restricted directories.getFileBlockLocations(Path f, long start, long len) The specification of this method matches that ofFileContext.getFileBlockLocations(Path, long, long)except that Path f must be for this file system.The specification of this method matches that ofFileContext.getFileChecksum(Path)except that Path f must be for this file system.The specification of this method matches that ofFileContext.getFileLinkStatus(Path)except that an UnresolvedLinkException may be thrown if a symlink is encountered in the path leading up to the final path component.The specification of this method matches that ofFileContext.getFileStatus(Path)except that an UnresolvedLinkException may be thrown if a symlink is encountered in the path.The specification of this method matches that ofFileContext.getFsStatus(Path).getFsStatus(Path f) The specification of this method matches that ofFileContext.getFsStatus(Path)except that Path f must be for this file system.Return the current user's home directory in this file system.Some file systems like LocalFileSystem have an initial workingDir that is used as the starting workingDir.Partially resolves the path.protected AbstractFileSystemgetMyFs()Deprecated.Return a set of server default configuration values based on path.getStoragePolicy(Path src) Retrieve the storage policy for a given file or directory.getUri()Returns a URI whose scheme and authority identify this FileSystem.intThe default port of this file system.getUriPath(Path p) Get the path-part of a pathname.byte[]Get an xattr for a file or directory.Get all of the xattrs for a file or directory.Get all of the xattrs for a file or directory.booleanhasPathCapability(Path path, String capability) Probe for a specific capability under the given path.booleanisValidName(String src) Returns true if the specified string is considered valid in the path part of a URI by this file system.listCorruptFileBlocks(Path path) The specification of this method matches that ofFileContext.listLocatedStatus(Path)except that Path f must be for this file system.listStatus(Path f) The specification of this method matches that ofFileContext.Util.listStatus(Path)except that Path f must be for this file system.listXAttrs(Path path) Get all of the xattr names for a file or directory.makeQualified(Path path) Make the path fully qualified to this file systemvoidmkdir(Path dir, FsPermission permission, boolean createParent) The specification of this method matches that ofFileContext.mkdir(Path, FsPermission, boolean)except that the Path f must be fully qualified and the permission is absolute (i.e.voidmodifyAclEntries(Path path, List<AclEntry> aclSpec) Modifies ACL entries of files and directories.voidmsync()Synchronize client metadata state.The specification of this method matches that ofFileContext.open(Path)except that Path f must be for this file system.The specification of this method matches that ofFileContext.open(Path, int)except that Path f must be for this file system.openFileWithOptions(Path path, OpenFileParameters parameters) Open a file with the given set of options.voidRemoves all but the base ACL entries of files and directories.voidremoveAclEntries(Path path, List<AclEntry> aclSpec) Removes ACL entries from files and directories.voidremoveDefaultAcl(Path path) Removes all default ACL entries from files and directories.voidremoveXAttr(Path path, String name) Remove an xattr of a file or directory.voidrenameInternal(Path src, Path dst) The specification of this method matches that ofFileContext.rename(Path, Path, Options.Rename...)except that Path f must be for this file system and NO OVERWRITE is performed.voidrenameInternal(Path src, Path dst, boolean overwrite) The specification of this method matches that ofFileContext.rename(Path, Path, Options.Rename...)except that Path f must be for this file system.voidrenameSnapshot(Path path, String snapshotOldName, String snapshotNewName) The specification of this method matches that ofFileContext.renameSnapshot(Path, String, String).resolvePath(Path p) Return the fully-qualified path of path f resolving the path through any internal symlinks or mount pointvoidsatisfyStoragePolicy(Path path) Set the source path to satisfy storage policy.voidFully replaces ACL of files and directories, discarding all existing entries.voidThe specification of this method matches that ofFileContext.setOwner(Path, String, String)except that Path f must be for this file system.voidsetPermission(Path f, FsPermission permission) The specification of this method matches that ofFileContext.setPermission(Path, FsPermission)except that Path f must be for this file system.booleansetReplication(Path f, short replication) The specification of this method matches that ofFileContext.setReplication(Path, short)except that Path f must be for this file system.voidsetStoragePolicy(Path path, String policyName) Set the storage policy for a given file or directory.voidThe specification of this method matches that ofFileContext.setTimes(Path, long, long)except that Path f must be for this file system.voidsetVerifyChecksum(boolean verifyChecksum) The specification of this method matches that ofFileContext.setVerifyChecksum(boolean, Path)except that Path f must be for this file system.voidSet an xattr of a file or directory.voidsetXAttr(Path path, String name, byte[] value, EnumSet<XAttrSetFlag> flag) Set an xattr of a file or directory.booleanReturns true if the file system supports symlinks, false otherwise.booleanThe specification of this method matches that ofFileContext.truncate(Path, long)except that Path f must be for this file system.voidunsetStoragePolicy(Path src) Unset the storage policy set for a given file or directory.Methods inherited from class org.apache.hadoop.fs.AbstractFileSystem
checkScheme, clearStatistics, create, createFileSystem, equals, get, getAllStatistics, getStatistics, hashCode, listStatusIterator, methodNotSupported, printStatistics, rename
-
Constructor Details
-
FilterFs
- Throws:
URISyntaxException
-
-
Method Details
-
getMyFs
-
getStatistics
- Overrides:
getStatisticsin classAbstractFileSystem
-
makeQualified
Description copied from class:AbstractFileSystemMake the path fully qualified to this file system- Overrides:
makeQualifiedin classAbstractFileSystem- Parameters:
path- the path.- Returns:
- the qualified path
-
getInitialWorkingDirectory
Description copied from class:AbstractFileSystemSome file systems like LocalFileSystem have an initial workingDir that is used as the starting workingDir. For other file systems like HDFS there is no built in notion of an initial workingDir.- Overrides:
getInitialWorkingDirectoryin classAbstractFileSystem- Returns:
- the initial workingDir if the file system has such a notion otherwise return a null.
-
getHomeDirectory
Description copied from class:AbstractFileSystemReturn the current user's home directory in this file system. The default implementation returns "/user/$USER/".- Overrides:
getHomeDirectoryin classAbstractFileSystem- Returns:
- current user's home directory.
-
createInternal
public FSDataOutputStream createInternal(Path f, EnumSet<CreateFlag> flag, FsPermission absolutePermission, int bufferSize, short replication, long blockSize, Progressable progress, Options.ChecksumOpt checksumOpt, boolean createParent) throws IOException, UnresolvedLinkException Description copied from class:AbstractFileSystemThe specification of this method matches that ofAbstractFileSystem.create(Path, EnumSet, Options.CreateOpts...)except that the opts have been declared explicitly.- Specified by:
createInternalin classAbstractFileSystem- Parameters:
f- the path.flag- create flag.absolutePermission- absolute permission.bufferSize- buffer size.replication- replications.blockSize- block size.progress- progress.checksumOpt- check sum opt.createParent- create parent.- Returns:
- output stream.
- Throws:
AccessControlException- access control exception.FileAlreadyExistsException- file already exists exception.FileNotFoundException- file not found exception.ParentNotDirectoryException- parent not directory exception.UnsupportedFileSystemException- unsupported filesystem exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
delete
Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.delete(Path, boolean)except that Path f must be for this file system.- Specified by:
deletein classAbstractFileSystem- Parameters:
f- the path.recursive- recursive flag.- Returns:
- if successfully deleted success true, not false.
- Throws:
AccessControlException- access control exception.FileNotFoundException- file not found exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
getFileBlockLocations
public BlockLocation[] getFileBlockLocations(Path f, long start, long len) throws IOException, UnresolvedLinkException Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.getFileBlockLocations(Path, long, long)except that Path f must be for this file system.- Specified by:
getFileBlockLocationsin classAbstractFileSystem- Parameters:
f- the path.start- start.len- length.- Returns:
- BlockLocation Array.
- Throws:
AccessControlException- access control exception.FileNotFoundException- file not found exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
getFileChecksum
Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.getFileChecksum(Path)except that Path f must be for this file system.- Specified by:
getFileChecksumin classAbstractFileSystem- Parameters:
f- the path.- Returns:
- File Check sum.
- Throws:
AccessControlException- access control exception.FileNotFoundException- file not found exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
getFileStatus
Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.getFileStatus(Path)except that an UnresolvedLinkException may be thrown if a symlink is encountered in the path.- Specified by:
getFileStatusin classAbstractFileSystem- Parameters:
f- the path.- Returns:
- File Status
- Throws:
AccessControlException- access control exception.FileNotFoundException- file not found exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
msync
Description copied from class:AbstractFileSystemSynchronize client metadata state.In some FileSystem implementations such as HDFS metadata synchronization is essential to guarantee consistency of read requests particularly in HA setting.
- Overrides:
msyncin classAbstractFileSystem- Throws:
IOException- raised on errors performing I/O.UnsupportedOperationException- Unsupported Operation Exception.
-
access
public void access(Path path, FsAction mode) throws AccessControlException, FileNotFoundException, UnresolvedLinkException, IOException Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.access(Path, FsAction)except that an UnresolvedLinkException may be thrown if a symlink is encountered in the path.- Overrides:
accessin classAbstractFileSystem- Parameters:
path- the path.mode- fsaction mode.- Throws:
AccessControlException- access control exception.FileNotFoundException- file not found exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
getFileLinkStatus
Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.getFileLinkStatus(Path)except that an UnresolvedLinkException may be thrown if a symlink is encountered in the path leading up to the final path component. If the file system does not support symlinks then the behavior is equivalent toAbstractFileSystem.getFileStatus(Path).- Overrides:
getFileLinkStatusin classAbstractFileSystem- Parameters:
f- the path.- Returns:
- file status.
- Throws:
AccessControlException- access control exception.FileNotFoundException- file not found exception.UnsupportedFileSystemException- UnSupported File System Exception.IOException- raised on errors performing I/O.UnresolvedLinkException
-
getFsStatus
public FsStatus getFsStatus(Path f) throws AccessControlException, FileNotFoundException, UnresolvedLinkException, IOException Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.getFsStatus(Path)except that Path f must be for this file system.- Overrides:
getFsStatusin classAbstractFileSystem- Parameters:
f- the path.- Returns:
- Fs Status.
- Throws:
AccessControlException- access control exception.FileNotFoundException- file not found exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
getFsStatus
Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.getFsStatus(Path).- Specified by:
getFsStatusin classAbstractFileSystem- Returns:
- Fs Status.
- Throws:
AccessControlException- access control exception.FileNotFoundException- file not found exception.IOException- raised on errors performing I/O.
-
getServerDefaults
Deprecated.Description copied from class:AbstractFileSystemReturn a set of server default configuration values.- Specified by:
getServerDefaultsin classAbstractFileSystem- Returns:
- server default configuration values
- Throws:
IOException- an I/O error occurred
-
getServerDefaults
Description copied from class:AbstractFileSystemReturn a set of server default configuration values based on path.- Overrides:
getServerDefaultsin classAbstractFileSystem- Parameters:
f- path to fetch server defaults- Returns:
- server default configuration values for path
- Throws:
IOException- an I/O error occurred
-
resolvePath
public Path resolvePath(Path p) throws FileNotFoundException, UnresolvedLinkException, AccessControlException, IOException Description copied from class:AbstractFileSystemReturn the fully-qualified path of path f resolving the path through any internal symlinks or mount point- Overrides:
resolvePathin classAbstractFileSystem- Parameters:
p- path to be resolved- Returns:
- fully qualified path
- Throws:
FileNotFoundException- when file not find throw.UnresolvedLinkException- if symbolic link on path cannot be resolved internallyAccessControlException- when accees control error throw.IOException- raised on errors performing I/O.
-
getUriDefaultPort
public int getUriDefaultPort()Description copied from class:AbstractFileSystemThe default port of this file system.- Specified by:
getUriDefaultPortin classAbstractFileSystem- Returns:
- default port of this file system's Uri scheme A uri with a port of -1 => default port;
-
getUri
Description copied from class:AbstractFileSystemReturns a URI whose scheme and authority identify this FileSystem.- Overrides:
getUriin classAbstractFileSystem- Returns:
- the uri of this file system.
-
checkPath
Description copied from class:AbstractFileSystemCheck that a Path belongs to this FileSystem. If the path is fully qualified URI, then its scheme and authority matches that of this file system. Otherwise the path must be slash-relative name.- Overrides:
checkPathin classAbstractFileSystem- Parameters:
path- the path.
-
getUriPath
Description copied from class:AbstractFileSystemGet the path-part of a pathname. Checks that URI matches this file system and that the path-part is a valid name.- Overrides:
getUriPathin classAbstractFileSystem- Parameters:
p- path- Returns:
- path-part of the Path p
-
listStatus
Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.Util.listStatus(Path)except that Path f must be for this file system.- Specified by:
listStatusin classAbstractFileSystem- Parameters:
f- the path.- Returns:
- FileStatus Iterator.
- Throws:
AccessControlException- access control exception.FileNotFoundException- file not found exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
listLocatedStatus
public RemoteIterator<LocatedFileStatus> listLocatedStatus(Path f) throws AccessControlException, FileNotFoundException, UnresolvedLinkException, IOException Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.listLocatedStatus(Path)except that Path f must be for this file system. In HDFS implementation, the BlockLocation of returned LocatedFileStatus will have different formats for replicated and erasure coded file. Please refer toFileSystem.getFileBlockLocations(FileStatus, long, long)for more details.- Overrides:
listLocatedStatusin classAbstractFileSystem- Parameters:
f- the path.- Returns:
- FileStatus Iterator.
- Throws:
AccessControlException- access control exception.FileNotFoundException- file not found exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
listCorruptFileBlocks
- Overrides:
listCorruptFileBlocksin classAbstractFileSystem- Parameters:
path- the path.- Returns:
- an iterator over the corrupt files under the given path (may contain duplicates if a file has more than one corrupt block)
- Throws:
IOException- raised on errors performing I/O.
-
mkdir
public void mkdir(Path dir, FsPermission permission, boolean createParent) throws IOException, UnresolvedLinkException Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.mkdir(Path, FsPermission, boolean)except that the Path f must be fully qualified and the permission is absolute (i.e. umask has been applied).- Specified by:
mkdirin classAbstractFileSystem- Parameters:
dir- directory.permission- permission.createParent- create parent flag.- Throws:
AccessControlException- access control exception.FileAlreadyExistsException- file already exists exception.FileNotFoundException- file not found exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
open
public FSDataInputStream open(Path f) throws AccessControlException, FileNotFoundException, UnresolvedLinkException, IOException Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.open(Path)except that Path f must be for this file system.- Overrides:
openin classAbstractFileSystem- Parameters:
f- the path.- Returns:
- input stream.
- Throws:
AccessControlException- access control exception.FileNotFoundException- file not found exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
open
Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.open(Path, int)except that Path f must be for this file system.- Specified by:
openin classAbstractFileSystem- Parameters:
f- the path.bufferSize- buffer size.- Returns:
- if successfully open success true, not false.
- Throws:
AccessControlException- access control exception.FileNotFoundException- file not found exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
truncate
public boolean truncate(Path f, long newLength) throws AccessControlException, FileNotFoundException, UnresolvedLinkException, IOException Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.truncate(Path, long)except that Path f must be for this file system.- Overrides:
truncatein classAbstractFileSystem- Parameters:
f- the path.newLength- new length.- Returns:
- if successfully truncate success true, not false.
- Throws:
AccessControlException- access control exception.FileNotFoundException- file not found exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
renameInternal
Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.rename(Path, Path, Options.Rename...)except that Path f must be for this file system and NO OVERWRITE is performed. File systems that do not have a built in overwrite need implement only this method and can take advantage of the default impl of the otherAbstractFileSystem.renameInternal(Path, Path, boolean)- Specified by:
renameInternalin classAbstractFileSystem- Parameters:
src- src.dst- dst.- Throws:
AccessControlException- access control exception.FileAlreadyExistsException- file already exists exception.FileNotFoundException- file not found exception.ParentNotDirectoryException- parent not directory exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
renameInternal
public void renameInternal(Path src, Path dst, boolean overwrite) throws AccessControlException, FileAlreadyExistsException, FileNotFoundException, ParentNotDirectoryException, UnresolvedLinkException, IOException Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.rename(Path, Path, Options.Rename...)except that Path f must be for this file system.- Overrides:
renameInternalin classAbstractFileSystem- Parameters:
src- src.dst- dst.overwrite- overwrite flag.- Throws:
AccessControlException- access control exception.FileAlreadyExistsException- file already exists exception.FileNotFoundException- file not found exception.ParentNotDirectoryException- parent not directory exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
setOwner
public void setOwner(Path f, String username, String groupname) throws IOException, UnresolvedLinkException Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.setOwner(Path, String, String)except that Path f must be for this file system.- Specified by:
setOwnerin classAbstractFileSystem- Parameters:
f- the path.username- username.groupname- groupname.- Throws:
AccessControlException- access control exception.FileNotFoundException- file not found exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
setPermission
public void setPermission(Path f, FsPermission permission) throws IOException, UnresolvedLinkException Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.setPermission(Path, FsPermission)except that Path f must be for this file system.- Specified by:
setPermissionin classAbstractFileSystem- Parameters:
f- the path.permission- permission.- Throws:
AccessControlException- access control exception.FileNotFoundException- file not found exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
setReplication
public boolean setReplication(Path f, short replication) throws IOException, UnresolvedLinkException Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.setReplication(Path, short)except that Path f must be for this file system.- Specified by:
setReplicationin classAbstractFileSystem- Parameters:
f- the path.replication- replication.- Returns:
- if successfully set replication success true, not false.
- Throws:
AccessControlException- access control exception.FileNotFoundException- file not found exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
setTimes
Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.setTimes(Path, long, long)except that Path f must be for this file system.- Specified by:
setTimesin classAbstractFileSystem- Parameters:
f- the path.mtime- modify time.atime- access time.- Throws:
AccessControlException- access control exception.FileNotFoundException- file not found exception.UnresolvedLinkException- unresolved link exception.IOException- raised on errors performing I/O.
-
setVerifyChecksum
Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.setVerifyChecksum(boolean, Path)except that Path f must be for this file system.- Specified by:
setVerifyChecksumin classAbstractFileSystem- Parameters:
verifyChecksum- verify check sum flag.- Throws:
AccessControlException- access control exception.IOException- raised on errors performing I/O.UnresolvedLinkException
-
supportsSymlinks
public boolean supportsSymlinks()Description copied from class:AbstractFileSystemReturns true if the file system supports symlinks, false otherwise.- Overrides:
supportsSymlinksin classAbstractFileSystem- Returns:
- true if filesystem supports symlinks
-
createSymlink
public void createSymlink(Path target, Path link, boolean createParent) throws IOException, UnresolvedLinkException Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.createSymlink(Path, Path, boolean);- Overrides:
createSymlinkin classAbstractFileSystem- Parameters:
target- target.link- link.createParent- create parent.- Throws:
IOException- raised on errors performing I/O.UnresolvedLinkException- unresolved link exception.
-
getLinkTarget
Description copied from class:AbstractFileSystemPartially resolves the path. This is used during symlink resolution inFSLinkResolver, and differs from the similarly named methodFileContext.getLinkTarget(Path).- Overrides:
getLinkTargetin classAbstractFileSystem- Parameters:
f- the path.- Returns:
- target path.
- Throws:
IOException- subclass implementations may throw IOException
-
getCanonicalServiceName
Description copied from class:AbstractFileSystemGet a canonical name for this file system.- Overrides:
getCanonicalServiceNamein classAbstractFileSystem- Returns:
- a URI string that uniquely identifies this file system
-
getDelegationTokens
Description copied from class:AbstractFileSystemGet one or more delegation tokens associated with the filesystem. Normally a file system returns a single delegation token. A file system that manages multiple file systems underneath, could return set of delegation tokens for all the file systems it manages- Overrides:
getDelegationTokensin classAbstractFileSystem- Parameters:
renewer- the account name that is allowed to renew the token.- Returns:
- List of delegation tokens. If delegation tokens not supported then return a list of size zero.
- Throws:
IOException- raised on errors performing I/O.
-
isValidName
Description copied from class:AbstractFileSystemReturns true if the specified string is considered valid in the path part of a URI by this file system. The default implementation enforces the rules of HDFS, but subclasses may override this method to implement specific validation rules for specific file systems.- Overrides:
isValidNamein classAbstractFileSystem- Parameters:
src- String source filename to check, path part of the URI- Returns:
- boolean true if the specified string is considered valid
-
modifyAclEntries
Description copied from class:AbstractFileSystemModifies ACL entries of files and directories. This method can add new ACL entries or modify the permissions on existing ACL entries. All existing ACL entries that are not specified in this call are retained without changes. (Modifications are merged into the current ACL.)- Overrides:
modifyAclEntriesin classAbstractFileSystem- Parameters:
path- Path to modifyaclSpec- List<AclEntry> describing modifications- Throws:
IOException- if an ACL could not be modified
-
removeAclEntries
Description copied from class:AbstractFileSystemRemoves ACL entries from files and directories. Other ACL entries are retained.- Overrides:
removeAclEntriesin classAbstractFileSystem- Parameters:
path- Path to modifyaclSpec- List<AclEntry> describing entries to remove- Throws:
IOException- if an ACL could not be modified
-
removeDefaultAcl
Description copied from class:AbstractFileSystemRemoves all default ACL entries from files and directories.- Overrides:
removeDefaultAclin classAbstractFileSystem- Parameters:
path- Path to modify- Throws:
IOException- if an ACL could not be modified
-
removeAcl
Description copied from class:AbstractFileSystemRemoves all but the base ACL entries of files and directories. The entries for user, group, and others are retained for compatibility with permission bits.- Overrides:
removeAclin classAbstractFileSystem- Parameters:
path- Path to modify- Throws:
IOException- if an ACL could not be removed
-
setAcl
Description copied from class:AbstractFileSystemFully replaces ACL of files and directories, discarding all existing entries.- Overrides:
setAclin classAbstractFileSystem- Parameters:
path- Path to modifyaclSpec- List<AclEntry> describing modifications, must include entries for user, group, and others for compatibility with permission bits.- Throws:
IOException- if an ACL could not be modified
-
getAclStatus
Description copied from class:AbstractFileSystemGets the ACLs of files and directories.- Overrides:
getAclStatusin classAbstractFileSystem- Parameters:
path- Path to get- Returns:
- RemoteIterator<AclStatus> which returns each AclStatus
- Throws:
IOException- if an ACL could not be read
-
setXAttr
Description copied from class:AbstractFileSystemSet an xattr of a file or directory. The name must be prefixed with the namespace followed by ".". For example, "user.attr".Refer to the HDFS extended attributes user documentation for details.
- Overrides:
setXAttrin classAbstractFileSystem- Parameters:
path- Path to modifyname- xattr name.value- xattr value.- Throws:
IOException- raised on errors performing I/O.
-
setXAttr
public void setXAttr(Path path, String name, byte[] value, EnumSet<XAttrSetFlag> flag) throws IOException Description copied from class:AbstractFileSystemSet an xattr of a file or directory. The name must be prefixed with the namespace followed by ".". For example, "user.attr".Refer to the HDFS extended attributes user documentation for details.
- Overrides:
setXAttrin classAbstractFileSystem- Parameters:
path- Path to modifyname- xattr name.value- xattr value.flag- xattr set flag- Throws:
IOException- raised on errors performing I/O.
-
getXAttr
Description copied from class:AbstractFileSystemGet an xattr for a file or directory. The name must be prefixed with the namespace followed by ".". For example, "user.attr".Refer to the HDFS extended attributes user documentation for details.
- Overrides:
getXAttrin classAbstractFileSystem- Parameters:
path- Path to get extended attributename- xattr name.- Returns:
- byte[] xattr value.
- Throws:
IOException- raised on errors performing I/O.
-
getXAttrs
Description copied from class:AbstractFileSystemGet all of the xattrs for a file or directory. Only those xattrs for which the logged-in user has permissions to view are returned.Refer to the HDFS extended attributes user documentation for details.
- Overrides:
getXAttrsin classAbstractFileSystem- Parameters:
path- Path to get extended attributes- Returns:
- Map<String, byte[]> describing the XAttrs of the file or directory
- Throws:
IOException- raised on errors performing I/O.
-
getXAttrs
Description copied from class:AbstractFileSystemGet all of the xattrs for a file or directory. Only those xattrs for which the logged-in user has permissions to view are returned.Refer to the HDFS extended attributes user documentation for details.
- Overrides:
getXAttrsin classAbstractFileSystem- Parameters:
path- Path to get extended attributesnames- XAttr names.- Returns:
- Map<String, byte[]> describing the XAttrs of the file or directory
- Throws:
IOException- raised on errors performing I/O.
-
listXAttrs
Description copied from class:AbstractFileSystemGet all of the xattr names for a file or directory. Only the xattr names for which the logged-in user has permissions to view are returned.Refer to the HDFS extended attributes user documentation for details.
- Overrides:
listXAttrsin classAbstractFileSystem- Parameters:
path- Path to get extended attributes- Returns:
- Map<String, byte[]> describing the XAttrs of the file or directory
- Throws:
IOException- raised on errors performing I/O.
-
removeXAttr
Description copied from class:AbstractFileSystemRemove an xattr of a file or directory. The name must be prefixed with the namespace followed by ".". For example, "user.attr".Refer to the HDFS extended attributes user documentation for details.
- Overrides:
removeXAttrin classAbstractFileSystem- Parameters:
path- Path to remove extended attributename- xattr name- Throws:
IOException- raised on errors performing I/O.
-
createSnapshot
Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.createSnapshot(Path, String).- Overrides:
createSnapshotin classAbstractFileSystem- Parameters:
path- the path.snapshotName- snapshot name.- Returns:
- path.
- Throws:
IOException- raised on errors performing I/O.
-
renameSnapshot
public void renameSnapshot(Path path, String snapshotOldName, String snapshotNewName) throws IOException Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.renameSnapshot(Path, String, String).- Overrides:
renameSnapshotin classAbstractFileSystem- Parameters:
path- the path.snapshotOldName- snapshot old name.snapshotNewName- snapshot new name.- Throws:
IOException- raised on errors performing I/O.
-
deleteSnapshot
Description copied from class:AbstractFileSystemThe specification of this method matches that ofFileContext.deleteSnapshot(Path, String).- Overrides:
deleteSnapshotin classAbstractFileSystem- Parameters:
path- snapshot dir.snapshotName- snapshot name.- Throws:
IOException- raised on errors performing I/O.
-
satisfyStoragePolicy
Description copied from class:AbstractFileSystemSet the source path to satisfy storage policy.- Overrides:
satisfyStoragePolicyin classAbstractFileSystem- Parameters:
path- The source path referring to either a directory or a file.- Throws:
IOException- raised on errors performing I/O.
-
setStoragePolicy
Description copied from class:AbstractFileSystemSet the storage policy for a given file or directory.- Overrides:
setStoragePolicyin classAbstractFileSystem- Parameters:
path- file or directory path.policyName- the name of the target storage policy. The list of supported Storage policies can be retrieved viaAbstractFileSystem.getAllStoragePolicies().- Throws:
IOException- raised on errors performing I/O.
-
unsetStoragePolicy
Description copied from class:AbstractFileSystemUnset the storage policy set for a given file or directory.- Overrides:
unsetStoragePolicyin classAbstractFileSystem- Parameters:
src- file or directory path.- Throws:
IOException- raised on errors performing I/O.
-
getStoragePolicy
Description copied from class:AbstractFileSystemRetrieve the storage policy for a given file or directory.- Overrides:
getStoragePolicyin classAbstractFileSystem- Parameters:
src- file or directory path.- Returns:
- storage policy for give file.
- Throws:
IOException- raised on errors performing I/O.
-
getAllStoragePolicies
Description copied from class:AbstractFileSystemRetrieve all the storage policies supported by this file system.- Overrides:
getAllStoragePoliciesin classAbstractFileSystem- Returns:
- all storage policies supported by this filesystem.
- Throws:
IOException- raised on errors performing I/O.
-
openFileWithOptions
public CompletableFuture<FSDataInputStream> openFileWithOptions(Path path, OpenFileParameters parameters) throws IOException Description copied from class:AbstractFileSystemOpen a file with the given set of options. The base implementation performs a blocking call toAbstractFileSystem.open(Path, int)in this call; the actual outcome is in the returnedCompletableFuture. This avoids having to create some thread pool, while still setting up the expectation that theget()call is needed to evaluate the result.- Overrides:
openFileWithOptionsin classAbstractFileSystem- Parameters:
path- path to the fileparameters- open file parameters from the builder.- Returns:
- a future which will evaluate to the opened file.
- Throws:
IOException- failure to resolve the link.
-
hasPathCapability
Description copied from interface:PathCapabilitiesProbe for a specific capability under the given path. If the function returnstrue, this instance is explicitly declaring that the capability is available. If the function returnsfalse, it can mean one of:- The capability is not known.
- The capability is known but it is not supported.
- The capability is known but the filesystem does not know if it is supported under the supplied path.
Implementors:
PathCapabilitiesSupportcan be used to help implement this method.- Specified by:
hasPathCapabilityin interfacePathCapabilities- Overrides:
hasPathCapabilityin classAbstractFileSystem- Parameters:
path- path to query the capability of.capability- non-null, non-empty string to query the path for support.- Returns:
- true if the capability is supported under that part of the FS.
- Throws:
IOException- this should not be raised, except on problems resolving paths or relaying the call.
-
createMultipartUploader
Description copied from class:AbstractFileSystemCreate a multipart uploader.- Overrides:
createMultipartUploaderin classAbstractFileSystem- Parameters:
basePath- file path under which all files are uploaded- Returns:
- a MultipartUploaderBuilder object to build the uploader
- Throws:
IOException- if some early checks cause IO failures.
-
getEnclosingRoot
Description copied from class:AbstractFileSystemReturn path of the enclosing root for a given path The enclosing root path is a common ancestor that should be used for temp and staging dirs as well as within encryption zones and other restricted directories. Call makeQualified on the param path to ensure its part of the correct filesystem- Overrides:
getEnclosingRootin classAbstractFileSystem- Parameters:
path- file path to find the enclosing root path for- Returns:
- a path to the enclosing root
- Throws:
IOException- early checks like failure to resolve path cause IO failures
-