Hadoop Configuration使用

本文详细介绍了Configuration类中的loadResources()方法及其使用方式。探讨了该方法如何加载默认配置文件(如*.site.xml),并尝试了通过File方式读取HDFS文件的方法,发现此方法不可行。进一步介绍了addResource()方法的正确使用方法,包括如何指定本地文件路径及远程HDFS文件路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Configuration 的loadResources()方法 (采用lazy加载)
1.解释了为什么会加载一些默认文件(*.site.xml)

2.测试了一下用file的方式去读取hdfs文件,不行

      else if (name instanceof Path)中,会转换为本地文件,最后变成d:\\hdfs地址
       linux下也试了一下,同样是不行的,这种方式暂时行不通,以后这样的还是用文件流的方式来读取,
因为最后都是转换InputStream流的方式来读取,然后交给Document去解析xml文件



3.addResources(Path)这个函数针对的本地文件,注释如下
file-path of resource to be added, the local filesystem is examined directly to find the resource, without referring to the classpath.

所以如果一定要用的话可以这样用
Path tmp = new Path("file:///D://shili//src//main//java//com//pangu//site.xml");
conf.addResource(tmp);


4.对于远程HDFS上以hdfs://hdfs://yfw-0249:29000/pipeline/pets/pets_1.0/20130422/_logs/history/YFW-0337_1364622621869_job_201303301350_99243_conf.xml 

   采用文件流的方式来读取


以后方法调用时先读下方法注释




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值