以下分析基于Hadoop-0.19.2
我们在写job的时候经常会写这么一句
JobConf conf = new JobConf(***.class)
显而易见,这是加载Hadoop的配置。虽然整个过程简单说无非就是读取配置文件,但还是来简单分析一下内部是如何进行处理的。看一下JobConf这个类的继承关系
public class JobConf extends Configuration {
public JobConf(Class exampleClass) {
setJarByClass(exampleClass);
}
………
}
我们一般调用的就是上面的这个构造函数,由于没有指明父构造器的类型,所以在new JobConf的时候会调用父类的默认构造器。那么下面来看一下Configuration这个类。
public class Configuration implements Iterable<Map.Entry<String,String>>, Writable {
private static final Log LOG = LogFactory.getLog(Configuration.class);
//从参数名
private boolean quietmode = true;
//配置列表
private ArrayList<Object> resources = new ArrayList<Object>();
//最终配置列表
private Set<String> finalParameters = new HashSet<String>();
//
private Properties properties;
private Properties overlay;
private ClassLoader classLoader;
{
classLoader = Thread.currentThread().getContextClassLoader();
if (classLoader == null) {
classLoader = Configuration.class.getClassLoader();
}
}
/** A new configuration. */
public Configuration() {
this(true);
}
/** A new configuration where the behavior of reading from the default
* resources can be turned off.
*
* If the parameter {@code loadDefaults} is false, the new instance
* will not load resources from the default files.
* @param loadDefaults specifies whether to load from the default files
*/
public Configuration(boolean loadDefaults) {
if (LOG.isDebugEnabled()) {
LOG.debug(StringUtils.stringifyException(new IOException("config()")));
}
if (loadDefaults) {
resources.add("hadoop-default.xml");
resources.add("hadoop-site.xml");
}
}
暂停……待续
分享到:
相关推荐
### Java简析STDF文件 #### 引言与背景 随着半导体行业的快速发展,测试数据的标准化变得尤为重要。在这一背景下,STDF(Standard Test Data Format)作为一种被广泛接受的标准格式应运而生。它旨在提高不同制造商...
Django的URLconf(URL configuration)系统允许开发者定义URL模式,并将它们映射到相应的视图函数。这样,URL结构与视图的实现完全分离,增强了代码的可维护性。 5. 自带管理后台: Django提供了一个内置的管理...
无线WPS协议简介 WPS(Wi-Fi Protected Setup)是一种无线网络协议,旨在为普通用户提供一个统一的简单的方法来安全配置无线网络。WPS 协议于 2007 年由 Wi-Fi 联盟发布,旨在解决无线网络配置复杂的问题。...
Ranorex入门指南36 – 测试用例启动过程简析 Ranorex入门指南37 – 单独运行编译的exe文件 Ranorex入门指南38 – 设置对象查找超时时间 Ranorex入门指南39 – 用Validate进行简单验证 Ranorex入门指南40 – 引用其他...
电子版的Oracl技术资料 1. 《Oracle8 优化技术》摘录 (第一章 安装) 2. 《Oracle8 优化技术》摘录 (第二...45.使用Database Configuration Assistant安装第二个数据库 46.Oracle 数据库向 MS SQL Server 7.0 的迁移
- **ICD/CID文件结构**:IED配置描述文件(ICD)包含了所有IED的模型信息,而CID(Configuration Instance Data)文件是根据ICD定制的,用于具体站点的配置。ICD包含逻辑设备(LD)、逻辑节点(LN)、数据对象(DO...
Element root = document.addElement("configuration"); // 继续添加元素和属性... } ``` 这段代码展示了如何使用DOM4j从零开始构建一个XML文档,包括设置文档类型(DocType)、添加根元素以及后续元素和属性的...
在BIOS设置中寻找与CPU相关的选项,如“Advanced Chipset Features”或“CPU Configuration”。在这些选项中,可以找到“L2 Cache”或“Level 2 Cache”的设置,将其更改为“Disabled”即可禁用二级缓存。 值得注意...
45.使用Database Configuration Assistant安装第二个数据库 46.Oracle 数据库向 MS SQL Server 7.0 的迁移 Oracle1: 1. Decode()函数使用技巧(NT+IIS+ASP+ORACLE) 2. Dual伪列 3. EXP、IMP 命令详解 4. ...
- **配置类**:使用`@Configuration`和`@EnableAutoConfiguration`等注解定义配置类,实现自动配置功能。 - **默认配置文件**:Spring Boot会自动加载一些默认的配置文件,如`application.properties`或`application...