|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.hadoop.conf.Configuration
public class Configuration
Provides access to configuration parameters.
Configurations are specified by resources. A resource contains a set of
name/value pairs as XML data. Each resource is named by either a
String
or by a Path
. If named by a String
,
then the classpath is examined for a file with that name. If named by a
Path
, then the local filesystem is examined directly, without
referring to the classpath.
Hadoop by default specifies two resources, loaded in-order from the classpath:
Configuration parameters may be declared final.
Once a resource declares a value final, no subsequently-loaded
resource can alter that value.
For example, one might define a final parameter with:
<property>
<name>dfs.client.buffer.dir</name>
<value>/tmp/hadoop/dfs/client</value>
<final>true</final>
</property>
Administrators typically define parameters as final in
hadoop-site.xml for values that user applications may not alter.
Value strings are first processed for variable expansion. The available properties are:
System.getProperties()
.For example, if a configuration resource contains the following property
definitions:
<property>
<name>basedir</name>
<value>/user/${user.name}</value>
</property>
<property>
<name>tempdir</name>
<value>${basedir}/tmp</value>
</property>
When conf.get("tempdir") is called, then ${basedir}
will be resolved to another property in this Configuration, while
${user.name} would then ordinarily be resolved to the value
of the System property with that name.
Nested Class Summary | |
---|---|
static class |
Configuration.IntegerRanges
A class that represents a set of positive integer ranges. |
Constructor Summary | |
---|---|
Configuration()
A new configuration. |
|
Configuration(Configuration other)
A new configuration with the same settings cloned from another. |
Method Summary | ||
---|---|---|
void |
addResource(Path file)
Add a configuration resource. |
|
void |
addResource(String name)
Add a configuration resource. |
|
void |
addResource(URL url)
Add a configuration resource. |
|
String |
get(String name)
Get the value of the name property, null if
no such property exists. |
|
String |
get(String name,
String defaultValue)
Get the value of the name property. |
|
boolean |
getBoolean(String name,
boolean defaultValue)
Get the value of the name property as a boolean . |
|
Class<?> |
getClass(String name,
Class<?> defaultValue)
Get the value of the name property as a Class . |
|
|
getClass(String name,
Class<? extends U> defaultValue,
Class<U> xface)
Get the value of the name property as a Class
implementing the interface specified by xface . |
|
Class<?> |
getClassByName(String name)
Load a class by name. |
|
ClassLoader |
getClassLoader()
Get the ClassLoader for this job. |
|
InputStream |
getConfResourceAsInputStream(String name)
Get an input stream attached to the configuration resource with the given name . |
|
Reader |
getConfResourceAsReader(String name)
Get a Reader attached to the configuration resource with the
given name . |
|
File |
getFile(String dirsProp,
String path)
Get a local file name under a directory named in dirsProp with the given path. |
|
float |
getFloat(String name,
float defaultValue)
Get the value of the name property as a float . |
|
int |
getInt(String name,
int defaultValue)
Get the value of the name property as an int . |
|
Path |
getLocalPath(String dirsProp,
String path)
Get a local file under a directory named by dirsProp with the given path. |
|
long |
getLong(String name,
long defaultValue)
Get the value of the name property as a long . |
|
Configuration.IntegerRanges |
getRange(String name,
String defaultValue)
Parse the given attribute as a set of integer ranges |
|
String |
getRaw(String name)
Get the value of the name property, without doing
variable expansion. |
|
URL |
getResource(String name)
Get the URL for the named resource. |
|
Collection<String> |
getStringCollection(String name)
Get the comma delimited values of the name property as
a collection of String s. |
|
String[] |
getStrings(String name)
Get the comma delimited values of the name property as
an array of String s. |
|
String[] |
getStrings(String name,
String... defaultValue)
Get the comma delimited values of the name property as
an array of String s. |
|
Iterator<Map.Entry<String,String>> |
iterator()
Get an Iterator to go through the list of String
key-value pairs in the configuration. |
|
static void |
main(String[] args)
For debugging. |
|
void |
set(String name,
String value)
Set the value of the name property. |
|
void |
setBoolean(String name,
boolean value)
Set the value of the name property to a boolean . |
|
void |
setClass(String name,
Class<?> theClass,
Class<?> xface)
Set the value of the name property to the name of a
theClass implementing the given interface xface . |
|
void |
setClassLoader(ClassLoader classLoader)
Set the class loader that will be used to load the various objects. |
|
void |
setInt(String name,
int value)
Set the value of the name property to an int . |
|
void |
setLong(String name,
long value)
Set the value of the name property to a long . |
|
void |
setQuietMode(boolean quietmode)
Set the quiteness-mode. |
|
void |
setStrings(String name,
String... values)
Set the array of string values for the name property as
as comma delimited values. |
|
String |
toString()
|
|
void |
write(OutputStream out)
Write out the non-default properties in this configuration to the give OutputStream . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public Configuration()
public Configuration(Configuration other)
other
- the configuration from which to clone settings.Method Detail |
---|
public void addResource(String name)
name
- resource to be added, the classpath is examined for a file
with that name.public void addResource(URL url)
url
- url of the resource to be added, the local filesystem is
examined directly to find the resource, without referring to
the classpath.public void addResource(Path file)
file
- file-path of resource to be added, the local filesystem is
examined directly to find the resource, without referring to
the classpath.public String get(String name)
name
property, null
if
no such property exists.
Values are processed for variable expansion
before being returned.
name
- the property name.
name
property,
or null if no such property exists.public String getRaw(String name)
name
property, without doing
variable expansion.
name
- the property name.
name
property,
or null if no such property exists.public void set(String name, String value)
value
of the name
property.
name
- property name.value
- property value.public String get(String name, String defaultValue)
name
property. If no such property
exists, then defaultValue
is returned.
name
- property name.defaultValue
- default value.
defaultValue
if the property
doesn't exist.public int getInt(String name, int defaultValue)
name
property as an int
.
If no such property exists, or if the specified value is not a valid
int
, then defaultValue
is returned.
name
- property name.defaultValue
- default value.
int
,
or defaultValue
.public void setInt(String name, int value)
name
property to an int
.
name
- property name.value
- int
value of the property.public long getLong(String name, long defaultValue)
name
property as a long
.
If no such property is specified, or if the specified value is not a valid
long
, then defaultValue
is returned.
name
- property name.defaultValue
- default value.
long
,
or defaultValue
.public void setLong(String name, long value)
name
property to a long
.
name
- property name.value
- long
value of the property.public float getFloat(String name, float defaultValue)
name
property as a float
.
If no such property is specified, or if the specified value is not a valid
float
, then defaultValue
is returned.
name
- property name.defaultValue
- default value.
float
,
or defaultValue
.public boolean getBoolean(String name, boolean defaultValue)
name
property as a boolean
.
If no such property is specified, or if the specified value is not a valid
boolean
, then defaultValue
is returned.
name
- property name.defaultValue
- default value.
boolean
,
or defaultValue
.public void setBoolean(String name, boolean value)
name
property to a boolean
.
name
- property name.value
- boolean
value of the property.public Configuration.IntegerRanges getRange(String name, String defaultValue)
name
- the attribute namedefaultValue
- the default value if it is not set
public Collection<String> getStringCollection(String name)
name
property as
a collection of String
s.
If no such property is specified then empty collection is returned.
This is an optimized version of getStrings(String)
name
- property name.
String
s.public String[] getStrings(String name)
name
property as
an array of String
s.
If no such property is specified then null
is returned.
name
- property name.
String
s,
or null
.public String[] getStrings(String name, String... defaultValue)
name
property as
an array of String
s.
If no such property is specified then default value is returned.
name
- property name.defaultValue
- The default value
String
s,
or default value.public void setStrings(String name, String... values)
name
property as
as comma delimited values.
name
- property name.values
- The valuespublic Class<?> getClassByName(String name) throws ClassNotFoundException
name
- the class name.
ClassNotFoundException
- if the class is not found.public Class<?> getClass(String name, Class<?> defaultValue)
name
property as a Class
.
If no such property is specified, then defaultValue
is
returned.
name
- the class name.defaultValue
- default value.
Class
,
or defaultValue
.public <U> Class<? extends U> getClass(String name, Class<? extends U> defaultValue, Class<U> xface)
name
property as a Class
implementing the interface specified by xface
.
If no such property is specified, then defaultValue
is
returned.
An exception is thrown if the returned class does not implement the named
interface.
name
- the class name.defaultValue
- default value.xface
- the interface implemented by the named class.
Class
,
or defaultValue
.public void setClass(String name, Class<?> theClass, Class<?> xface)
name
property to the name of a
theClass
implementing the given interface xface
.
An exception is thrown if theClass
does not implement the
interface xface
.
name
- property name.theClass
- property value.xface
- the interface implemented by the named class.public Path getLocalPath(String dirsProp, String path) throws IOException
dirsProp
- directory in which to locate the file.path
- file-path.
IOException
public File getFile(String dirsProp, String path) throws IOException
dirsProp
- directory in which to locate the file.path
- file-path.
IOException
public URL getResource(String name)
URL
for the named resource.
name
- resource name.
public InputStream getConfResourceAsInputStream(String name)
name
.
name
- configuration resource name.
public Reader getConfResourceAsReader(String name)
Reader
attached to the configuration resource with the
given name
.
name
- configuration resource name.
public Iterator<Map.Entry<String,String>> iterator()
Iterator
to go through the list of String
key-value pairs in the configuration.
iterator
in interface Iterable<Map.Entry<String,String>>
public void write(OutputStream out) throws IOException
OutputStream
.
out
- the output stream to write to.
IOException
public ClassLoader getClassLoader()
ClassLoader
for this job.
public void setClassLoader(ClassLoader classLoader)
classLoader
- the new class loader.public String toString()
toString
in class Object
public void setQuietMode(boolean quietmode)
quietmode
- true
to set quiet-mode on, false
to turn it off.public static void main(String[] args) throws Exception
Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |