@InterfaceAudience.Public @InterfaceStability.Evolving public class ViewFileSystem extends FileSystem
ViewFs.DEFAULT_FS, FS_DEFAULT_NAME_KEY, SHUTDOWN_HOOK_PRIORITY, statistics, TRASH_PREFIX, USER_HOME_PREFIX| Constructor and Description |
|---|
ViewFileSystem()
This is the constructor with the signature needed by
FileSystem.createFileSystem(URI, Configuration)
After this constructor is called initialize() is called. |
ViewFileSystem(Configuration conf)
Convenience Constructor for apps to call directly
|
| Modifier and Type | Method and Description |
|---|---|
void |
access(Path path,
FsAction mode)
Checks if the user can access a path.
|
FSDataOutputStream |
append(Path f,
int bufferSize,
Progressable progress)
Append to an existing file (optional operation).
|
void |
close()
Close this FileSystem instance.
|
FSDataOutputStream |
create(Path f,
FsPermission permission,
boolean overwrite,
int bufferSize,
short replication,
long blockSize,
Progressable progress)
Create an FSDataOutputStream at the indicated Path with write-progress
reporting.
|
FSDataOutputStream |
createNonRecursive(Path f,
FsPermission permission,
EnumSet<CreateFlag> flags,
int bufferSize,
short replication,
long blockSize,
Progressable progress)
Opens an FSDataOutputStream at the indicated Path with write-progress
reporting.
|
Path |
createSnapshot(Path path,
String snapshotName)
Create a snapshot.
|
boolean |
delete(Path f)
Delete a file/directory.
|
boolean |
delete(Path f,
boolean recursive)
Delete a file.
|
void |
deleteSnapshot(Path path,
String snapshotName)
Delete a snapshot of a directory.
|
AclStatus |
getAclStatus(Path path)
Gets the ACL of a file or directory.
|
FileSystem[] |
getChildFileSystems()
Get all the immediate child FileSystems embedded in this FileSystem.
|
ContentSummary |
getContentSummary(Path f)
Return the
ContentSummary of a given Path. |
long |
getDefaultBlockSize()
Return the number of bytes that large input files should be optimally
be split into to minimize I/O time.
|
long |
getDefaultBlockSize(Path f)
Return the number of bytes that large input files should be optimally
be split into to minimize I/O time.
|
short |
getDefaultReplication()
Get the default replication.
|
short |
getDefaultReplication(Path f)
Get the default replication for a path.
|
BlockLocation[] |
getFileBlockLocations(FileStatus fs,
long start,
long len)
Return an array containing hostnames, offset and size of
portions of the given file.
|
FileChecksum |
getFileChecksum(Path f)
Get the checksum of a file, if the FS supports checksums.
|
FileStatus |
getFileStatus(Path f)
Return a file status object that represents the path.
|
Path |
getHomeDirectory()
Return the current user's home directory in this FileSystem.
|
org.apache.hadoop.fs.viewfs.ViewFileSystem.MountPoint[] |
getMountPoints() |
QuotaUsage |
getQuotaUsage(Path f)
Return the
QuotaUsage of a given Path. |
String |
getScheme()
Return the protocol scheme for the FileSystem.
|
FsServerDefaults |
getServerDefaults()
Return a set of server default configuration values.
|
FsServerDefaults |
getServerDefaults(Path f)
Return a set of server default configuration values.
|
Path |
getTrashCanLocation(Path f) |
Path |
getTrashRoot(Path path)
Get the trash root directory for current user when the path
specified is deleted.
|
Collection<FileStatus> |
getTrashRoots(boolean allUsers)
Get all the trash roots for current user or all users.
|
URI |
getUri()
Returns a URI which identifies this FileSystem.
|
Path |
getWorkingDirectory()
Get the current working directory for the given FileSystem
|
byte[] |
getXAttr(Path path,
String name)
Get an xattr name and value for a file or directory.
|
Map<String,byte[]> |
getXAttrs(Path path)
Get all of the xattr name/value pairs for a file or directory.
|
Map<String,byte[]> |
getXAttrs(Path path,
List<String> names)
Get all of the xattrs name/value pairs for a file or directory.
|
void |
initialize(URI theUri,
Configuration conf)
Called after a new FileSystem instance is constructed.
|
org.apache.hadoop.fs.RemoteIterator<LocatedFileStatus> |
listLocatedStatus(Path f,
PathFilter filter)
List a directory.
|
FileStatus[] |
listStatus(Path f)
List the statuses of the files/directories in the given path if the path is
a directory.
|
List<String> |
listXAttrs(Path path)
Get all of the xattr names for a file or directory.
|
boolean |
mkdirs(Path dir)
Call
FileSystem.mkdirs(Path, FsPermission) with default permission. |
boolean |
mkdirs(Path dir,
FsPermission permission)
Make the given file and all non-existent parents into
directories.
|
void |
modifyAclEntries(Path path,
List<AclEntry> aclSpec)
Modifies ACL entries of files and directories.
|
FSDataInputStream |
open(Path f,
int bufferSize)
Opens an FSDataInputStream at the indicated Path.
|
void |
removeAcl(Path path)
Removes all but the base ACL entries of files and directories.
|
void |
removeAclEntries(Path path,
List<AclEntry> aclSpec)
Removes ACL entries from files and directories.
|
void |
removeDefaultAcl(Path path)
Removes all default ACL entries from files and directories.
|
void |
removeXAttr(Path path,
String name)
Remove an xattr of a file or directory.
|
boolean |
rename(Path src,
Path dst)
Renames Path src to Path dst.
|
void |
renameSnapshot(Path path,
String snapshotOldName,
String snapshotNewName)
Rename a snapshot.
|
Path |
resolvePath(Path f)
Return the fully-qualified path of path, resolving the path
through any symlinks or mount point.
|
void |
setAcl(Path path,
List<AclEntry> aclSpec)
Fully replaces ACL of files and directories, discarding all existing
entries.
|
void |
setOwner(Path f,
String username,
String groupname)
Set owner of a path (i.e.
|
void |
setPermission(Path f,
FsPermission permission)
Set permission of a path.
|
boolean |
setReplication(Path f,
short replication)
Set the replication for an existing file.
|
void |
setTimes(Path f,
long mtime,
long atime)
Set access time of a file.
|
void |
setVerifyChecksum(boolean verifyChecksum)
Set the verify checksum flag.
|
void |
setWorkingDirectory(Path new_dir)
Set the current working directory for the given FileSystem.
|
void |
setWriteChecksum(boolean writeChecksum)
Set the write checksum flag.
|
void |
setXAttr(Path path,
String name,
byte[] value,
EnumSet<XAttrSetFlag> flag)
Set an xattr of a file or directory.
|
boolean |
truncate(Path f,
long newLength)
Truncate the file in the indicated path to the indicated size.
|
addDelegationTokens, append, append, appendFile, areSymlinksEnabled, cancelDeleteOnExit, canonicalizeUri, checkPath, clearStatistics, closeAll, closeAllForUGI, completeLocalOutput, concat, copyFromLocalFile, copyFromLocalFile, copyFromLocalFile, copyFromLocalFile, copyToLocalFile, copyToLocalFile, copyToLocalFile, create, create, create, create, create, create, create, create, create, create, create, create, createFile, createNewFile, createNonRecursive, createNonRecursive, createSnapshot, createSymlink, deleteOnExit, enableSymlinks, exists, fixRelativePart, get, get, get, getAllStatistics, getAllStoragePolicies, getBlockSize, getCanonicalServiceName, getCanonicalUri, getDefaultPort, getDefaultUri, getFileBlockLocations, getFileChecksum, getFileLinkStatus, getFileSystemClass, getFSofPath, getGlobalStorageStatistics, getInitialWorkingDirectory, getLength, getLinkTarget, getLocal, getName, getNamed, getReplication, getStatistics, getStatistics, getStatus, getStatus, getStoragePolicy, getStorageStatistics, getUsed, getUsed, globStatus, globStatus, isDirectory, isFile, listCorruptFileBlocks, listFiles, listLocatedStatus, listStatus, listStatus, listStatus, listStatusIterator, makeQualified, mkdirs, moveFromLocalFile, moveFromLocalFile, moveToLocalFile, msync, newInstance, newInstance, newInstance, newInstanceLocal, open, primitiveCreate, primitiveMkdir, primitiveMkdir, printStatistics, processDeleteOnExit, rename, resolveLink, setDefaultUri, setDefaultUri, setStoragePolicy, setXAttr, startLocalOutput, supportsSymlinks, unsetStoragePolicygetConf, setConfpublic ViewFileSystem()
throws IOException
FileSystem.createFileSystem(URI, Configuration)
After this constructor is called initialize() is called.IOExceptionpublic ViewFileSystem(Configuration conf) throws IOException
conf - IOExceptionpublic String getScheme()
getScheme in class FileSystemviewfspublic void initialize(URI theUri, Configuration conf) throws IOException
initialize in class FileSystemtheUri - a uri whose authority section names the host, port, etc. for
this FileSystemconf - the configurationIOException - on any failure to initialize this instance.public Path getTrashCanLocation(Path f) throws IOException
IOExceptionpublic URI getUri()
FileSystemgetUri in class FileSystempublic Path resolvePath(Path f) throws IOException
FileSystemresolvePath in class FileSystemf - path to be resolvedFileNotFoundException - if the path is not presentIOException - for any other errorpublic Path getHomeDirectory()
FileSystem"/user/$USER/".getHomeDirectory in class FileSystempublic Path getWorkingDirectory()
FileSystemgetWorkingDirectory in class FileSystempublic void setWorkingDirectory(Path new_dir)
FileSystemsetWorkingDirectory in class FileSystemnew_dir - Path of new working directorypublic FSDataOutputStream append(Path f, int bufferSize, Progressable progress) throws IOException
FileSystemappend in class FileSystemf - the existing file to be appended.bufferSize - the size of the buffer to be used.progress - for reporting progress if it is not null.IOException - IO failurepublic FSDataOutputStream createNonRecursive(Path f, FsPermission permission, EnumSet<CreateFlag> flags, int bufferSize, short replication, long blockSize, Progressable progress) throws IOException
FileSystemcreateNonRecursive in class FileSystemf - the file name to openpermission - file permissionflags - CreateFlags to use for this stream.bufferSize - the size of the buffer to be used.replication - required block replication for the file.blockSize - block sizeprogress - the progress reporterIOException - IO failureFileSystem.setPermission(Path, FsPermission)public FSDataOutputStream create(Path f, FsPermission permission, boolean overwrite, int bufferSize, short replication, long blockSize, Progressable progress) throws IOException
FileSystemcreate in class FileSystemf - the file name to openpermission - file permissionoverwrite - if a file with this name already exists, then if true,
the file will be overwritten, and if false an error will be thrown.bufferSize - the size of the buffer to be used.replication - required block replication for the file.blockSize - block sizeprogress - the progress reporterIOException - IO failureFileSystem.setPermission(Path, FsPermission)public boolean delete(Path f, boolean recursive) throws AccessControlException, FileNotFoundException, IOException
FileSystemdelete in class FileSystemf - the path to delete.recursive - if path is a directory and set to
true, the directory is deleted else throws an exception. In
case of a file the recursive can be set to either true or false.IOException - IO failureAccessControlExceptionFileNotFoundExceptionpublic boolean delete(Path f) throws AccessControlException, FileNotFoundException, IOException
FileSystemdelete in class FileSystemAccessControlExceptionFileNotFoundExceptionIOExceptionpublic BlockLocation[] getFileBlockLocations(FileStatus fs, long start, long len) throws IOException
FileSystemnull is returned.
if f == null :
result = null
elif f.getLen() <= start:
result = []
else result = [ locations(FS, b) for b in blocks(FS, p, s, s+l)]
This call is most helpful with and distributed filesystem
where the hostnames of machines that contain blocks of the given file
can be determined.
The default implementation returns an array containing one element:
BlockLocation( { "localhost:50010" }, { "localhost" }, 0, file.getLen())
>getFileBlockLocations in class FileSystemfs - FilesStatus to get data fromstart - offset into the given filelen - length for which to get locations forIOException - IO failurepublic FileChecksum getFileChecksum(Path f) throws AccessControlException, FileNotFoundException, IOException
FileSystemgetFileChecksum in class FileSystemf - The file pathIOException - IO failureAccessControlExceptionFileNotFoundExceptionpublic FileStatus getFileStatus(Path f) throws AccessControlException, FileNotFoundException, IOException
FileSystemgetFileStatus in class FileSystemf - The path we want information fromFileNotFoundException - when the path does not existIOException - see specific implementationAccessControlExceptionpublic void access(Path path, FsAction mode) throws AccessControlException, FileNotFoundException, IOException
FileSystemAccessControlException.
The default implementation calls FileSystem.getFileStatus(Path)
and checks the returned permissions against the requested permissions.
Note that the FileSystem.getFileStatus(Path) call will be subject to
authorization checks.
Typically, this requires search (execute) permissions on each directory in
the path's prefix, but this is implementation-defined. Any file system
that provides a richer authorization model (such as ACLs) may override the
default implementation so that it checks against that model instead.
In general, applications should avoid using this method, due to the risk of
time-of-check/time-of-use race conditions. The permissions on a file may
change immediately after the access call returns. Most applications should
prefer running specific file system actions as the desired user represented
by a UserGroupInformation.
path - Path to checkmode - type of access to checkAccessControlException - if access is deniedFileNotFoundException - if the path does not existIOException - see specific implementationpublic FileStatus[] listStatus(Path f) throws AccessControlException, FileNotFoundException, IOException
FileSystemDoes not guarantee to return the List of files/directories status in a sorted order.
listStatus in class FileSystemf - given pathFileNotFoundException - when the path does not existIOException - see specific implementationAccessControlExceptionpublic org.apache.hadoop.fs.RemoteIterator<LocatedFileStatus> listLocatedStatus(Path f, PathFilter filter) throws FileNotFoundException, IOException
FileSystemlistLocatedStatus in class FileSystemf - a pathfilter - a path filterFileNotFoundException - if f does not existIOException - if any I/O error occurredpublic boolean mkdirs(Path dir) throws IOException
FileSystemFileSystem.mkdirs(Path, FsPermission) with default permission.mkdirs in class FileSystemdir - pathIOException - IO failurepublic boolean mkdirs(Path dir, FsPermission permission) throws IOException
FileSystemmkdirs in class FileSystemdir - path to createpermission - to apply to fIOException - IO failurepublic FSDataInputStream open(Path f, int bufferSize) throws AccessControlException, FileNotFoundException, IOException
FileSystemopen in class FileSystemf - the file name to openbufferSize - the size of the buffer to be used.IOException - IO failureAccessControlExceptionFileNotFoundExceptionpublic boolean rename(Path src, Path dst) throws IOException
FileSystemrename in class FileSystemsrc - path to be renameddst - new path after renameIOException - on failurepublic boolean truncate(Path f, long newLength) throws IOException
FileSystemtruncate in class FileSystemf - The path to the file to be truncatednewLength - The size the file is to be truncated totrue if the file has been truncated to the desired
newLength and is immediately available to be reused for
write operations such as append, or
false if a background process of adjusting the length of
the last block has been started, and clients should wait for it to
complete before proceeding with further file updates.IOException - IO failurepublic void setOwner(Path f, String username, String groupname) throws AccessControlException, FileNotFoundException, IOException
FileSystemsetOwner in class FileSystemf - The pathusername - If it is null, the original username remains unchanged.groupname - If it is null, the original groupname remains unchanged.IOException - IO failureAccessControlExceptionFileNotFoundExceptionpublic void setPermission(Path f, FsPermission permission) throws AccessControlException, FileNotFoundException, IOException
FileSystemsetPermission in class FileSystemf - The pathpermission - permissionIOException - IO failureAccessControlExceptionFileNotFoundExceptionpublic boolean setReplication(Path f, short replication) throws AccessControlException, FileNotFoundException, IOException
FileSystemsetReplication in class FileSystemf - file namereplication - new replicationIOExceptionAccessControlExceptionFileNotFoundExceptionpublic void setTimes(Path f, long mtime, long atime) throws AccessControlException, FileNotFoundException, IOException
FileSystemsetTimes in class FileSystemf - The pathmtime - Set the modification time of this file.
The number of milliseconds since Jan 1, 1970.
A value of -1 means that this call should not set modification time.atime - Set the access time of this file.
The number of milliseconds since Jan 1, 1970.
A value of -1 means that this call should not set access time.IOException - IO failureAccessControlExceptionFileNotFoundExceptionpublic void modifyAclEntries(Path path, List<AclEntry> aclSpec) throws IOException
FileSystemmodifyAclEntries in class FileSystempath - Path to modifyaclSpec - ListIOException - if an ACL could not be modifiedpublic void removeAclEntries(Path path, List<AclEntry> aclSpec) throws IOException
FileSystemremoveAclEntries in class FileSystempath - Path to modifyaclSpec - List describing entries to removeIOException - if an ACL could not be modifiedpublic void removeDefaultAcl(Path path) throws IOException
FileSystemremoveDefaultAcl in class FileSystempath - Path to modifyIOException - if an ACL could not be modifiedpublic void removeAcl(Path path) throws IOException
FileSystemremoveAcl in class FileSystempath - Path to modifyIOException - if an ACL could not be removedpublic void setAcl(Path path, List<AclEntry> aclSpec) throws IOException
FileSystemsetAcl in class FileSystempath - Path to modifyaclSpec - List describing modifications, which must include entries
for user, group, and others for compatibility with permission bits.IOException - if an ACL could not be modifiedpublic AclStatus getAclStatus(Path path) throws IOException
FileSystemgetAclStatus in class FileSystempath - Path to getIOException - if an ACL could not be readpublic void setXAttr(Path path, String name, byte[] value, EnumSet<XAttrSetFlag> flag) throws IOException
FileSystemRefer to the HDFS extended attributes user documentation for details.
setXAttr in class FileSystempath - Path to modifyname - xattr name.value - xattr value.flag - xattr set flagIOException - IO failurepublic byte[] getXAttr(Path path, String name) throws IOException
FileSystemRefer to the HDFS extended attributes user documentation for details.
getXAttr in class FileSystempath - Path to get extended attributename - xattr name.IOException - IO failurepublic Map<String,byte[]> getXAttrs(Path path) throws IOException
FileSystemRefer to the HDFS extended attributes user documentation for details.
getXAttrs in class FileSystempath - Path to get extended attributesIOException - IO failurepublic Map<String,byte[]> getXAttrs(Path path, List<String> names) throws IOException
FileSystemRefer to the HDFS extended attributes user documentation for details.
getXAttrs in class FileSystempath - Path to get extended attributesnames - XAttr names.IOException - IO failurepublic List<String> listXAttrs(Path path) throws IOException
FileSystemRefer to the HDFS extended attributes user documentation for details.
listXAttrs in class FileSystempath - Path to get extended attributesIOException - IO failurepublic void removeXAttr(Path path, String name) throws IOException
FileSystemRefer to the HDFS extended attributes user documentation for details.
removeXAttr in class FileSystempath - Path to remove extended attributename - xattr nameIOException - IO failurepublic void setVerifyChecksum(boolean verifyChecksum)
FileSystemsetVerifyChecksum in class FileSystemverifyChecksum - Verify checksum flagpublic long getDefaultBlockSize()
FileSystemgetDefaultBlockSize in class FileSystempublic short getDefaultReplication()
FileSystemgetDefaultReplication in class FileSystempublic FsServerDefaults getServerDefaults() throws IOException
FileSystemgetServerDefaults in class FileSystemIOException - IO failurepublic long getDefaultBlockSize(Path f)
FileSystemgetDefaultBlockSize in class FileSystemf - path of filepublic short getDefaultReplication(Path f)
FileSystemgetDefaultReplication in class FileSystemf - of the filepublic FsServerDefaults getServerDefaults(Path f) throws IOException
FileSystemgetServerDefaults in class FileSystemf - path is used to identify an FS since an FS could have
another FS that it could be delegating the call toIOException - IO failurepublic ContentSummary getContentSummary(Path f) throws IOException
FileSystemContentSummary of a given Path.getContentSummary in class FileSystemf - path to useFileNotFoundException - if the path does not resolveIOException - IO failurepublic QuotaUsage getQuotaUsage(Path f) throws IOException
FileSystemQuotaUsage of a given Path.getQuotaUsage in class FileSystemf - path to useIOException - IO failurepublic void setWriteChecksum(boolean writeChecksum)
FileSystemsetWriteChecksum in class FileSystemwriteChecksum - Write checksum flagpublic FileSystem[] getChildFileSystems()
FileSystempublic org.apache.hadoop.fs.viewfs.ViewFileSystem.MountPoint[] getMountPoints()
public Path createSnapshot(Path path, String snapshotName) throws IOException
FileSystemcreateSnapshot in class FileSystempath - The directory where snapshots will be taken.snapshotName - The name of the snapshotIOException - IO failurepublic void renameSnapshot(Path path, String snapshotOldName, String snapshotNewName) throws IOException
FileSystemrenameSnapshot in class FileSystempath - The directory path where the snapshot was takensnapshotOldName - Old name of the snapshotsnapshotNewName - New name of the snapshotIOException - IO failurepublic void deleteSnapshot(Path path, String snapshotName) throws IOException
FileSystemdeleteSnapshot in class FileSystempath - The directory that the to-be-deleted snapshot belongs tosnapshotName - The name of the snapshotIOException - IO failurepublic Path getTrashRoot(Path path)
getTrashRoot in class FileSystempath - the trash root of the path to be determined.public Collection<FileStatus> getTrashRoots(boolean allUsers)
getTrashRoots in class FileSystemallUsers - return trash roots for all users if true.public void close()
throws IOException
FileSystemFileSystem.deleteOnExit(Path), and remove this FS instance
from the cache, if cached.
After this operation, the outcome of any method call on this FileSystem
instance, or any input/output stream created by it is undefined.close in interface Closeableclose in interface AutoCloseableclose in class FileSystemIOException - IO failureCopyright © 2022 Apache Software Foundation. All rights reserved.