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