如何使用OrientDB ETL工具导入整个数据库数据?

时间:2016-03-01 10:04:02

标签: orientdb orientdb-2.1

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

1 个答案:

答案 0 :(得分:1)

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

从TABLE-A

创建类
// just a test
echo '<div style="font-size:20px; color:red">Rows to process: = ';
echo $result->num_rows;
echo '</div>';

if ($result->num_rows > 0) {
    //Output data of each row
    while($row = $result->fetch_assoc()) {
        echo '<div name="content">';
            echo "<h1>Title: {$row['title']}<br /></h1>";
            echo "<h2>Summary: {$row['summary']}<br /></h2>";
            echo "<h5>Author: {$row['author']} </h5><br />";
        echo '<div>';
    }
}   else {
    echo '<div style="font-size:20px; color:red">Cannot find content.</div>';
}

从TABLE-B创建类,并使用table-a

链接表-b
{
  "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
    }
  }
}

我希望能有所帮助。