我使用Neo4J实现了一个内容推荐引擎。我喜欢Cypher,并发现图形数据库是直观的。
考虑到扩展到更大的数据集,我不相信No4J + Cypher将具有良好的性能。星星之火有GraphX项目,我在过去没有使用过。
有没有人从Neo4J转到GraphX?除了可伸缩性之外,用例是否重叠?或者,GraphX是否解决了与Neo4J完全不同的问题集?
发布于 2015-01-25 14:43:21
Neo4j和Spark是用来在不同层次上解决问题的,它们是互补的。
它们可以通过Neo4j的Mazerunner扩展连接起来:
Mazerunner是一个Neo4j非托管扩展和分布式图形处理平台,它扩展Neo4j以完成大数据图处理工作,同时将结果保存回Neo4j。Mazerunner使用message将图形处理作业分发给Apache的GraphX模块。分派代理作业时,从Neo4j导出子图并写入。在Neo4j向HDFS导出子图之后,通知Spark的一个单独的Mazerunner服务开始处理该数据。Mazerunner服务将使用Scala和Spark的GraphX模块启动分布式图形处理算法。GraphX算法被序列化,并被分派到Apache进行处理。一旦Apache作业完成,结果将作为要应用到Neo4j的属性更新的键值列表写回HDFS。然后通知Neo4j,一个属性更新列表可以从HDFS上的Apache获得。Neo4j批处理导入结果并将更新应用到原始图中。
查看本教程,了解如何将两者结合在一起:http://www.kennybastani.com/2014/11/using-apache-spark-and-neo4j-for-big.html
https://datascience.stackexchange.com/questions/2682
复制相似问题