org.apache.hadoop.fs.kfs
Class KosmosFileSystem

java.lang.Object
  extended by org.apache.hadoop.conf.Configured
      extended by org.apache.hadoop.fs.FileSystem
          extended by org.apache.hadoop.fs.kfs.KosmosFileSystem
All Implemented Interfaces:
Closeable, Configurable

@InterfaceAudience.Public
@InterfaceStability.Stable
public class KosmosFileSystem
extends FileSystem

A FileSystem backed by KFS.


Field Summary
 
Fields inherited from class org.apache.hadoop.fs.FileSystem
DEFAULT_FS, FS_DEFAULT_NAME_KEY, LOG, SHUTDOWN_HOOK_PRIORITY, statistics
 
Constructor Summary
KosmosFileSystem()
           
 
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.
 FSDataOutputStream create(Path file, FsPermission permission, boolean overwrite, int bufferSize, short replication, long blockSize, Progressable progress)
          Create an FSDataOutputStream at the indicated Path with write-progress reporting.
 boolean delete(Path path, boolean recursive)
          Delete a file.
 long getDefaultBlockSize()
          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.
 BlockLocation[] getFileBlockLocations(FileStatus file, long start, long len)
          Return null if the file doesn't exist; otherwise, get the locations of the various chunks of the file file from KFS.
 FileStatus getFileStatus(Path path)
          Return a file status object that represents the path.
 String getScheme()
          Return the protocol scheme for the FileSystem.
 URI getUri()
          Returns a URI whose scheme and authority identify this FileSystem.
 Path getWorkingDirectory()
          Get the current working directory for the given file system
 void initialize(URI uri, Configuration conf)
          Called after a new FileSystem instance is constructed.
 boolean isDirectory(Path path)
          True iff the named path is a directory.
 boolean isFile(Path path)
          True iff the named path is a regular file.
 FileStatus[] listStatus(Path path)
          List the statuses of the files/directories in the given path if the path is a directory.
 void lock(Path path, boolean shared)
          Deprecated. 
 boolean mkdirs(Path path, FsPermission permission)
          Make the given file and all non-existent parents into directories.
 FSDataInputStream open(Path path, int bufferSize)
          Opens an FSDataInputStream at the indicated Path.
 void release(Path path)
          Deprecated. 
 boolean rename(Path src, Path dst)
          Renames Path src to Path dst.
 boolean setReplication(Path path, short replication)
          Set replication for an existing file.
 void setWorkingDirectory(Path dir)
          Set the current working directory for the given file system.
 Path startLocalOutput(Path fsOutputFile, Path tmpLocalFile)
          Returns a local File that the user can write output to.
 
Methods inherited from class org.apache.hadoop.fs.FileSystem
append, append, cancelDeleteOnExit, checkPath, clearStatistics, close, closeAll, closeAllForUGI, copyFromLocalFile, copyFromLocalFile, copyFromLocalFile, copyToLocalFile, copyToLocalFile, create, create, create, create, create, create, create, create, create, create, create, create, createNewFile, createNonRecursive, createNonRecursive, createNonRecursive, delete, deleteOnExit, exists, get, get, get, getAllStatistics, getBlockSize, getCanonicalUri, getContentSummary, getDefaultBlockSize, getDefaultPort, getDefaultReplication, getDefaultUri, getFileBlockLocations, getFileChecksum, getFileSystemClass, getHomeDirectory, getInitialWorkingDirectory, getLength, getLocal, getName, getNamed, getReplication, getServerDefaults, getServerDefaults, getStatistics, getStatistics, getStatus, getStatus, getUsed, globStatus, globStatus, listCorruptFileBlocks, listFiles, listLocatedStatus, listLocatedStatus, listStatus, listStatus, listStatus, makeQualified, mkdirs, mkdirs, moveFromLocalFile, moveFromLocalFile, moveToLocalFile, newInstance, newInstance, newInstance, newInstanceLocal, open, primitiveCreate, primitiveMkdir, primitiveMkdir, printStatistics, processDeleteOnExit, rename, resolvePath, setDefaultUri, setDefaultUri, setOwner, setPermission, setTimes, setVerifyChecksum, setWriteChecksum
 
Methods inherited from class org.apache.hadoop.conf.Configured
getConf, setConf
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

KosmosFileSystem

public KosmosFileSystem()
Method Detail

getScheme

public String getScheme()
Return the protocol scheme for the FileSystem.

Overrides:
getScheme in class FileSystem
Returns:
kfs

getUri

public URI getUri()
Description copied from class: FileSystem
Returns a URI whose scheme and authority identify this FileSystem.

Specified by:
getUri in class FileSystem

initialize

public void initialize(URI uri,
                       Configuration conf)
                throws IOException
Description copied from class: FileSystem
Called after a new FileSystem instance is constructed.

Overrides:
initialize in class FileSystem
Parameters:
uri - a uri whose authority section names the host, port, etc. for this FileSystem
conf - the configuration
Throws:
IOException

getWorkingDirectory

public Path getWorkingDirectory()
Description copied from class: FileSystem
Get the current working directory for the given file system

Specified by:
getWorkingDirectory in class FileSystem
Returns:
the directory pathname

setWorkingDirectory

public void setWorkingDirectory(Path dir)
Description copied from class: FileSystem
Set the current working directory for the given file system. All relative paths will be resolved relative to it.

Specified by:
setWorkingDirectory in class FileSystem

mkdirs

public boolean mkdirs(Path path,
                      FsPermission permission)
               throws IOException
Description copied from class: FileSystem
Make the given file and all non-existent parents into directories. Has the semantics of Unix 'mkdir -p'. Existence of the directory hierarchy is not an error.

Specified by:
mkdirs in class FileSystem
Parameters:
path - path to create
permission - to apply to f
Throws:
IOException

isDirectory

public boolean isDirectory(Path path)
                    throws IOException
Description copied from class: FileSystem
True iff the named path is a directory. Note: Avoid using this method. Instead reuse the FileStatus returned by getFileStatus() or listStatus() methods.

Overrides:
isDirectory in class FileSystem
Parameters:
path - path to check
Throws:
IOException

isFile

public boolean isFile(Path path)
               throws IOException
Description copied from class: FileSystem
True iff the named path is a regular file. Note: Avoid using this method. Instead reuse the FileStatus returned by getFileStatus() or listStatus() methods.

Overrides:
isFile in class FileSystem
Parameters:
path - path to check
Throws:
IOException

listStatus

public FileStatus[] listStatus(Path path)
                        throws IOException
Description copied from class: FileSystem
List the statuses of the files/directories in the given path if the path is a directory.

Specified by:
listStatus in class FileSystem
Parameters:
path - given path
Returns:
the statuses of the files/directories in the given patch
Throws:
FileNotFoundException - when the path does not exist; IOException see specific implementation
IOException

getFileStatus

public FileStatus getFileStatus(Path path)
                         throws IOException
Description copied from class: FileSystem
Return a file status object that represents the path.

Specified by:
getFileStatus in class FileSystem
Parameters:
path - The path we want information from
Returns:
a FileStatus object
Throws:
FileNotFoundException - when the path does not exist; IOException see specific implementation
IOException

append

public FSDataOutputStream append(Path f,
                                 int bufferSize,
                                 Progressable progress)
                          throws IOException
Description copied from class: FileSystem
Append to an existing file (optional operation).

Specified by:
append in class FileSystem
Parameters:
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.
Throws:
IOException

create

public FSDataOutputStream create(Path file,
                                 FsPermission permission,
                                 boolean overwrite,
                                 int bufferSize,
                                 short replication,
                                 long blockSize,
                                 Progressable progress)
                          throws IOException
Description copied from class: FileSystem
Create an FSDataOutputStream at the indicated Path with write-progress reporting.

Specified by:
create in class FileSystem
Parameters:
file - the file name to open
overwrite - 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.
Throws:
IOException
See Also:
FileSystem.setPermission(Path, FsPermission)

open

public FSDataInputStream open(Path path,
                              int bufferSize)
                       throws IOException
Description copied from class: FileSystem
Opens an FSDataInputStream at the indicated Path.

Specified by:
open in class FileSystem
Parameters:
path - the file name to open
bufferSize - the size of the buffer to be used.
Throws:
IOException

rename

public boolean rename(Path src,
                      Path dst)
               throws IOException
Description copied from class: FileSystem
Renames Path src to Path dst. Can take place on local fs or remote DFS.

Specified by:
rename in class FileSystem
Parameters:
src - path to be renamed
dst - new path after rename
Returns:
true if rename is successful
Throws:
IOException - on failure

delete

public boolean delete(Path path,
                      boolean recursive)
               throws IOException
Description copied from class: FileSystem
Delete a file.

Specified by:
delete in class FileSystem
Parameters:
path - 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.
Returns:
true if delete is successful else false.
Throws:
IOException

getDefaultReplication

public short getDefaultReplication()
Description copied from class: FileSystem
Get the default replication.

Overrides:
getDefaultReplication in class FileSystem

setReplication

public boolean setReplication(Path path,
                              short replication)
                       throws IOException
Description copied from class: FileSystem
Set replication for an existing file.

Overrides:
setReplication in class FileSystem
Parameters:
path - file name
replication - new replication
Returns:
true if successful; false if file does not exist or is a directory
Throws:
IOException

getDefaultBlockSize

public long getDefaultBlockSize()
Description copied from class: FileSystem
Return the number of bytes that large input files should be optimally be split into to minimize i/o time.

Overrides:
getDefaultBlockSize in class FileSystem

lock

@Deprecated
public void lock(Path path,
                            boolean shared)
          throws IOException
Deprecated. 

Throws:
IOException

release

@Deprecated
public void release(Path path)
             throws IOException
Deprecated. 

Throws:
IOException

getFileBlockLocations

public BlockLocation[] getFileBlockLocations(FileStatus file,
                                             long start,
                                             long len)
                                      throws IOException
Return null if the file doesn't exist; otherwise, get the locations of the various chunks of the file file from KFS.

Overrides:
getFileBlockLocations in class FileSystem
Parameters:
file - FilesStatus to get data from
start - offset into the given file
len - length for which to get locations for
Throws:
IOException

copyFromLocalFile

public void copyFromLocalFile(boolean delSrc,
                              Path src,
                              Path dst)
                       throws IOException
Description copied from class: FileSystem
The src file is on the local disk. Add it to FS at the given dst name. delSrc indicates if the source should be removed

Overrides:
copyFromLocalFile in class FileSystem
Parameters:
delSrc - whether to delete the src
src - path
dst - path
Throws:
IOException

copyToLocalFile

public void copyToLocalFile(boolean delSrc,
                            Path src,
                            Path dst)
                     throws IOException
Description copied from class: FileSystem
The src file is under FS, and the dst is on the local disk. Copy it from FS control to the local dst name. delSrc indicates if the src will be removed or not.

Overrides:
copyToLocalFile in class FileSystem
Parameters:
delSrc - whether to delete the src
src - path
dst - path
Throws:
IOException

startLocalOutput

public Path startLocalOutput(Path fsOutputFile,
                             Path tmpLocalFile)
                      throws IOException
Description copied from class: FileSystem
Returns a local File that the user can write output to. The caller provides both the eventual FS target name and the local working file. If the FS is local, we write directly into the target. If the FS is remote, we write into the tmp local area.

Overrides:
startLocalOutput in class FileSystem
Parameters:
fsOutputFile - path of output file
tmpLocalFile - path of local tmp file
Throws:
IOException

completeLocalOutput

public void completeLocalOutput(Path fsOutputFile,
                                Path tmpLocalFile)
                         throws IOException
Description copied from class: FileSystem
Called when we're all done writing to the target. A local FS will do nothing, because we've written to exactly the right place. A remote FS will copy the contents of tmpLocalFile to the correct target at fsOutputFile.

Overrides:
completeLocalOutput in class FileSystem
Parameters:
fsOutputFile - path of output file
tmpLocalFile - path to local tmp file
Throws:
IOException


Copyright © 2012 Apache Software Foundation. All Rights Reserved.