我有这个模式的表:
(id: chararray, ts: long, data: chararray)
其中 ts 代表时间戳并与 UNIX 时间一起存储;
因为数据会更新,如果更新发生,ts会被修改,id不会改变。但是所有这些旧记录和新记录都将存储在 hdfs 中。
我只是想看看最新的数据,所以我这样写猪代码:
grp = GROUP table BY id;
rst = FOREACH grp {
latest = FILTER table BY ts == MAX(table.ts);
GENERATE latest.id AS id,
latest.data AS data;
}
但似乎 Pig 代码不起作用,那么任何人都可以给我一个建议让这个代码工作吗?