我们正在使用 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 相匹配。
最佳答案
我看到的最简单的方法是使用 MySQL 中拥有的 ID 创建 Nodes.csv 文件,或者在从 MySQL 导出到 Nodes.csv 时生成节点 ID。
然后,当使用 tNeo4jOutput 创建节点时,您还可以为从 MySQL 数据中获取的 ID 创建索引。
下一步是在 MySQL 中创建关系的表示形式并导出到 CSV。这将具有应连接的节点的起始 ID 和结束 ID。
然后,在使用 tNeo4jOutputRelationship 组件时,您可以指定用于查找 ID 的索引,并指定关系.csv 文件中的起始 ID 和结束 ID。
关于java - 当起始节点不存在时,Talend Neo4j 关系组件会抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19327968/