我想統計哪個用戶查看哪個類別的頻率。我是新手Spark和Python。這裏是演示數據:火花python減鍵
dataSource = sc.parallelize([("user1", "film"), ("user1", "film"), ("user2", "film"), ("user2", "books"), ("user2", "books")])
我減少了關鍵用戶和收集所有類別。然後我分裂後數:
dataReduced = dataSource.reduceByKey(lambda x,y : x + "," + y)
catSplitted = dataReduced.map(lambda (user,values) : (values.split(","),user))
每個用戶的輸出格式是這樣的 - >([CAT1,CAT1,CAT2,catn],用戶)
可能有人請告訴我怎麼算用Spark和Python或者你有不同的方法來解決這個問題?
謝謝,這似乎工作。你能否簡單地解釋我的最後一個lambda函數。哪個變量表示哪個值 - lambda(x,y):(x,tuple(set((z,y.count(z))for z)y) – user3756702 2014-10-30 09:30:41
我創建了一個元組的元組, ('電影','電影','電影','電影','書籍')成爲(('電影',2),('電影',1))。然後設置刪除重複,然後將設置轉換回元組。 – haraprasadj 2014-10-30 09:34:21