我在做一件事 groupBy
用于计算值,但当我按分组时,似乎丢失了聚合键中没有的所有字段:
filtered.filterNot('site) {s:String => ...}
.filterNot('date) {s:String => ...}
aggr = filtered.groupBy('id, 'contentHost) { group =>
group.min('timestamp -> 'min)
//how do I keep original fields? (eg: site, date)
}
aggr.store(Tsv(...)) //eg: field "site" won't be here
在pig中,是这样的:
aggr = group filtered by concat('id, 'contentHost);
result = foreach aggr {
generate flatten(filtered), //how to do this in scalding?
min(filtered.timestamp) as min;
}
1条答案
按热度按时间cgyqldqp1#
我对元组api也有同样的问题,只能通过使用类型化api来解决。
您可以使用scala元组,也可以在工作之外定义自己的case类。例如。:
然后你会这样处理: