1
我在Java中使用MapReduce框架,我想創建一個自定義的文件輸入格式。
假設我的文件格式是一樣的東西:
--------------
$ -flag- $
什麼
我
真的
想
$ -flag- $
和
另一
部分
---------------
在這種情況下,每條記錄都被視爲多行數組。
隨後的教程中,我寫了這個:如何在使用Hadoop時自定義FileInputFormat以讀取Java中的多行文件?
public class CustomInputFormat extends FileInputFormat<Text, IdxValues> {
public RecordReader<Text, IdxValues> getRecordReader(
InputSplit input, JobConf job, Reporter report) throws IOException {
report.setStatus(input.toString());
return new CustomReader(job, (FileSplit)input);
}
}
現在我不知道我應該如何實現CustomReader類,閱讀[我真正想要]和[而另一部分]作爲兩個數組分開?
你的旗幟是一個角色或表情嗎? – rVr
@rVr它是一個由常量字符串包圍的URI,例如'$ -C:/ usr/john- $'。對於每個記錄,都有一個唯一的URI。它應該用作分隔符。 –