请教大家一个业务场景问题,关于笛卡尔积
資深大佬 : qqq8724 0
场景是有一个字符串的集合,集合中元素是类似”id!时间 1,数据项 1&时间 2,数据项 2&时间 3,数据项 3……”的字符串,id 后面的以’&’分割的内容数量不一定,数据项一共有 5 个值。
现要求集合中两两元素之间的相似度,数据量大概是 50W 。
算法是只要两个 id 数据项相同,时间在给定阈值内就算相似,按一定规则给一个相似分。等两个 id 的所有时间和数据项比对完毕,把这些相似分加一块,就是这两个 id 的相似度。
最后结果格式为”id1,id2,相似度”
现在用 spark 的 cartesian 算子算笛卡尔积,很慢,而且最后没跑出来。
不知各位有什么好的办法,在此先谢过。
大佬有話說 (8)