根據「Hadoop權威指南」,輸入格式TextInputFormat
給出了鍵值對(k, v) = (byte offset, line)
。但是,在MRJob中,映射器輸入中的鍵總是None
。將字節偏移作爲關鍵字應該很容易,因爲這是TextInputFormat的作用。我如何得到這個?使用MRJob獲取字節偏移量
我知道你可以使用環境變量'map_input_start'並自己計算字節偏移量,但是這樣做會導致問題,我想以更簡單的方式獲得偏移量作爲關鍵。
根據「Hadoop權威指南」,輸入格式TextInputFormat
給出了鍵值對(k, v) = (byte offset, line)
。但是,在MRJob中,映射器輸入中的鍵總是None
。將字節偏移作爲關鍵字應該很容易,因爲這是TextInputFormat的作用。我如何得到這個?使用MRJob獲取字節偏移量
我知道你可以使用環境變量'map_input_start'並自己計算字節偏移量,但是這樣做會導致問題,我想以更簡單的方式獲得偏移量作爲關鍵。
未在您的映射器類中使用以下簽名定義映射方法會爲您提供字節偏移量作爲鍵。
public void map(LongWritable key,Text value,OutputCollector<>,Reporter)
TextInputFormat是一個Java類...我看不出在流媒體世界中如何工作。
MRJob是一個使用Hadoop流的Python庫。我希望不必惹Java代碼 – 2012-07-11 13:10:22