我是靠谱客的博主 眯眯眼铅笔,最近开发中收集的这篇文章主要介绍创建HDFS的FileSystem对象的小心得,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

FileSystem fs = FiileSystem.get(new URI("hdfs://hadoop1:9000"),new Configuration() );

以这种方式可以创建fs对象,但缺点时,使用了空白的Configuration对象,实际上只授予了fs.default.name这个属性,当访问的HDFS使用了HA(需要多个参数配合,同时指定),或者需要指定其它设置的时候,就会有问题


Configuration conf = new Configuration();

conf.addResource(new Path("conf/core-site.xml"));

conf.addResource(new Path("conf/hdfs-site.xml"));

FileSystem fs = FiileSystem.get(conf);

以这种方式创建出来的FS具有更大灵活性,以及更加方便。因为它直接读取了xml中的设置,如果有必要,也可以调用conf.set方法了设置单个属性。


另外,addResource有几种形式,一种形式是:addResource(String fileName),传入参数是文件名。这种形式强烈依赖于CLASS_PATH,程序只会在CLASS_PATH中寻找文件名,如果在文件名中写入路径是无效的。

addResource的另一种形式是addResource(Path file),这种方式不依赖于CLASS_PATH,可以在new Path的时候指定路径,不管是在程序开发中的调试,还是部署时参数文件相对固定的情况都会更有用


转载于:https://blog.51cto.com/bigdata1024/1902793

最后

以上就是眯眯眼铅笔为你收集整理的创建HDFS的FileSystem对象的小心得的全部内容,希望文章能够帮你解决创建HDFS的FileSystem对象的小心得所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部