2012-04-05 105 views
1

我在寫一個抓取頁面的hadoop作業。我正在使用的庫使用文件系統在爬網時存儲爬網數據。我確信這個庫將不得不被修改爲使用HDFS,因爲當我使用的爬蟲庫使用java.io時,需要使用完全不同的一組類來接口HDFS。爲什麼使用hdfs://前綴作爲文件路徑允許打開文件?

但是,當一位同事使用hdfs:// localhost/path/to/storage時,抓取程序工作的存儲文件夾的路徑可以寫入文件系統。我試圖理解爲什麼這會起作用,基於hadoop的jvms有什麼不同,導致他們解決HDFS上hdfs://路徑的前綴路徑?

+1

你確定它在HDFS中不在本地文件系統中?) – 2012-04-05 11:43:01

+0

@ThomasJungblut你是對的。它實際上是寫入本地文件系統。 – rsman 2012-04-17 14:36:56

回答

2

我不知道你使用的是什麼樣的HDFS接口。 Hadoop提供了一個通用的文件系統層。如果你沒有在你的hadoop配置文件中指定NameNode地址(在HADOOP_HOME/conf/core-site.xml中,並且該屬性的名稱是「fs.default.name」),那麼你所有的「hadoop fs ...」評論將默認爲本地文件系統。所以,如果你不知道什麼是hadoop配置,包括「hdfs:// namenode:port /」作爲前綴是一個好主意。

相關問題