私はこのスキーマを持つテーブルを持っています:
(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 コードが機能しなかったようです。このコードを機能させるための提案をしてくれる人はいますか?