比方說,我有以下模式的數據集:我怎會用PIG
ItemName (String) , Length (long)
我需要找到是基於它們的長度重複的情況。這在PIG中很容易做到:
raw_data = LOAD...dataset
grouped = GROUP raw_data by length
items = FOREACH grouped GENERATE COUNT(raw_data) as count, raw_data.name;
dups = FILTER items BY count > 1;
STORE dups....
以上查找確切的重複項。鑑於設置波紋管: 一個,100 B,105 C,100
它將輸出2,(A,C)
現在我需要找到使用閾值重複。例如5閾值將意味着比賽的項目,如果它們的長度+/- 5所以輸出應該是這樣的:
3,(A,B,C)
任何想法我怎麼能去這樣做這個?
這幾乎就像我想PIG使用UDF作爲其comparator
當其join
期間比較記錄...