1

すべてのデータをインポートしたら、エクストラクタのように見えますが、JDBC クエリの属性は単一のクエリにしかできません。

4

1 に答える 1

1

ETL ツールを使用すると、すべてのテーブル フィールドを返し、それらをクラスに変換するクエリを介して、RDBMS から OrientDB にデータをインポートできます。データを移行するには、個々のテーブルとその関係をインポートするための指示を含む N json ファイルを作成する必要があります。これらの 2 つの json の簡単な例は、B <- A の関係で Table-A と Table-B の 2 つのテーブルをインポートする方法を示しています。

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 に答える