2012-12-03 184 views
1

首先我試過How to set system environment variable from Mapper Hadoop?,但mapred.map.child.env不適合我。如何設置mapper的系統環境?

我正在使用hadoop 0.20.1。我想要將開始工作的類的所有系統環境傳遞給映射器。這是我做的:

StringBuilder envStr = new StringBuilder(); 
    for (Entry<String, String> entry : System.getenv().entrySet()) { 
     envStr.append(entry.getKey() + "=" + entry.getValue() + ","); 
    } 
    if (envStr.length() > 0) { 
     envStr.deleteCharAt(envStr.length() - 1); 
    } 
    // System.out.println("Setting mapper child env to :" + envStr); 
    getConf().set("mapred.map.child.env", envStr.toString()); 

但它不起作用。我也嘗試設置一個系統值,但它也沒有工作。在Mapper中,System.getenv不包含該值。但job.xml有關鍵和價值。有沒有辦法做到這一點?

+0

你想傳遞什麼特定的信息? –

回答

相關問題