@InterfaceAudience.Public @InterfaceStability.Stable public abstract class ChecksumFileSystem extends FilterFileSystem
fs, swapScheme
DEFAULT_FS, FS_DEFAULT_NAME_KEY, LOG, SHUTDOWN_HOOK_PRIORITY, statistics
Constructor and Description |
---|
ChecksumFileSystem(FileSystem fs) |
Modifier and Type | Method and Description |
---|---|
FSDataOutputStream |
append(Path f,
int bufferSize,
Progressable progress)
Append to an existing file (optional operation).
|
void |
completeLocalOutput(Path fsOutputFile,
Path tmpLocalFile)
Called when we're all done writing to the target.
|
void |
copyFromLocalFile(boolean delSrc,
Path src,
Path dst)
The src file is on the local disk.
|
void |
copyToLocalFile(boolean delSrc,
Path src,
Path dst)
The src file is under FS, and the dst is on the local disk.
|
void |
copyToLocalFile(Path src,
Path dst,
boolean copyCrc)
The src file is under FS, and the dst is on the local disk.
|
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.
|
boolean |
delete(Path f,
boolean recursive)
Implement the delete(Path, boolean) in checksum
file system.
|
static double |
getApproxChkSumLength(long size) |
int |
getBytesPerSum()
Return the bytes Per Checksum
|
Path |
getChecksumFile(Path file)
Return the name of the checksum file associated with a file.
|
long |
getChecksumFileLength(Path file,
long fileSize)
Return the length of the checksum file given the size of the
actual file.
|
static long |
getChecksumLength(long size,
int bytesPerSum)
Calculated the length of the checksum file in bytes.
|
FileSystem |
getRawFileSystem()
get the raw file system
|
static boolean |
isChecksumFile(Path file)
Return true iff file is a checksum file name.
|
org.apache.hadoop.fs.RemoteIterator<LocatedFileStatus> |
listLocatedStatus(Path f)
List the statuses of the files/directories in the given path if the path is
a directory.
|
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)
Call
FileSystem.mkdirs(Path, FsPermission) with default permission. |
FSDataInputStream |
open(Path f,
int bufferSize)
Opens an FSDataInputStream at the indicated Path.
|
boolean |
rename(Path src,
Path dst)
Rename files/dirs
|
boolean |
reportChecksumFailure(Path f,
FSDataInputStream in,
long inPos,
FSDataInputStream sums,
long sumsPos)
Report a checksum error to the file system.
|
void |
setConf(Configuration conf)
Set the configuration to be used by this object.
|
boolean |
setReplication(Path src,
short replication)
Set replication for an existing file.
|
void |
setVerifyChecksum(boolean verifyChecksum)
Set whether to verify checksum.
|
void |
setWriteChecksum(boolean writeChecksum)
Set the write checksum flag.
|
Path |
startLocalOutput(Path fsOutputFile,
Path tmpLocalFile)
Returns a local File that the user can write output to.
|
checkPath, close, copyFromLocalFile, copyFromLocalFile, getCanonicalUri, getChildFileSystems, getConf, getContentSummary, getDefaultBlockSize, getDefaultBlockSize, getDefaultReplication, getDefaultReplication, getFileBlockLocations, getFileChecksum, getFileStatus, getHomeDirectory, getInitialWorkingDirectory, getServerDefaults, getServerDefaults, getStatus, getUri, getUsed, getWorkingDirectory, initialize, listCorruptFileBlocks, makeQualified, mkdirs, primitiveCreate, primitiveMkdir, resolvePath, setOwner, setPermission, setTimes, setWorkingDirectory
append, append, cancelDeleteOnExit, clearStatistics, closeAll, closeAllForUGI, copyFromLocalFile, copyToLocalFile, copyToLocalFile, create, create, create, create, create, create, create, create, create, create, create, createNewFile, createNonRecursive, delete, deleteOnExit, exists, get, get, get, getAllStatistics, getBlockSize, getDefaultPort, getDefaultUri, getFileBlockLocations, getLength, getLocal, getName, getNamed, getReplication, getStatistics, getStatistics, getStatus, globStatus, globStatus, isDirectory, isFile, listFiles, listLocatedStatus, listStatus, listStatus, listStatus, mkdirs, moveFromLocalFile, moveFromLocalFile, moveToLocalFile, newInstance, newInstance, newInstance, newInstanceLocal, open, primitiveMkdir, printStatistics, processDeleteOnExit, rename, setDefaultUri, setDefaultUri
public ChecksumFileSystem(FileSystem fs)
public static double getApproxChkSumLength(long size)
public void setConf(Configuration conf)
Configurable
setConf
in interface Configurable
setConf
in class Configured
public void setVerifyChecksum(boolean verifyChecksum)
setVerifyChecksum
in class FilterFileSystem
public void setWriteChecksum(boolean writeChecksum)
FileSystem
setWriteChecksum
in class FilterFileSystem
public FileSystem getRawFileSystem()
getRawFileSystem
in class FilterFileSystem
public Path getChecksumFile(Path file)
public static boolean isChecksumFile(Path file)
public long getChecksumFileLength(Path file, long fileSize)
public int getBytesPerSum()
public FSDataInputStream open(Path f, int bufferSize) throws IOException
open
in class FilterFileSystem
f
- the file name to openbufferSize
- the size of the buffer to be used.IOException
public FSDataOutputStream append(Path f, int bufferSize, Progressable progress) throws IOException
append
in class FilterFileSystem
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
public static long getChecksumLength(long size, int bytesPerSum)
size
- the length of the data file in bytesbytesPerSum
- the number of bytes in a checksum blockpublic FSDataOutputStream create(Path f, FsPermission permission, boolean overwrite, int bufferSize, short replication, long blockSize, Progressable progress) throws IOException
create
in class FilterFileSystem
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.IOException
FileSystem.setPermission(Path, FsPermission)
public FSDataOutputStream createNonRecursive(Path f, FsPermission permission, boolean overwrite, int bufferSize, short replication, long blockSize, Progressable progress) throws IOException
createNonRecursive
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.IOException
FileSystem.setPermission(Path, FsPermission)
public boolean setReplication(Path src, short replication) throws IOException
setReplication
in class FilterFileSystem
src
- file namereplication
- new replicationIOException
public boolean rename(Path src, Path dst) throws IOException
rename
in class FilterFileSystem
src
- path to be renameddst
- new path after renameIOException
- on failurepublic boolean delete(Path f, boolean recursive) throws IOException
delete
in class FilterFileSystem
f
- 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
public FileStatus[] listStatus(Path f) throws IOException
listStatus
in class FilterFileSystem
f
- given pathIOException
FileNotFoundException
- when the path does not exist;
IOException see specific implementationpublic org.apache.hadoop.fs.RemoteIterator<LocatedFileStatus> listLocatedStatus(Path f) throws IOException
listLocatedStatus
in class FilterFileSystem
f
- given pathIOException
FileNotFoundException
- If f
does not existpublic boolean mkdirs(Path f) throws IOException
FileSystem
FileSystem.mkdirs(Path, FsPermission)
with default permission.mkdirs
in class FileSystem
IOException
public void copyFromLocalFile(boolean delSrc, Path src, Path dst) throws IOException
FilterFileSystem
copyFromLocalFile
in class FilterFileSystem
delSrc
- whether to delete the srcsrc
- pathdst
- pathIOException
public void copyToLocalFile(boolean delSrc, Path src, Path dst) throws IOException
copyToLocalFile
in class FilterFileSystem
delSrc
- whether to delete the srcsrc
- pathdst
- pathIOException
public void copyToLocalFile(Path src, Path dst, boolean copyCrc) throws IOException
IOException
public Path startLocalOutput(Path fsOutputFile, Path tmpLocalFile) throws IOException
FilterFileSystem
startLocalOutput
in class FilterFileSystem
fsOutputFile
- path of output filetmpLocalFile
- path of local tmp fileIOException
public void completeLocalOutput(Path fsOutputFile, Path tmpLocalFile) throws IOException
FilterFileSystem
completeLocalOutput
in class FilterFileSystem
fsOutputFile
- path of output filetmpLocalFile
- path to local tmp fileIOException
public boolean reportChecksumFailure(Path f, FSDataInputStream in, long inPos, FSDataInputStream sums, long sumsPos)
f
- the file name containing the errorin
- the stream open on the fileinPos
- the position of the beginning of the bad data in the filesums
- the stream open on the checksum filesumsPos
- the position of the beginning of the bad data in the checksum fileCopyright © 2014 Apache Software Foundation. All Rights Reserved.