1

我希望一旦导入所有数据,貌似在extractor中,JDBC查询属性只能是单个查询。

4

1 回答 1

1

ETL 工具允许您通过查询将数据从 RDBMS 导入 OrientDB,该查询返回所有表字段并将它们转换为类。要迁移数据,您必须创建 N json 文件,其中包含导入各个表及其关系的说明。这两个 json 的一个简单示例,展示了如何导入两个表,Table-A 和 Table-B,关系为 B <- A。

从 TABLE-A 创建类

{
  "config": {
    "log": "debug"
  },
  "extractor" : {
    "jdbc": { "driver": "com.mysql.jdbc.Driver",
              "url": "jdbc:mysql://localhost:3306/mysqldb",
              "userName": "root",
              "userPassword": "",
              "query": "select * from TableA" }
  },
  "transformers" : [
   { "vertex": { "class": "TableA"} }
  ],
  "loader" : {
    "orientdb": {
      "dbURL": "plocal:/temp/databases/orientdb",
      "dbAutoCreate": true
    }
  }
}

从 TABLE-B 创建类并将 table-b 与 table-a 链接

{
  "config": {
    "log": "debug"
  },
  "extractor" : {
    "jdbc": { "driver": "com.mysql.jdbc.Driver",
              "url": "jdbc:mysql://localhost:3306/mysqldb",
              "userName": "root",
              "userPassword": "",
              "query": "select * from TableB" }
  },
 "transformers" : [
   { "vertex": { "class": "TableB"} },
           { "edge": { "class": "associate", "direction" : "in",
                        "joinFieldName": "idTableB",
                        "lookup":"TableA.idTableA"
              }
        }
  ], 
  "loader" : {
    "orientdb": {
      "dbURL": "plocal:/temp/databases/orientdb",
      "dbAutoCreate": true
    }
  }
}

我希望会有所帮助。

于 2016-03-01T16:10:33.357 回答