2012-07-12 99 views

回答

1

您可以做這樣的事情,而且我一直都這樣做。你調用的方法可以是靜態的,也可以不是。

基本上是:

如果調用從代碼之外的代碼,你自己寫的多數民衆贊成包含在你的項目,你需要的時候,你的項目導出到一個.jar文件捆綁的是與你的代碼。

如果您正在從包含在項目構建路徑中的.jar文件中引用方法等,則需要將該.jar文件放在要運行作業的羣集的每個節點上,並且在文件$ HADOOP_HOME/conf/hadoop-env.sh文件中編輯您的服務器上的HADOOP_CLASSPATH變量並重新啓動羣集。否則,你會得到一個沒有找到類的錯誤。

一個例子是:

export HBASE_CLASSPATH=/path/to/one/file.jar:/path/to/another/file.jar 
+0

非常感謝。你能告訴我在後一種情況下HADOOP_CLASSPATH應該是什麼? – 2012-07-13 10:48:46

+1

查看我上面的編輯。請注意,我之前說過錯誤的conf文件。你想編輯hadoop-env.sh而不是hdfs-site – Tucker 2012-07-13 13:55:56

+0

謝謝你的精心解答。 – 2012-07-14 06:06:32

0

是的,你可以做到這一點。 (我必須輸入其他字符才能提交此答案,所以請忽略此句)

+0

謝謝。你能否提一下我怎樣寫這樣一個樣本方法? – 2012-07-12 07:09:54

+1

好,如果你已經從'Mapper'類擴展了,你可以簡單地在這個類中放一個方法,並從map方法中調用它。你需要這樣的代碼嗎? – 2012-07-12 07:16:57

+0

謝謝。這就夠了。另外,你可以請回答我的另一個問題在Stackoverflow的Hadoop請嗎?這是一個例外。 – 2012-07-12 07:28:16

相關問題