|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.hadoop.fs.AbstractFileSystem
@InterfaceAudience.Public @InterfaceStability.Evolving public abstract class AbstractFileSystem
This class provides an interface for implementors of a Hadoop file system
(analogous to the VFS of Unix). Applications do not access this class;
instead they access files across all file systems using FileContext
.
Pathnames passed to AbstractFileSystem can be fully qualified URI that
matches the "this" file system (ie same scheme and authority)
or a Slash-relative name that is assumed to be relative
to the root of the "this" file system .
Field Summary | |
---|---|
protected FileSystem.Statistics |
statistics
The statistics for this file system. |
Constructor Summary | |
---|---|
protected |
AbstractFileSystem(URI uri,
String supportedScheme,
boolean authorityNeeded,
int defaultPort)
Constructor to be called by subclasses. |
Method Summary | |
---|---|
protected void |
checkPath(Path path)
Check that a Path belongs to this FileSystem. |
protected void |
checkScheme(URI uri,
String supportedScheme)
|
protected static void |
clearStatistics()
|
protected FSDataOutputStream |
create(Path f,
EnumSet<CreateFlag> createFlag,
Options.CreateOpts... opts)
The specification of this method matches that of FileContext.create(Path, EnumSet, Options.CreateOpts...) except
that the Path f must be fully qualified and the permission is absolute
(i.e. |
protected abstract FSDataOutputStream |
createInternal(Path f,
EnumSet<CreateFlag> flag,
FsPermission absolutePermission,
int bufferSize,
short replication,
long blockSize,
Progressable progress,
int bytesPerChecksum,
boolean createParent)
The specification of this method matches that of create(Path, EnumSet, Options.CreateOpts...) except that the opts
have been declared explicitly. |
protected void |
createSymlink(Path target,
Path link,
boolean createParent)
The specification of this method matches that of FileContext.createSymlink(Path, Path, boolean) ; |
protected abstract boolean |
delete(Path f,
boolean recursive)
The specification of this method matches that of FileContext.delete(Path, boolean) except that Path f must be for
this file system. |
protected abstract BlockLocation[] |
getFileBlockLocations(Path f,
long start,
long len)
The specification of this method matches that of FileContext.getFileBlockLocations(Path, long, long) except that
Path f must be for this file system. |
protected abstract FileChecksum |
getFileChecksum(Path f)
The specification of this method matches that of FileContext.getFileChecksum(Path) except that Path f must be for
this file system. |
protected FileStatus |
getFileLinkStatus(Path f)
The specification of this method matches that of FileContext.getFileLinkStatus(Path)
except that an UnresolvedLinkException may be thrown if a symlink is
encountered in the path leading up to the final path component. |
protected abstract FileStatus |
getFileStatus(Path f)
The specification of this method matches that of FileContext.getFileStatus(Path)
except that an UnresolvedLinkException may be thrown if a symlink is
encountered in the path. |
protected abstract FsStatus |
getFsStatus()
The specification of this method matches that of FileContext.getFsStatus(Path) . |
protected FsStatus |
getFsStatus(Path f)
The specification of this method matches that of FileContext.getFsStatus(Path) except that Path f must be for this
file system. |
protected Path |
getHomeDirectory()
Return the current user's home directory in this file system. |
protected Path |
getInitialWorkingDirectory()
Some file systems like LocalFileSystem have an initial workingDir that is used as the starting workingDir. |
protected Path |
getLinkTarget(Path f)
The specification of this method matches that of FileContext.getLinkTarget(Path) ; |
protected abstract FsServerDefaults |
getServerDefaults()
Return a set of server default configuration values. |
protected FileSystem.Statistics |
getStatistics()
|
protected static FileSystem.Statistics |
getStatistics(String scheme,
Class<? extends AbstractFileSystem> cls)
Get the statistics for a particular file system. |
protected URI |
getUri()
Returns a URI whose scheme and authority identify this FileSystem. |
protected abstract int |
getUriDefaultPort()
The default port of this file system. |
protected String |
getUriPath(Path p)
Get the path-part of a pathname. |
protected abstract FileStatus[] |
listStatus(Path f)
The specification of this method matches that of FileContext.Util.listStatus(Path) except that Path f must be
for this file system. |
protected Iterator<FileStatus> |
listStatusIterator(Path f)
The specification of this method matches that of FileContext.listStatus(Path) except that Path f must be for this
file system. |
protected abstract void |
mkdir(Path dir,
FsPermission permission,
boolean createParent)
The specification of this method matches that of FileContext.mkdir(Path, FsPermission, boolean) except that the Path
f must be fully qualified and the permission is absolute (i.e. |
protected FSDataInputStream |
open(Path f)
The specification of this method matches that of FileContext.open(Path) except that Path f must be for this
file system. |
protected abstract FSDataInputStream |
open(Path f,
int bufferSize)
The specification of this method matches that of FileContext.open(Path, int) except that Path f must be for this
file system. |
protected static void |
printStatistics()
|
protected void |
rename(Path src,
Path dst,
Options.Rename... options)
The specification of this method matches that of FileContext.rename(Path, Path, Options.Rename...) except that Path
f must be for this file system. |
protected abstract void |
renameInternal(Path src,
Path dst)
The specification of this method matches that of FileContext.rename(Path, Path, Options.Rename...) except that Path
f must be for this file system and NO OVERWRITE is performed. |
protected void |
renameInternal(Path src,
Path dst,
boolean overwrite)
The specification of this method matches that of FileContext.rename(Path, Path, Options.Rename...) except that Path
f must be for this file system. |
protected abstract void |
setOwner(Path f,
String username,
String groupname)
The specification of this method matches that of FileContext.setOwner(Path, String, String) except that Path f must
be for this file system. |
protected abstract void |
setPermission(Path f,
FsPermission permission)
The specification of this method matches that of FileContext.setPermission(Path, FsPermission) except that Path f
must be for this file system. |
protected abstract boolean |
setReplication(Path f,
short replication)
The specification of this method matches that of FileContext.setReplication(Path, short) except that Path f must be
for this file system. |
protected abstract void |
setTimes(Path f,
long mtime,
long atime)
The specification of this method matches that of FileContext.setTimes(Path, long, long) except that Path f must be
for this file system. |
protected abstract void |
setVerifyChecksum(boolean verifyChecksum)
The specification of this method matches that of FileContext.setVerifyChecksum(boolean, Path) except that Path f
must be for this file system. |
protected boolean |
supportsSymlinks()
Returns true if the file system supports symlinks, false otherwise. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected FileSystem.Statistics statistics
Constructor Detail |
---|
protected AbstractFileSystem(URI uri, String supportedScheme, boolean authorityNeeded, int defaultPort) throws URISyntaxException
uri
- for this file system.supportedScheme
- the scheme supported by the implementorauthorityNeeded
- if true then theURI must have authority, if false
then the URI must have null authority.
URISyntaxException
- uri
has syntax errorMethod Detail |
---|
protected FileSystem.Statistics getStatistics()
protected static FileSystem.Statistics getStatistics(String scheme, Class<? extends AbstractFileSystem> cls)
cls
- the class to lookup
protected static void clearStatistics()
protected static void printStatistics()
protected void checkScheme(URI uri, String supportedScheme)
protected abstract int getUriDefaultPort()
protected URI getUri()
protected void checkPath(Path path)
InvalidPathException
- if the path is invalidprotected String getUriPath(Path p)
p
- path
protected Path getInitialWorkingDirectory()
protected Path getHomeDirectory()
protected abstract FsServerDefaults getServerDefaults() throws IOException
IOException
- an I/O error occurredprotected final FSDataOutputStream create(Path f, EnumSet<CreateFlag> createFlag, Options.CreateOpts... opts) throws org.apache.hadoop.security.AccessControlException, FileAlreadyExistsException, FileNotFoundException, ParentNotDirectoryException, UnsupportedFileSystemException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
FileContext.create(Path, EnumSet, Options.CreateOpts...)
except
that the Path f must be fully qualified and the permission is absolute
(i.e. umask has been applied).
org.apache.hadoop.security.AccessControlException
FileAlreadyExistsException
FileNotFoundException
ParentNotDirectoryException
UnsupportedFileSystemException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected abstract FSDataOutputStream createInternal(Path f, EnumSet<CreateFlag> flag, FsPermission absolutePermission, int bufferSize, short replication, long blockSize, Progressable progress, int bytesPerChecksum, boolean createParent) throws org.apache.hadoop.security.AccessControlException, FileAlreadyExistsException, FileNotFoundException, ParentNotDirectoryException, UnsupportedFileSystemException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
create(Path, EnumSet, Options.CreateOpts...)
except that the opts
have been declared explicitly.
org.apache.hadoop.security.AccessControlException
FileAlreadyExistsException
FileNotFoundException
ParentNotDirectoryException
UnsupportedFileSystemException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected abstract void mkdir(Path dir, FsPermission permission, boolean createParent) throws org.apache.hadoop.security.AccessControlException, FileAlreadyExistsException, FileNotFoundException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
FileContext.mkdir(Path, FsPermission, boolean)
except that the Path
f must be fully qualified and the permission is absolute (i.e.
umask has been applied).
org.apache.hadoop.security.AccessControlException
FileAlreadyExistsException
FileNotFoundException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected abstract boolean delete(Path f, boolean recursive) throws org.apache.hadoop.security.AccessControlException, FileNotFoundException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
FileContext.delete(Path, boolean)
except that Path f must be for
this file system.
org.apache.hadoop.security.AccessControlException
FileNotFoundException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected FSDataInputStream open(Path f) throws org.apache.hadoop.security.AccessControlException, FileNotFoundException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
FileContext.open(Path)
except that Path f must be for this
file system.
org.apache.hadoop.security.AccessControlException
FileNotFoundException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected abstract FSDataInputStream open(Path f, int bufferSize) throws org.apache.hadoop.security.AccessControlException, FileNotFoundException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
FileContext.open(Path, int)
except that Path f must be for this
file system.
org.apache.hadoop.security.AccessControlException
FileNotFoundException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected abstract boolean setReplication(Path f, short replication) throws org.apache.hadoop.security.AccessControlException, FileNotFoundException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
FileContext.setReplication(Path, short)
except that Path f must be
for this file system.
org.apache.hadoop.security.AccessControlException
FileNotFoundException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected final void rename(Path src, Path dst, Options.Rename... options) throws org.apache.hadoop.security.AccessControlException, FileAlreadyExistsException, FileNotFoundException, ParentNotDirectoryException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
FileContext.rename(Path, Path, Options.Rename...)
except that Path
f must be for this file system.
org.apache.hadoop.security.AccessControlException
FileAlreadyExistsException
FileNotFoundException
ParentNotDirectoryException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected abstract void renameInternal(Path src, Path dst) throws org.apache.hadoop.security.AccessControlException, FileAlreadyExistsException, FileNotFoundException, ParentNotDirectoryException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
FileContext.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 other
renameInternal(Path, Path, boolean)
org.apache.hadoop.security.AccessControlException
FileAlreadyExistsException
FileNotFoundException
ParentNotDirectoryException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected void renameInternal(Path src, Path dst, boolean overwrite) throws org.apache.hadoop.security.AccessControlException, FileAlreadyExistsException, FileNotFoundException, ParentNotDirectoryException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
FileContext.rename(Path, Path, Options.Rename...)
except that Path
f must be for this file system.
org.apache.hadoop.security.AccessControlException
FileAlreadyExistsException
FileNotFoundException
ParentNotDirectoryException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected boolean supportsSymlinks()
protected void createSymlink(Path target, Path link, boolean createParent) throws IOException, org.apache.hadoop.fs.UnresolvedLinkException
FileContext.createSymlink(Path, Path, boolean)
;
IOException
org.apache.hadoop.fs.UnresolvedLinkException
protected Path getLinkTarget(Path f) throws IOException
FileContext.getLinkTarget(Path)
;
IOException
protected abstract void setPermission(Path f, FsPermission permission) throws org.apache.hadoop.security.AccessControlException, FileNotFoundException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
FileContext.setPermission(Path, FsPermission)
except that Path f
must be for this file system.
org.apache.hadoop.security.AccessControlException
FileNotFoundException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected abstract void setOwner(Path f, String username, String groupname) throws org.apache.hadoop.security.AccessControlException, FileNotFoundException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
FileContext.setOwner(Path, String, String)
except that Path f must
be for this file system.
org.apache.hadoop.security.AccessControlException
FileNotFoundException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected abstract void setTimes(Path f, long mtime, long atime) throws org.apache.hadoop.security.AccessControlException, FileNotFoundException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
FileContext.setTimes(Path, long, long)
except that Path f must be
for this file system.
org.apache.hadoop.security.AccessControlException
FileNotFoundException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected abstract FileChecksum getFileChecksum(Path f) throws org.apache.hadoop.security.AccessControlException, FileNotFoundException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
FileContext.getFileChecksum(Path)
except that Path f must be for
this file system.
org.apache.hadoop.security.AccessControlException
FileNotFoundException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected abstract FileStatus getFileStatus(Path f) throws org.apache.hadoop.security.AccessControlException, FileNotFoundException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
FileContext.getFileStatus(Path)
except that an UnresolvedLinkException may be thrown if a symlink is
encountered in the path.
org.apache.hadoop.security.AccessControlException
FileNotFoundException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected FileStatus getFileLinkStatus(Path f) throws org.apache.hadoop.security.AccessControlException, FileNotFoundException, UnsupportedFileSystemException, IOException
FileContext.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 to getFileStatus(Path)
.
org.apache.hadoop.security.AccessControlException
FileNotFoundException
UnsupportedFileSystemException
IOException
protected abstract BlockLocation[] getFileBlockLocations(Path f, long start, long len) throws org.apache.hadoop.security.AccessControlException, FileNotFoundException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
FileContext.getFileBlockLocations(Path, long, long)
except that
Path f must be for this file system.
org.apache.hadoop.security.AccessControlException
FileNotFoundException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected FsStatus getFsStatus(Path f) throws org.apache.hadoop.security.AccessControlException, FileNotFoundException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
FileContext.getFsStatus(Path)
except that Path f must be for this
file system.
org.apache.hadoop.security.AccessControlException
FileNotFoundException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected abstract FsStatus getFsStatus() throws org.apache.hadoop.security.AccessControlException, FileNotFoundException, IOException
FileContext.getFsStatus(Path)
.
org.apache.hadoop.security.AccessControlException
FileNotFoundException
IOException
protected Iterator<FileStatus> listStatusIterator(Path f) throws org.apache.hadoop.security.AccessControlException, FileNotFoundException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
FileContext.listStatus(Path)
except that Path f must be for this
file system.
org.apache.hadoop.security.AccessControlException
FileNotFoundException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected abstract FileStatus[] listStatus(Path f) throws org.apache.hadoop.security.AccessControlException, FileNotFoundException, org.apache.hadoop.fs.UnresolvedLinkException, IOException
FileContext.Util.listStatus(Path)
except that Path f must be
for this file system.
org.apache.hadoop.security.AccessControlException
FileNotFoundException
org.apache.hadoop.fs.UnresolvedLinkException
IOException
protected abstract void setVerifyChecksum(boolean verifyChecksum) throws org.apache.hadoop.security.AccessControlException, IOException
FileContext.setVerifyChecksum(boolean, Path)
except that Path f
must be for this file system.
org.apache.hadoop.security.AccessControlException
IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |