2015-02-11 31 views
0

我只想確保我不會錯過任何東西。我正在爲Hive處理InputFormat以處理我們特定的hdfs文件格式。我只是意識到它需要延長mapred.InputFormat而不是mapreduce.InputFormat爲什麼Hive&HiveServer2需要mapred.InputFormat?

這是對的嗎?或者我錯過了什麼?我可以使用mapreduce包裝中的FileInputFormat嗎?

回答

1

您將不得不使用mapred.InputFormat Hive尚未完全遷移到新軟件包。如果您出於任何原因需要/想要使用mapreduce.InputFormat包裝,則始終可以包裝mapreduce.InputFormat。實際上,這就是我爲了與Hive交互而做的,但仍然使用mapreduce包。

編輯:爲了在這兩種類型的API之間進行互操作,我將讀取文件記錄的邏輯抽象爲另一個類並在兩個InputFormat中使用它。

+0

謝謝@Pradeep。我開始這樣做,我只是覺得我走錯了路。你有沒有必要把mapred.JobConf變成mapreduce.TaskAttemptContext?我真的很苦惱,不知道從哪裏可以得到工作ID,任務ID等... – hba 2015-02-11 22:12:46

+0

在這裏回答了我的問題:http://stackoverflow.com/questions/28466554/hadoop-how-到的提取物-A-的taskid從 - mapred-jobconf?answertab =最老#製表頂 – hba 2015-02-12 18:11:04