org.apache.hadoop.fs
Enum CreateFlag
java.lang.Object
java.lang.Enum<CreateFlag>
org.apache.hadoop.fs.CreateFlag
- All Implemented Interfaces:
- Serializable, Comparable<CreateFlag>
@InterfaceAudience.Public
@InterfaceStability.Evolving
public enum CreateFlag
- extends Enum<CreateFlag>
CreateFlag specifies the file create semantic. Users can combine flags like:
EnumSet.of(CreateFlag.CREATE, CreateFlag.APPEND)
Use the CreateFlag as follows:
- CREATE - to create a file if it does not exist,
else throw FileAlreadyExists.
- APPEND - to append to a file if it exists,
else throw FileNotFoundException.
- OVERWRITE - to truncate a file if it exists,
else throw FileNotFoundException.
- CREATE|APPEND - to create a file if it does not exist,
else append to an existing file.
- CREATE|OVERWRITE - to create a file if it does not exist,
else overwrite an existing file.
- SYNC_BLOCK - to force closed blocks to the disk device.
In addition
Syncable.hsync()
should be called after each write,
if true synchronous behavior is required.
Following combination is not valid and will result in
HadoopIllegalArgumentException
:
- APPEND|OVERWRITE
- CREATE|APPEND|OVERWRITE
Enum Constant Summary |
APPEND
Append to a file. |
CREATE
Create a file. |
LAZY_PERSIST
Create the block on transient storage (RAM) if available. |
OVERWRITE
Truncate/overwrite a file. |
SYNC_BLOCK
Force closed blocks to disk. |
CREATE
public static final CreateFlag CREATE
- Create a file. See javadoc for more description
already exists
OVERWRITE
public static final CreateFlag OVERWRITE
- Truncate/overwrite a file. Same as POSIX O_TRUNC. See javadoc for description.
APPEND
public static final CreateFlag APPEND
- Append to a file. See javadoc for more description.
SYNC_BLOCK
public static final CreateFlag SYNC_BLOCK
- Force closed blocks to disk. Similar to POSIX O_SYNC. See javadoc for description.
LAZY_PERSIST
public static final CreateFlag LAZY_PERSIST
- Create the block on transient storage (RAM) if available. If
transient storage is unavailable then the block will be created
on disk.
HDFS will make a best effort to lazily write these files to persistent
storage, however file contents may be lost at any time due to process/
node restarts, hence there is no guarantee of data durability.
This flag must only be used for intermediate data whose loss can be
tolerated by the application.
values
public static CreateFlag[] values()
- Returns an array containing the constants of this enum type, in
the order they are declared. This method may be used to iterate
over the constants as follows:
for (CreateFlag c : CreateFlag.values())
System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in
the order they are declared
valueOf
public static CreateFlag valueOf(String name)
- Returns the enum constant of this type with the specified name.
The string must match exactly an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
not permitted.)
- Parameters:
name
- the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant
with the specified name
NullPointerException
- if the argument is null
validate
public static void validate(EnumSet<CreateFlag> flag)
- Validate the CreateFlag and throw exception if it is invalid
- Parameters:
flag
- set of CreateFlag
- Throws:
HadoopIllegalArgumentException
- if the CreateFlag is invalid
validate
public static void validate(Object path,
boolean pathExists,
EnumSet<CreateFlag> flag)
throws IOException
- Validate the CreateFlag for create operation
- Parameters:
path
- Object representing the path; usually String or Path
pathExists
- pass true if the path exists in the file systemflag
- set of CreateFlag
- Throws:
IOException
- on error
HadoopIllegalArgumentException
- if the CreateFlag is invalid
Copyright © 2014 Apache Software Foundation. All Rights Reserved.