public class IgniteHadoopIgfsSecondaryFileSystem extends Object implements IgfsSecondaryFileSystem, AutoCloseable
FileSystem
as IgfsSecondaryFileSystem
.Constructor and Description |
---|
IgniteHadoopIgfsSecondaryFileSystem(String uri)
Simple constructor that is to be used by default.
|
IgniteHadoopIgfsSecondaryFileSystem(String uri,
String cfgPath)
Constructor.
|
IgniteHadoopIgfsSecondaryFileSystem(String uri,
String cfgPath,
String userName)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
OutputStream |
append(IgfsPath path,
int bufSize,
boolean create,
Map<String,String> props)
Opens an output stream to an existing file for appending data.
|
static IgfsException |
cast(String msg,
IOException e)
Cast IO exception to IGFS exception.
|
void |
close() |
OutputStream |
create(IgfsPath path,
boolean overwrite)
Creates a file and opens it for writing.
|
OutputStream |
create(IgfsPath path,
int bufSize,
boolean overwrite,
int replication,
long blockSize,
Map<String,String> props)
Creates a file and opens it for writing.
|
boolean |
delete(IgfsPath path,
boolean recursive)
Deletes file.
|
boolean |
exists(IgfsPath path)
Checks if the specified path exists.
|
FileSystem |
fileSystem()
Gets the underlying
FileSystem . |
IgfsFile |
info(IgfsPath path)
Gets file information for the specified path.
|
Collection<IgfsFile> |
listFiles(IgfsPath path)
Lists files under the specified path.
|
Collection<IgfsPath> |
listPaths(IgfsPath path)
Lists file paths under the specified path.
|
void |
mkdirs(IgfsPath path)
Creates directories under specified path.
|
void |
mkdirs(IgfsPath path,
Map<String,String> props)
Creates directories under specified path with the specified properties.
|
IgfsSecondaryFileSystemPositionedReadable |
open(IgfsPath path,
int bufSize)
Opens a file for reading.
|
Map<String,String> |
properties()
Gets the implementation specific properties of file system.
|
void |
rename(IgfsPath src,
IgfsPath dest)
Renames/moves a file.
|
IgfsFile |
update(IgfsPath path,
Map<String,String> props)
Updates file information for the specified path.
|
long |
usedSpaceSize()
Gets used space in bytes.
|
public IgniteHadoopIgfsSecondaryFileSystem(String uri) throws IgniteCheckedException
uri
- URI of file system.IgniteCheckedException
- In case of error.public IgniteHadoopIgfsSecondaryFileSystem(@Nullable String uri, @Nullable String cfgPath) throws IgniteCheckedException
uri
- URI of file system.cfgPath
- Additional path to Hadoop configuration.IgniteCheckedException
- In case of error.public IgniteHadoopIgfsSecondaryFileSystem(@Nullable String uri, @Nullable String cfgPath, @Nullable String userName) throws IgniteCheckedException
uri
- URI of file system.cfgPath
- Additional path to Hadoop configuration.userName
- User name.IgniteCheckedException
- In case of error.public static IgfsException cast(String msg, IOException e)
e
- IO exception.public boolean exists(IgfsPath path)
exists
in interface IgfsSecondaryFileSystem
path
- Path to check for existence.True
if such file exists, otherwise - false
.@Nullable public IgfsFile update(IgfsPath path, Map<String,String> props)
null
values
will be removed from the stored properties or ignored if they don't exist in the file info.
When working in DUAL_SYNC
or DUAL_ASYNC
modes only the following properties will be propagated
to the secondary file system:
usrName
- file owner name;grpName
- file owner group;permission
- Unix-style string representing file permissions.update
in interface IgfsSecondaryFileSystem
path
- File path to set properties for.props
- Properties to update.null
if such path does not exist.public void rename(IgfsPath src, IgfsPath dest)
You are free to rename/move data files as you wish, but directories can be only renamed. You cannot move the directory between different parent directories.
Examples:
rename
in interface IgfsSecondaryFileSystem
src
- Source file path to rename.dest
- Destination file path. If destination path is a directory, then source file will be placed
into destination directory with original name.public boolean delete(IgfsPath path, boolean recursive)
delete
in interface IgfsSecondaryFileSystem
path
- File path to delete.recursive
- Delete non-empty directories recursively.True
in case of success, false
otherwise.public void mkdirs(IgfsPath path)
mkdirs
in interface IgfsSecondaryFileSystem
path
- Path of directories chain to create.public void mkdirs(IgfsPath path, @Nullable Map<String,String> props)
mkdirs
in interface IgfsSecondaryFileSystem
path
- Path of directories chain to create.props
- Metadata properties to set on created directories.public Collection<IgfsPath> listPaths(IgfsPath path)
listPaths
in interface IgfsSecondaryFileSystem
path
- Path to list files under.public Collection<IgfsFile> listFiles(IgfsPath path)
listFiles
in interface IgfsSecondaryFileSystem
path
- Path to list files under.public IgfsSecondaryFileSystemPositionedReadable open(IgfsPath path, int bufSize)
open
in interface IgfsSecondaryFileSystem
path
- File path to read.bufSize
- Read buffer size (bytes) or zero
to use default value.public OutputStream create(IgfsPath path, boolean overwrite)
create
in interface IgfsSecondaryFileSystem
path
- File path to create.overwrite
- Overwrite file if it already exists. Note: you cannot overwrite an existent directory.public OutputStream create(IgfsPath path, int bufSize, boolean overwrite, int replication, long blockSize, @Nullable Map<String,String> props)
create
in interface IgfsSecondaryFileSystem
path
- File path to create.bufSize
- Write buffer size (bytes) or zero
to use default value.overwrite
- Overwrite file if it already exists. Note: you cannot overwrite an existent directory.replication
- Replication factor.blockSize
- Block size.props
- File properties to set.public OutputStream append(IgfsPath path, int bufSize, boolean create, @Nullable Map<String,String> props)
append
in interface IgfsSecondaryFileSystem
path
- File path to append.bufSize
- Write buffer size (bytes) or zero
to use default value.create
- Create file if it doesn't exist yet.props
- File properties to set only in case it file was just created.public IgfsFile info(IgfsPath path)
info
in interface IgfsSecondaryFileSystem
path
- Path to get information for.null
if such path does not exist.public long usedSpaceSize()
usedSpaceSize
in interface IgfsSecondaryFileSystem
@Nullable public Map<String,String> properties()
properties
in interface IgfsSecondaryFileSystem
public void close() throws IgniteCheckedException
close
in interface AutoCloseable
IgniteCheckedException
public FileSystem fileSystem()
FileSystem
.FileSystem
.
Follow @ApacheIgnite
Apache Ignite Fabric : ver. 1.0.0 Release Date : March 31 2015