目前,我有一个逐行处理的数据文件,大部分行包含我需要的一条记录,例如:id,name,total
但是某些行包含多个记录,例如:id1,name1,total1,id2,name2,total2
我编写了我的加载函数,并尝试返回组成元组列表的元组。但我不知道如何处理数据如下?
((ID1,NAME1总计1),(ID2,NAME2共2))...
另一个问题是关于loadfun,如果我发现某行包含无效值,我应该返回一个空元组还是只将行读取器设置到下一行?
感谢。
答案 0 :(得分:0)
我有一个解决方案,它定义了我自己的加载或存储。 对于加载,请定义文件输入。 对于商店,在我的下一个函数中定义输出,如下所示。
@Override
public void putNext(Tuple t) throws IOException {
List<Object> all = t.getAll();
for (Object o : all) {
logger.info(o.getClass());
Tuple tuple = (Tuple) o;
try {
recordWriter.write(null, new Text(tuple.toString()));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}