我的文件內容就是這樣。如何在Hadoop作業中將'Text'作爲Mapper輸入鍵傳遞?
TestKey, TestValue
TestKey1, TestValue1
我想將Mapper Key作爲TestKey和Mapper的值傳遞給TestValue等等。
所以我試圖寫自定義RecordReader來實現這一點。
但它的拋出錯誤像不能種姓LongWritable與文本。
如何將文本作爲我的映射器輸入鍵傳遞?
在此高度讚賞任何幫助。
感謝, 桑卡
我的文件內容就是這樣。如何在Hadoop作業中將'Text'作爲Mapper輸入鍵傳遞?
TestKey, TestValue
TestKey1, TestValue1
我想將Mapper Key作爲TestKey和Mapper的值傳遞給TestValue等等。
所以我試圖寫自定義RecordReader來實現這一點。
但它的拋出錯誤像不能種姓LongWritable與文本。
如何將文本作爲我的映射器輸入鍵傳遞?
在此高度讚賞任何幫助。
感謝, 桑卡
它看起來像你需要輸入格式更改爲KeyValueTextInputFormat
和分離到mapreduce.input.keyvaluelinerecordreader.key.value.separator
設置爲", "
。
默認輸入格式是TextInputFormat
它使用一個字節偏移到該文件,格式化爲LongWritable
作爲密鑰,線作爲值。這就是爲什麼你目前看到一個錯誤。
:這裏假定您使用的是新的API;舊的API有些類似。
向你顯示RecordReader會有幫助。 – Tariq