@InterfaceAudience.Public @InterfaceStability.Stable public class RawLocalFileSystem extends FileSystem
DEFAULT_FS, FS_DEFAULT_NAME_KEY, SHUTDOWN_HOOK_PRIORITY, statistics, TRASH_PREFIX, USER_HOME_PREFIX
Constructor and Description |
---|
RawLocalFileSystem() |
Modifier and Type | Method and Description |
---|---|
FSDataOutputStream |
append(Path f,
int bufferSize,
Progressable progress)
Append to an existing file (optional operation).
|
void |
close()
Close this FileSystem instance.
|
void |
completeLocalOutput(Path fsWorkingFile,
Path tmpLocalFile)
Called when we're all done writing to the target.
|
void |
concat(Path trg,
Path[] psrcs)
Concat existing files together.
|
FSDataOutputStream |
create(Path f,
boolean overwrite,
int bufferSize,
short replication,
long blockSize,
Progressable progress)
Create an FSDataOutputStream at the indicated Path with write-progress
reporting.
|
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,
boolean overwrite,
int bufferSize,
short replication,
long blockSize,
Progressable progress)
Opens 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.
|
protected OutputStream |
createOutputStream(Path f,
boolean append) |
protected OutputStream |
createOutputStreamWithMode(Path f,
boolean append,
FsPermission permission) |
protected PathHandle |
createPathHandle(FileStatus stat,
org.apache.hadoop.fs.Options.HandleOpt... opts)
Hook to implement support for
PathHandle operations. |
void |
createSymlink(Path target,
Path link,
boolean createParent)
|
boolean |
delete(Path p,
boolean recursive)
Delete the given path to a file or directory.
|
boolean |
exists(Path f)
Check if a path exists.
|
FileStatus |
getFileLinkStatus(Path f)
Return a FileStatus representing the given path.
|
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.
|
protected Path |
getInitialWorkingDirectory()
Note: with the new FileContext class, getWorkingDirectory()
will be removed.
|
Path |
getLinkTarget(Path f)
|
FsStatus |
getStatus(Path p)
Returns a status object describing the use and capacity of the
filesystem.
|
URI |
getUri()
Returns a URI which identifies this FileSystem.
|
Path |
getWorkingDirectory()
Get the current working directory for the given FileSystem
|
boolean |
handleEmptyDstDirectoryOnWindows(Path src,
File srcFile,
Path dst,
File dstFile) |
boolean |
hasPathCapability(Path path,
String capability)
The base FileSystem implementation generally has no knowledge
of the capabilities of actual implementations.
|
void |
initialize(URI uri,
Configuration conf)
Initialize a FileSystem.
|
FileStatus[] |
listStatus(Path f)
List the statuses of the files/directories in the given path if the path is
a directory.
|
boolean |
mkdirs(Path f)
Creates the specified directory hierarchy.
|
boolean |
mkdirs(Path f,
FsPermission permission)
Make the given file and all non-existent parents into
directories.
|
protected boolean |
mkOneDir(File p2f) |
protected boolean |
mkOneDirWithMode(Path p,
File p2f,
FsPermission permission) |
void |
moveFromLocalFile(Path src,
Path dst)
The src file is on the local disk.
|
FSDataInputStream |
open(PathHandle fd,
int bufferSize)
Open an FSDataInputStream matching the PathHandle instance.
|
FSDataInputStream |
open(Path f,
int bufferSize)
Opens an FSDataInputStream at the indicated Path.
|
File |
pathToFile(Path path)
Convert a path to a File.
|
boolean |
rename(Path src,
Path dst)
Renames Path src to Path dst.
|
void |
setOwner(Path p,
String username,
String groupname)
Use the command chown to set owner.
|
void |
setPermission(Path p,
FsPermission permission)
Use the command chmod to set permission.
|
void |
setTimes(Path p,
long mtime,
long atime)
Sets the
Path 's last modified time and last access time to
the given valid times. |
void |
setWorkingDirectory(Path newDir)
Set the working directory to the given directory.
|
Path |
startLocalOutput(Path fsOutputFile,
Path tmpLocalFile)
Returns a local file that the user can write output to.
|
boolean |
supportsSymlinks()
|
String |
toString() |
boolean |
truncate(Path f,
long newLength)
Truncate the file in the indicated path to the indicated size.
|
static void |
useStatIfAvailable() |
append, append, append, append, appendFile, areSymlinksEnabled, cancelDeleteOnExit, canonicalizeUri, checkPath, clearStatistics, closeAll, closeAllForUGI, copyFromLocalFile, copyFromLocalFile, copyFromLocalFile, copyFromLocalFile, copyToLocalFile, copyToLocalFile, copyToLocalFile, create, create, create, create, create, create, create, create, create, create, create, createDataOutputStreamBuilder, createFile, createMultipartUploader, createNewFile, createNonRecursive, createSnapshot, createSnapshot, delete, deleteOnExit, deleteSnapshot, enableSymlinks, fixRelativePart, get, get, get, getAclStatus, getAllStatistics, getAllStoragePolicies, getBlockSize, getCanonicalServiceName, getCanonicalUri, getContentSummary, getDefaultBlockSize, getDefaultBlockSize, getDefaultPort, getDefaultReplication, getDefaultReplication, getDefaultUri, getEnclosingRoot, getFileBlockLocations, getFileBlockLocations, getFileChecksum, getFileChecksum, getFileSystemClass, getFSofPath, getGlobalStorageStatistics, getLength, getLocal, getName, getNamed, getPathHandle, getQuotaUsage, getReplication, getScheme, getServerDefaults, getServerDefaults, getStatistics, getStatistics, getStatus, getStoragePolicy, getStorageStatistics, getTrashRoot, getTrashRoots, getUsed, getUsed, getXAttr, getXAttrs, getXAttrs, globStatus, globStatus, isDirectory, isFile, listCorruptFileBlocks, listFiles, listLocatedStatus, listLocatedStatus, listStatus, listStatus, listStatus, listStatusIterator, listXAttrs, makeQualified, mkdirs, modifyAclEntries, moveFromLocalFile, moveToLocalFile, msync, newInstance, newInstance, newInstance, newInstanceLocal, open, open, openFile, openFile, openFileWithOptions, openFileWithOptions, primitiveCreate, primitiveMkdir, primitiveMkdir, printStatistics, processDeleteOnExit, removeAcl, removeAclEntries, removeDefaultAcl, removeXAttr, rename, renameSnapshot, resolveLink, resolvePath, satisfyStoragePolicy, setAcl, setDefaultUri, setDefaultUri, setQuota, setQuotaByStorageType, setReplication, setStoragePolicy, setVerifyChecksum, setWriteChecksum, setXAttr, setXAttr, unsetStoragePolicy
getConf, setConf
@VisibleForTesting public static void useStatIfAvailable()
public File pathToFile(Path path)
path
- the path.public URI getUri()
FileSystem
getUri
in class FileSystem
public void initialize(URI uri, Configuration conf) throws IOException
FileSystem
initialize
in class FileSystem
uri
- a URI whose authority section names the host, port, etc.
for this FileSystemconf
- the configurationIOException
- on any failure to initialize this instance.public FSDataInputStream open(Path f, int bufferSize) throws IOException
FileSystem
open
in class FileSystem
f
- the file name to openbufferSize
- the size of the buffer to be used.IOException
- IO failurepublic FSDataInputStream open(PathHandle fd, int bufferSize) throws IOException
FileSystem
open
in class FileSystem
fd
- PathHandle object returned by the FS authority.bufferSize
- the size of the buffer to useInvalidPathHandleException
- If PathHandle
constraints are
not satisfiedIOException
- IO failurepublic FSDataOutputStream append(Path f, int bufferSize, Progressable progress) throws IOException
FileSystem
append
in class FileSystem
f
- 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 create(Path f, boolean overwrite, int bufferSize, short replication, long blockSize, Progressable progress) throws IOException
FileSystem
create
in class FileSystem
f
- the file name to openoverwrite
- 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
- the size of the buffer to be used.progress
- to report progress.IOException
- IO failureprotected OutputStream createOutputStream(Path f, boolean append) throws IOException
IOException
protected OutputStream createOutputStreamWithMode(Path f, boolean append, FsPermission permission) throws IOException
IOException
public FSDataOutputStream createNonRecursive(Path f, FsPermission permission, EnumSet<CreateFlag> flags, int bufferSize, short replication, long blockSize, Progressable progress) throws IOException
FileSystem
createNonRecursive
in class FileSystem
f
- the file name to openpermission
- file permissionflags
- CreateFlag
s 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
FileSystem
create
in class FileSystem
f
- 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 FSDataOutputStream createNonRecursive(Path f, FsPermission permission, boolean overwrite, int bufferSize, short replication, long blockSize, Progressable progress) throws IOException
FileSystem
createNonRecursive
in class FileSystem
f
- 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 void concat(Path trg, Path[] psrcs) throws IOException
FileSystem
concat
in class FileSystem
trg
- the path to the target destination.psrcs
- the paths to the sources to use for the concatenation.IOException
- IO failurepublic boolean rename(Path src, Path dst) throws IOException
FileSystem
rename
in class FileSystem
src
- path to be renameddst
- new path after renameIOException
- on failure@VisibleForTesting public final boolean handleEmptyDstDirectoryOnWindows(Path src, File srcFile, Path dst, File dstFile) throws IOException
IOException
public boolean truncate(Path f, long newLength) throws IOException
FileSystem
truncate
in class FileSystem
f
- 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 boolean delete(Path p, boolean recursive) throws IOException
delete
in class FileSystem
p
- the path to deleterecursive
- to delete sub-directoriesIOException
- if p is non-empty and recursive is falsepublic FileStatus[] listStatus(Path f) throws IOException
Does not guarantee to return the List of files/directories status in a sorted order.
Will not return null. Expect IOException upon access error.
(Note: Returned list is not sorted in any given order,
due to reliance on Java's File.list()
API.)
listStatus
in class FileSystem
f
- given pathFileNotFoundException
- when the path does not existIOException
- see specific implementationpublic boolean exists(Path f) throws IOException
FileSystem
FileSystem.getFileStatus(Path)
calls, as this will involve multiple redundant
RPC calls in HDFS.exists
in class FileSystem
f
- source pathIOException
- IO failureprotected boolean mkOneDir(File p2f) throws IOException
IOException
protected boolean mkOneDirWithMode(Path p, File p2f, FsPermission permission) throws IOException
IOException
public boolean mkdirs(Path f) throws IOException
mkdirs
in class FileSystem
f
- pathIOException
- IO failurepublic boolean mkdirs(Path f, FsPermission permission) throws IOException
FileSystem
mkdirs
in class FileSystem
f
- path to createpermission
- to apply to fIOException
- IO failurepublic Path getHomeDirectory()
FileSystem
"/user/$USER/"
.getHomeDirectory
in class FileSystem
public void setWorkingDirectory(Path newDir)
setWorkingDirectory
in class FileSystem
newDir
- Path of new working directorypublic Path getWorkingDirectory()
FileSystem
getWorkingDirectory
in class FileSystem
protected Path getInitialWorkingDirectory()
FileSystem
getInitialWorkingDirectory
in class FileSystem
public FsStatus getStatus(Path p) throws IOException
FileSystem
getStatus
in class FileSystem
p
- Path for which status should be obtained. null means
the default partition.IOException
- see specific implementationpublic void moveFromLocalFile(Path src, Path dst) throws IOException
FileSystem
moveFromLocalFile
in class FileSystem
src
- local pathdst
- pathIOException
- IO failurepublic Path startLocalOutput(Path fsOutputFile, Path tmpLocalFile) throws IOException
FileSystem
startLocalOutput
in class FileSystem
fsOutputFile
- path of output filetmpLocalFile
- path of local tmp fileIOException
- IO failurepublic void completeLocalOutput(Path fsWorkingFile, Path tmpLocalFile) throws IOException
FileSystem
completeLocalOutput
in class FileSystem
fsWorkingFile
- path of output filetmpLocalFile
- path to local tmp fileIOException
- IO failurepublic void close() throws IOException
FileSystem
FileSystem.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 Closeable
close
in interface AutoCloseable
close
in class FileSystem
IOException
- IO failurepublic FileStatus getFileStatus(Path f) throws IOException
FileSystem
getFileStatus
in class FileSystem
f
- The path we want information fromFileNotFoundException
- when the path does not existIOException
- see specific implementationpublic void setOwner(Path p, String username, String groupname) throws IOException
setOwner
in class FileSystem
p
- The pathusername
- If it is null, the original username remains unchanged.groupname
- If it is null, the original groupname remains unchanged.IOException
- IO failurepublic void setPermission(Path p, FsPermission permission) throws IOException
setPermission
in class FileSystem
p
- The pathpermission
- permissionIOException
- IO failurepublic void setTimes(Path p, long mtime, long atime) throws IOException
Path
's last modified time and last access time to
the given valid times.setTimes
in class FileSystem
mtime
- the modification time to set (only if no less than zero).atime
- the access time to set (only if no less than zero).p
- The pathIOException
- if setting the times fails.protected PathHandle createPathHandle(FileStatus stat, org.apache.hadoop.fs.Options.HandleOpt... opts)
PathHandle
operations.createPathHandle
in class FileSystem
stat
- Referent in the target FileSystemopts
- Constraints that determine the validity of the
PathHandle
reference.public boolean supportsSymlinks()
FileSystem
supportsSymlinks
in class FileSystem
public void createSymlink(Path target, Path link, boolean createParent) throws IOException
FileSystem
createSymlink
in class FileSystem
target
- target path.link
- link.createParent
- create parent.AccessControlException
- if access is denied.FileAlreadyExistsException
- when the path does not exist.FileNotFoundException
- when the path does not exist.ParentNotDirectoryException
- if the parent path of dest is not
a directory.UnsupportedFileSystemException
- if there was no known implementation
for the scheme.IOException
- raised on errors performing I/O.public FileStatus getFileLinkStatus(Path f) throws IOException
getFileLinkStatus
in class FileSystem
f
- the path.AccessControlException
- if access is denied.FileNotFoundException
- when the path does not exist.IOException
- raised on errors performing I/O.UnsupportedFileSystemException
- if there was no known implementation
for the scheme.public Path getLinkTarget(Path f) throws IOException
FileSystem
getLinkTarget
in class FileSystem
f
- the path.IOException
- IO failure.public boolean hasPathCapability(Path path, String capability) throws IOException
FileSystem
true
, this instance is explicitly
declaring that the capability is available.
If the function returns false
, it can mean one of:
Implementors: PathCapabilitiesSupport
can be used to help implement this method.
hasPathCapability
in interface org.apache.hadoop.fs.PathCapabilities
hasPathCapability
in class FileSystem
path
- path to query the capability of.capability
- non-null, non-empty string to query the path for support.IOException
- this should not be raised, except on problems
resolving paths or relaying the call.Copyright © 2024 Apache Software Foundation. All rights reserved.