讓說我有這種格式的一個非常大的日誌文件唯一的登錄(基於在用戶登錄)計數用的Map Reduce
UserId1 , New York
UserId1 , New Jersey
UserId2 , Oklahoma
UserId3 , Washington DC
....
userId999999999, London
注意UserId1在紐約先登錄,然後他躥到新澤西州並從那裏再次登錄。
如果我需要獲得多少唯一用戶登錄(意味着2登錄將相同的userid作爲1登錄),我應該如何映射和減少它?
我最初的計劃是,我想首先它映射到這樣的格式:
UserId1, 1
UserId1, 1
UserId2, 1
UserId3, 1
然後將其降低到
UserId1, 2
UserId2, 1
UserId3, 1
但這樣做會導致輸出爲仍大(特別是如果用戶的普通行爲是每天登錄1次或2次)。還是有更好的方法來實現這一點?