我希望实现一个算法从一个图,为每个用户返回一个用户的列表,他是与他有联系的度X
图形由一个文件表示,该文件包含每一行连接的用户对(连接在2个方向上)。在
例如:
davidbowie omid
davidbowie kim
kim torsten
torsten omid
brendan torsten
ziggy davidbowie
mick ziggy
对于1度,必须有以下输出:
^{pr2}$每一行都包含一个用户和与之连接的用户列表。在
要使用python运行MapReduce函数,只需将mapper和reducer分别写入以下文件:
cat data.csv | python mapper.py | sort -k1,1 | python reducer.py
我是hadoop的新手,我的问题是mapper.py
和{
我不确定你是否会接受一个没有显式使用MapReduce的答案,但是我想我会提供这个,因为它可以识别二级关系,非常简单,并且可以扩展。在
假设您有一个Neo4j数据库正在运行,您可以创建图形:
。。。通过运行以下代码:
然后,要获得给定用户的二级连接(例如“omid”),可以运行如下cypher查询:
^{pr2}$查询返回:
Cypher查询中的
*2
表示离开的关系数(即“hops”),因此如果您想返回更远的连接,可以更改此值。在相关问题 更多 >
编程相关推荐