|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.hadoop.conf.Configured org.apache.hadoop.fs.FileSystem org.apache.hadoop.fs.FilterFileSystem org.apache.hadoop.fs.ChecksumFileSystem
@InterfaceAudience.Public @InterfaceStability.Stable public abstract class ChecksumFileSystem
Abstract Checksumed FileSystem. It provide a basic implementation of a Checksumed FileSystem, which creates a checksum file for each raw file. It generates & verifies checksums at the client side.
Field Summary |
---|
Fields inherited from class org.apache.hadoop.fs.FilterFileSystem |
---|
fs, swapScheme |
Fields inherited from class org.apache.hadoop.fs.FileSystem |
---|
DEFAULT_FS, FS_DEFAULT_NAME_KEY, LOG, SHUTDOWN_HOOK_PRIORITY, statistics |
Constructor Summary | |
---|---|
ChecksumFileSystem(FileSystem fs)
|
Method Summary | |
---|---|
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ChecksumFileSystem(FileSystem fs)
Method Detail |
---|
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
FileSystem
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 block
public FSDataOutputStream create(Path f, FsPermission permission, boolean overwrite, int bufferSize, short replication, long blockSize, Progressable progress) throws IOException
FileSystem
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
FileSystem
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 replication
IOException
public boolean rename(Path src, Path dst) throws IOException
rename
in class FilterFileSystem
src
- path to be renameddst
- new path after rename
IOException
- 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 path
IOException
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 path
IOException
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
- path
IOException
public void copyToLocalFile(boolean delSrc, Path src, Path dst) throws IOException
copyToLocalFile
in class FilterFileSystem
delSrc
- whether to delete the srcsrc
- pathdst
- path
IOException
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 file
IOException
public void completeLocalOutput(Path fsOutputFile, Path tmpLocalFile) throws IOException
FilterFileSystem
completeLocalOutput
in class FilterFileSystem
fsOutputFile
- path of output filetmpLocalFile
- path to local tmp file
IOException
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 file
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |