Mysql
如何執行從 RDBMS 到 Neo4j 的 ETL
我有一個基於 mySQL 的成熟的 50 多個表 Web 應用程序。為了進行一些高級數據探勘,我想使用 Neo4j 和 cypher 的優點。但是,我很難將數據從 RDBMS 遷移到 Neo4j。我不想手工做,因為這通常是不可維護的。
我使用支持 Neo4j JDBC 的 pentaho,但是我很難把提取的數據載入到 Neo4j,因為 GUI 顯然是為 RDBMS 設計的,並且沒有關於如何做到這一點的資料。有沒有人遇到過類似的問題並找到了解決方案?
Neo4J 提供的 JDBC 驅動程序用於 Cypher 查詢(僅限選擇)。沒有插入、更新或刪除。您將不得不採用其他一些方法,例如 .. 將 rdbms 內容導出到 csv 並將 csv 導入到 Neo4J。
也許為時已晚,但我遇到了這個問題,我可以解決它。
首先,您需要添加
Table Input
從 MySQL 獲取記錄的工具,然後您可以execute SQL script
從Scripting
工具中添加。創建你的transformation
fromTable input
toExecute SQL Script
。然後Get fields
復選標記:
- 為每一行執行?
- 作為單個語句執行
然後你可以像這樣添加你的密碼查詢:
CREATE(NodeName:NodeLabel{field1:?,field2:?,field3:?,...})