当起始节点不存在时,Talend Neo4j Relationship组件抛出错误

时间:2013-10-11 22:03:26

标签: java csv neo4j talend

我们正在使用Talend Open Studio for Big Data将MySQL数据迁移到Neo4j。我已经运行了一些工作,但是我在rels.csv文件中使用tNeo4jOutputRelationship组件时遇到困难,该文件包含我们的nodes.csv文件中不存在的值之间的关系。

引发的显式错误:

Exception in component tNeo4jOutputRelationship_1

    java.lang.RuntimeException: Start node looked up by index with my_index as key and my_value as value doesn't exist

进行了一些研究并发现代码部分在Github

上抛出了错误

是否可以在运行时暂时禁止此错误?我们确实有相当多的重组数据,并不是每个rels.csv都会匹配每个作业的nodes.csv。

1 个答案:

答案 0 :(得分:2)

我看到的最简单方法是使用MySQL中的ID创建nodes.csv文件,或者在从MySQL导出到nodes.csv时为节点生成id。

然后,在使用tNeo4jOutput创建节点时,还可以为从MySQL数据中获取的ID创建索引。 Create index on ID for node

然后,下一步是为MySQL中的关系创建表示并导出为CSV。这将具有应连接的节点的开始和结束ID。 The ids defining the relationships

然后,在使用tNeo4jOutputRelationship组件时,您可以指定用于查找ID的索引,并从relationship.csv文件中指定开始和结束ID。 Use the predifined IDs to create relationship