我想建立这个工作流程:
我的想法非常基本:将df中的每一行写为节点,其中每列值表示节点属性的值
我见过很多文章,包括neo4j-spark-connector和Introducing the Neo4j 3.0 Apache Spark Connector,但他们都专注于从Neo4j数据库导入Spark数据...到目前为止,我无法找到一个明确的例子将Spark数据帧写入Neo4j数据库。
非常感谢任何指向文档或非常基本示例的指针。
答案 0 :(得分:1)
你可以编写一些例程并使用opensource neo4j java驱动程序
https://github.com/neo4j/neo4j-java-driver
例如。
简单地序列化RDD的结果(使用rdd.toJson),然后使用上面的驱动程序创建你的neo4j节点并推入你的neo4j实例。
答案 1 :(得分:0)
Read this issue回答我的问题。
长话短说,neo4j-spark-connector可以将Spark数据写入Neo4j db,是的,新版本的文档很缺乏。
答案 2 :(得分:0)
我知道这个问题已经很老了,但我不认为neo4j-spark-connector可以解决您的问题。完整的故事,示例代码和详细信息都可以在here中找到,但是如果仔细看一下Neo4jDataFrame.mergeEdgeList示例(已建议),那么总而言之,您会注意到它的作用为数据帧中的每一行实例化一个驱动程序。这将在具有10行的单元测试中起作用,但是您不能指望它在具有数百万或数十亿行的实际案例中起作用。此外,在上面的链接中还介绍了其他缺陷,您可以在其中找到基于csv的解决方案。希望对您有所帮助。