我正在研究我的項目,將apache avro集成到我的 MapR程序中。不過,我很困惑 通過使用新的mapreduce包相比mapred。 latter在不同情況下對如何使用 進行了詳細說明,並且對新的信息給出了較少的信息。 但我知道的是,它們對應於hadoop的新舊界面。apache avro中mapred和mapreduce包有什麼區別?
沒有人有使用映射精簡接口 用於作業,其輸入是不可阿夫羅數據 (如的TextInputFormat)文件 和輸出是阿夫羅文件中的任何經驗或示例。
我正在研究我的項目,將apache avro集成到我的 MapR程序中。不過,我很困惑 通過使用新的mapreduce包相比mapred。 latter在不同情況下對如何使用 進行了詳細說明,並且對新的信息給出了較少的信息。 但我知道的是,它們對應於hadoop的新舊界面。apache avro中mapred和mapreduce包有什麼區別?
沒有人有使用映射精簡接口 用於作業,其輸入是不可阿夫羅數據 (如的TextInputFormat)文件 和輸出是阿夫羅文件中的任何經驗或示例。
這兩個軟件包代表相應的Hadoop mapred和mapreduce API的輸入/輸出格式,mapper和reducer基類。
因此,如果您的工作使用舊的(mapred)包API,那麼您應該使用相應的mapred avro包類。
的Avro具有使用Avro的輸出格式爲例字數適應,這應該很容易修改爲新的MapReduce API:
我可以參考你的要點成功運行我的程序,也許avro可以在新的mapreduce **上做得更好,使它成爲一個獨立的包,而不依賴mapred **,就像AvroKey和其他包裝一樣。謝謝 – caesar0301
如果您不想使用AvroKey,請查看http://avro.apache.org/docs/current/api/java/org/apache/avro/mapreduce/AvroKeyValueOutputFormat.html的API文檔。它注意到您可以使用基本的Hadoop可寫類型,而輸出格式將它們轉換爲它們的avro類型 –