Hadoop加载自有资源文件

在hadoop中,使用configuration的时候,首先自动加载了默认的配置文件,比如core-default.xml、core-default.xml资源文件,代码如下:

<span style="font-family:Microsoft YaHei;font-size:14px;">static{
    //print deprecation warning if hadoop-site.xml is found in classpath
    ClassLoader cL = Thread.currentThread().getContextClassLoader();
    if (cL == null) {
      cL = Configuration.class.getClassLoader();
    }
    if(cL.getResource("hadoop-site.xml")!=null) {
      LOG.warn("DEPRECATED: hadoop-site.xml found in the classpath. " +
          "Usage of hadoop-site.xml is deprecated. Instead use core-site.xml, "
          + "mapred-site.xml and hdfs-site.xml to override properties of " +
          "core-default.xml, mapred-default.xml and hdfs-default.xml " +
          "respectively");
    }
    addDefaultResource("core-default.xml");
    addDefaultResource("core-site.xml");
  }</span>

建立一个良好的hadoop框架,势必会用很多自己写的资源文件,hadoop对xml支持好于对properties文件的支持,hadoop中的配置文件几乎都是是用xml写成的。那么如何加载自有的xml资源文件,使其成为全局的Configuration呢?

hadoop jar ‘你的jar包’ 之后跟随着一个-conf的命令,加载自有资源,靠的就是这个命令,ok,不废话了,上代码:

<span style="font-family:Microsoft YaHei;font-size:14px;">package com.ecom.asillin.utils;

import org.apache.hadoop.conf.Configuration;

/**
 * Created with IntelliJ IDEA.
 * User: asilin
 * Date: 14-10-23
 * Time: 上午10:17
 * To change this template use File | Settings | File Templates.
 */
public class ConfigurationUtils {

    //静态类单例
    private static class Singleton{
        public static ConfigurationUtils instance = new ConfigurationUtils();
    }

    private ConfigurationUtils(){}

    public static ConfigurationUtils getInstance(){
       return Singleton.instance;
    }

    //添加资源
    public static Configuration create(){
        Configuration conn = new Configuration();
        addSources(conn);
        return conn;
    }

    //添加默认资源   -conf 之后的资源
    private static Configuration addSources(Configuration conn){
        conn.addResource("你的xml文件名称,带有.xml,不要忘记");
        return conn;
    }
}
</span>

ok  现在完整的运行命令就是:  hadoop jar ‘a.jar’ -conf ‘yourself.xml’

时间: 2024-08-01 21:07:36

Hadoop加载自有资源文件的相关文章

Struts2的国际化(二)-利用超链接实现动态加载国际化资源文件

原理:程序是根据Locale来确定国际化资源文件,因此关键之处在于知道 Struts2 框架是如何确定 Local 对象的 ! 由于Struts2 使用 i18n 拦截器处理国际化,并且将其注册在默认的拦截器中,因此,可以通过阅读 I18N 拦截器知道. 具体确定 Locale 对象的过程: > Struts2 使用 i18n 拦截器 处理国际化,并且将其注册在默认的拦截器栈中 > i18n拦截器在执行Action方法前,自动查找请求中一个名为 request_locale 的参数. 如果该参

加载web资源文件

servlet编程: 1.servlet生命周期: 构造方法:创建servlet对象.默认情况下,第一次访问servlet对象时.只调用一次. init方法(有参):创建完servlet对象后调用.只调用一次. 注意:会调用无参的init方法 servlet方法:servlet提供服务的方法,每次发出请求调用. 注意:request对象,response对象 destory方法:tomcat服务器停止或web应用重新部署,servlet对象销毁,destory方法被调用 2.servletCon

转载:Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式

Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式 出自:http://www.cnblogs.com/top5/archive/2012/08/04/2623464.html 关于AS3加载图片等外部资源,我常用的有两种方式:Loader和Embed,各自的特点,总结如下: Embed:在Flash编译阶段就将资源嵌入,也就是说图片资源是会被编译进swf文件里面去的:这样子的好处是代码比较简洁,使用方便,也不存在加载顺序的问题,缺点是会增大swf文件的体积 Loader:在

ios UIWebView 加载网页、文件、 html

UIWebView  是用来加载加载网页数据的一个框.UIWebView可以用来加载pdf word doc 等等文件 生成webview 有两种方法,1.通过storyboard 拖拽 2.通过alloc init 来初始化 创建webview,下列文本中 _webView.dataDetectorTypes = UIDataDetectorTypeAll; 是识别webview中的类型,例如 当webview中有电话号码,点击号码就能直接打电话 - (UIWebView *)webView

spring mvc 加载静态资源

由于我们在web.xml进行了如下配置: <servlet> <servlet-name>spring_mvc_demo</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> &l

“不同浏览器对于同一域名的并发获取(加载)资源数是有限的”

转自:http://www.nowamagic.net/librarys/veda/detail/1077 这个总结来源于一次优化的请求,最初某个页面的加载十分缓慢,load事件迟迟无法触发,因此希望可以通过对静态文件分域名等方式对页面的外部资源进行优化,拿得load事件尽可能早地触发.于是我查看了页面的源码,并对外部资源进行了整理,基于下面2个理念画出了一个推测的瀑布图: 浏览器对同一个域只能并发2个HTTP请求 - 网上盛传已久. javascript文件的加载会阻塞浏览器其他资源的加载 -

如何让aspnet服务加载静态资源html(我的动态网页静态化) 转

我们知道,IIS自身是不能处理像ASPX扩展名这样的页面,只能直接请求像HTML这样的静态文件. 当客户端请求一个服务器资源时,这个HTTP请求会被inetinfo.exe进程截获(www服务),然后Check请求资源的类型,并依据资源映射信息(存储在IIS元库中,一种IIS专用的配置数据库)将请求的资源分配给特定的处理程序模块.1,如果是静态资源的请求,则分配由IIS处理(IIS在本地Web Server上访问请求的文件),将内容输出到控制台,发出请求的浏览器就能接收到它了.-----End2

【转】Unity3D AssetBundles 动态加载游戏资源

AssetBundles are files which you can export from Unity to contain assets of your choice. These files use a proprietary compressed format and can be loaded on demand in your application. This allows you to stream content like models, textures, audio c

xBIM 实战01 在浏览器中加载IFC模型文件

一.创建Web项目 打开VS,新建Web项目,选择 .NET Framework 4.5 选择一个空的项目 新建完成后,项目结构如下: 二.添加webServer访问文件类型 由于WexXplorer 加载的是 .wexBIM格式的文件或者文件流,所以需要在Web.config文件中添加如下配置 <system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLeng