2013-10-11 52 views
0

我們使用Talend Open Studio for Big Data將MySQL數據遷移到Neo4j。我得到了一些工作來運行,但是我在一個rels.csv文件中使用tNeo4jOutputRelationship組件,它包含了不存在於我們nodes.csv文件中的值之間的相關值。當開始節點不存在時,Talend Neo4j關係組件拋出錯誤

時引發明確的錯誤:

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。

回答

2

我看到的最簡單的方法是創建帶有ID的nodes.csv文件,您可以在MySQL中創建ID,或者在從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