給出的userid我的輸入數據,爲itemid格式:兩字組組合在豬
raw: {userid: bytearray,itemid: bytearray}
dump raw;
(A,1)
(A,2)
(A,4)
(A,5)
(B,2)
(B,3)
(B,5)
(C,1)
(C,5)
grpd = GROUP raw BY userid;
dump grpd;
(A,{(A,1),(A,2),(A,4),(A,5)})
(B,{(B,2),(B,3),(B,5)})
(C,{(C,1),(C,5)})
我想每個組內的物品的,以產生所有組合(爲了不重要)。我最終打算對我的組中的項目執行jaccard相似性。
我的理想的雙字母組將產生,然後我會FLATTEN輸出看起來像:
(A, (1,2))
(A, (1,3))
(A, (1,4))
(A, (2,3))
(A, (2,4))
(A, (3,4))
(B, (1,2))
(B, (2,3))
(B, (3,5))
(C, (1,5))
字母ABC,代表了用戶標識,是不是真的有必要的輸出,我只是爲了說明目的而展示它們。從那裏,我會計算每個二元組的出現次數以計算jaccard。我很想知道是否有其他人使用豬類似的相似性計算(對不起!),並且已經遇到過這種情況。
我已經看過了與豬教程一起提供的NGramGenerator,但它並不真正匹配我想要完成的工作。我想知道如果可能是一個python流UDF是要走的路。
尋找同樣的事情 - 你找到答案? – Jilles 2010-12-12 00:41:00
介意在這裏分享你的解決方案嗎? – 2011-05-09 12:42:10