public class NativeS3FileSystem extends FileSystem
A FileSystem for reading and writing files stored on
Amazon S3.
Unlike S3FileSystem this implementation
stores files on S3 in their
native form so they can be read by other S3 tools.
A note about directories. S3 of course has no "native" support for them.
The idiom we choose then is: for any directory created by this class,
we use an empty object "#{dirpath}_$folder$" as a marker.
Further, to interoperate with other S3 tools, we also accept the following:
- an object "#{dirpath}/' denoting a directory marker
- if there exists any objects with the prefix "#{dirpath}/", then the
directory is said to exist
- if both a file with the name of a directory and a marker for that
directory exists, then the *file masks the directory*, and the directory
is never returned.
S3FileSystemFileSystem.Statistics| 限定符和类型 | 字段和说明 |
|---|---|
static org.apache.commons.logging.Log |
LOG |
FS_DEFAULT_NAME_KEY, statistics| 构造器和说明 |
|---|
NativeS3FileSystem() |
NativeS3FileSystem(org.apache.hadoop.fs.s3native.NativeFileSystemStore store) |
| 限定符和类型 | 方法和说明 |
|---|---|
FSDataOutputStream |
append(Path f,
int bufferSize,
Progressable progress)
This optional operation is not yet supported.
|
FSDataOutputStream |
create(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 path)
已过时。
|
boolean |
delete(Path f,
boolean recurse)
Delete a file.
|
FileStatus |
getFileStatus(Path f)
Return a file status object that represents the path.
|
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.
|
FileStatus[] |
listStatus(Path f)
If
f is a file, this method will make a single call to S3. |
boolean |
mkdirs(Path f,
FsPermission permission)
Make the given file and all non-existent parents into
directories.
|
FSDataInputStream |
open(Path f,
int bufferSize)
Opens an FSDataInputStream at the indicated Path.
|
boolean |
rename(Path src,
Path dst)
Renames Path src to Path dst.
|
void |
setWorkingDirectory(Path newDir)
Set the working directory to the given directory.
|
addFileSystemForTesting, append, append, checkPath, clearStatistics, close, closeAll, closeAllForUGI, completeLocalOutput, concat, copyFromLocalFile, copyFromLocalFile, copyFromLocalFile, copyFromLocalFile, copyToLocalFile, copyToLocalFile, create, create, create, create, create, create, create, create, create, create, createNewFile, createNonRecursive, createNonRecursive, deleteOnExit, exists, get, get, get, getAllStatistics, getBlockSize, getCacheSize, getCanonicalServiceName, getCanonicalUri, getContentSummary, getDefaultBlockSize, getDefaultBlockSize, getDefaultPort, getDefaultReplication, getDefaultReplication, getDefaultUri, getDelegationToken, getFileBlockLocations, getFileChecksum, getHomeDirectory, getLength, getLocal, getName, getNamed, getReplication, getStatistics, getStatistics, getUsed, globStatus, globStatus, isDirectory, isFile, listStatus, listStatus, listStatus, makeQualified, mkdirs, mkdirs, moveFromLocalFile, moveFromLocalFile, moveToLocalFile, open, printStatistics, processDeleteOnExit, setDefaultUri, setDefaultUri, setOwner, setPermission, setReplication, setTimes, setVerifyChecksum, startLocalOutputgetConf, setConfpublic NativeS3FileSystem()
public NativeS3FileSystem(org.apache.hadoop.fs.s3native.NativeFileSystemStore store)
public void initialize(URI uri, Configuration conf) throws IOException
FileSysteminitialize 在类中 FileSystemuri - a uri whose authority section names the host, port, etc.
for this FileSystemconf - the configurationIOExceptionpublic FSDataOutputStream append(Path f, int bufferSize, Progressable progress) throws IOException
append 在类中 FileSystemf - the existing file to be appended.bufferSize - the size of the buffer to be used.progress - for reporting progress if it is not null.IOExceptionpublic FSDataOutputStream create(Path f, FsPermission permission, boolean overwrite, int bufferSize, short replication, long blockSize, Progressable progress) throws IOException
FileSystemcreate 在类中 FileSystemf - 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.IOExceptionFileSystem.setPermission(Path, FsPermission)@Deprecated public boolean delete(Path path) throws IOException
delete 在类中 FileSystemIOExceptionpublic boolean delete(Path f, boolean recurse) throws IOException
FileSystemdelete 在类中 FileSystemf - the path to delete.recurse - 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.IOExceptionpublic FileStatus getFileStatus(Path f) throws IOException
FileSystemgetFileStatus 在类中 FileSystemf - The path we want information fromFileNotFoundException - when the path does not exist;
IOException see specific implementationIOExceptionpublic URI getUri()
FileSystemgetUri 在类中 FileSystempublic FileStatus[] listStatus(Path f) throws IOException
If f is a file, this method will make a single call to S3.
If f is a directory, this method will make a maximum of
(n / 1000) + 2 calls to S3, where n is the total number of
files and directories contained directly in f.
listStatus 在类中 FileSystemf - given pathIOExceptionpublic boolean mkdirs(Path f, FsPermission permission) throws IOException
FileSystemmkdirs 在类中 FileSystemIOExceptionpublic FSDataInputStream open(Path f, int bufferSize) throws IOException
FileSystemopen 在类中 FileSystemf - the file name to openbufferSize - the size of the buffer to be used.IOExceptionpublic boolean rename(Path src, Path dst) throws IOException
FileSystemrename 在类中 FileSystemIOExceptionpublic void setWorkingDirectory(Path newDir)
setWorkingDirectory 在类中 FileSystempublic Path getWorkingDirectory()
FileSystemgetWorkingDirectory 在类中 FileSystemCopyright © 2009 The Apache Software Foundation