【发布时间】:2015-09-23 03:53:51
【问题描述】:
我在 hdfs 系统中有一个文件,它是与销售数据相关的 3 个表的连接输出。 (销售标题、项目详情、投标详情)。
该文件将包含来自所有三个表的列组合。
如果有 3 个项目和 1 个标书,我将有 6 行用于交易。 所以文件中有6行具有相同的事务号。 我可以在 mapper 中阅读并创建包含所有字段的 DTO
现在我想用这个扁平的 DTO 构建复杂的 DTO 结构。 是否有任何可用的 pojo 映射框架,它是否支持从普通 DTO 到复杂结构的映射。
结构
public class PlainDTO{
String tranId;
String processDate;
String itemNumber;
String itemName;
int tenderId;
.......
......
}
从列表中,我需要转换为 下面的结构
public class ComplexDTO{
private SlsHeader slsHeader;
private Collection<SlsItems> items;
private Collection<SlsTender> tenderDetails
}
【问题讨论】:
-
此数据的最终目的地也是弹性搜索。我打算在reducer中将复杂的dto转换为json。有没有其他好的方法可以将数据从 hadoop 转换和加载到 ES?
-
您可以为此使用 Jackson 库
-
每个复杂对象有多行,您最终可能会得到 2 个拆分,每个拆分都包含复杂对象的一部分。
标签: hadoop mapreduce mapping pojo