我正在编写一个抓取页面的hadoop作业。我正在使用的库使用文件系统在爬网时存储爬网数据。我确信必须修改库以使用HDFS,因为当我使用的爬虫库使用java.io时,需要使用完全不同的类来与HDFS接口。
然而,当一位同事使用hdfs:// localhost / path / to / storage时,爬虫工作的存储文件夹的路径,并且它能够写入文件系统。我试图理解为什么这有效,有没有什么不同的基于hadoop的jvms导致他们解析hdfs://前缀路径到HDFS上的路径?
答案 0 :(得分:2)
我不知道您使用的是什么类型的HDFS界面。 Hadoop提供通用文件系统层。如果未在hadoop配置文件中指定NameNode地址(在HADOOP_HOME / conf / core-site.xml中,并且该属性的名称为“fs.default.name”),则所有“hadoop fs ...”注释将默认为本地文件系统。所以,如果你不知道hadoop配置是什么,包括“hdfs:// namenode:port /”作为前缀是一个好主意。