2012-11-15 18 views
0

在Hadoop客戶端API中,有重要的類Configuration,它存儲用於連接到羣集,要發送的作業HDFS的屬性。這些只是鍵值對,鍵和值都是String s。有沒有可用於更改地圖 - 減少作業設置的所有有意義的鍵的列表?那就是我需要所有可用來設置Configuration屬性的密鑰列表,這些屬性稍後將由客戶端API,namenode或jobtracker進行解釋。Hadoop:可以由客戶端使用配置類設置的所有設置的列表?

回答

1

我建議你不要使用文字鍵名在配置中使用鍵/值對。相反,不僅要在Configuration類本身上使用靜態幫助器方法,而且還要在通過輔助方法讀取和寫入這些屬性的其他類上使用靜態幫助器方法。這些其他類包括輸入和輸出格式類,

我推薦這因爲經常有在這些靜態輔助方法的附加邏輯,其控制或驗證字符串轉換爲與從非字符串的屬性值。

,說明這個答案的另一種方法是看的Javadoc的配置類,輸入格式類,輸出格式類,等等。這給你你想要的完整的API的靜態方法。如果你堅持想知道有效的鍵名,那麼看看這些相同助手方法的來源,因爲這是使用和定義鍵名的地方。

+0

+1謝謝您的警告,這對我很有價值。我沒有在輔助方法中提到很多額外的邏輯,現在我將仔細研究一下,以確保我不會錯過重要的東西。儘管如此,除非你可以提供一些額外的好理由,不要直接設置'Configuration'屬性,否則我會盡可能避免使用helper方法。這有很好的理由 - 需要與不同版本的客戶端API兼容(使用字典翻譯密鑰更容易,更簡潔,然後替換很多代碼),應用程序體系結構的原因,輸入已經作爲字符串出現... – drasto

+0

.. ,輸入已經自帶字符串,我們做我們自己的那些字符串preformating等 到現在爲止我已經做了有什麼建議 - 我已經看過上的輔助方法代碼尋找鑰匙。我只是認爲如果有一些完整而全面的清單,它會容易得多...... – drasto

相關問題