OrientDB Transformer' jdbc'未找到

时间:2015-03-05 19:25:08

标签: mysql jdbc etl orientdb

我最近安装了OrientDB并尝试使用ETL模块创建导入。

在OS X上运行,我已经使用自制软件安装了orientDB。

我创建了以下ETL脚本:

{
    "config": {
        "log": "debug"
    },
    "begin": [
    ],
    "extractor" : {
        "row": {}
    },
    "transformers": [
        { "jdbc": {
            "driver": "com.mysql.jdbc.Driver",
            "url": "jdbc:mysql://localhost/dev_database",
            "userName": "root",
            "userPassword": "",
            "query": "select * from users limit 20"
          }
        },
        { "vertex": { "class": "V" } }
    ],
    "loader": {
        "orientdb": {
            "dbURL": "plocal:../databases/ETLDemo",
            "dbUser": "admin",
            "dbPassword": "admin",
            "dbAutoCreate": true,
            "tx": false,
            "batchCommit": 1000,
            "dbType": "graph"
        }
    }
}

按照此处的说明操作:http://www.orientechnologies.com/docs/2.0/orientdb-etl.wiki/Import-from-DBMS.html 并从此处安装了mysql的jdbc驱动程序:http://dev.mysql.com/downloads/connector/j/

并按照描述设置类路径。

运行命令:

./oetl.sh ../import_mysql.json

提供以下输出:

OrientDB etl v.2.0.2 (build @BUILD@) www.orientechnologies.com
Exception in thread "main" com.orientechnologies.orient.core.exception.OConfigurationException: Error on creating ETL processor
    at com.orientechnologies.orient.etl.OETLProcessor.parse(OETLProcessor.java:278)
    at com.orientechnologies.orient.etl.OETLProcessor.parse(OETLProcessor.java:188)
    at com.orientechnologies.orient.etl.OETLProcessor.main(OETLProcessor.java:163)
Caused by: java.lang.IllegalArgumentException: Transformer 'jdbc' not found
    at com.orientechnologies.orient.etl.OETLComponentFactory.getTransformer(OETLComponentFactory.java:141)
    at com.orientechnologies.orient.etl.OETLProcessor.parse(OETLProcessor.java:260)
    ... 2 more

我确实设法使用CSV文件创建了一个有效的导入功能,所以我非常确定数据库设置正确。

思想?

1 个答案:

答案 0 :(得分:1)

{
    "config": {
        "log": "debug"
    },
    "extractor": { 
        "jdbc": {
            "driver": "com.mysql.jdbc.Driver",
            "url": "jdbc:mysql://localhost/dev_database",
            "userName": "root",
            "userPassword": "",
            "query": "select * from users limit 20"
        }
    },
    "transformers" : [
        { "vertex": { "class": "V"} }
    ],
    "loader": {
        "orientdb": {
            "dbURL": "plocal:../databases/ETLDemo",
            "dbUser": "admin",
            "dbPassword": "admin",
            "dbAutoCreate": true,
            "tx": false,
            "batchCommit": 1000,
            "dbType": "graph"
        }
    }
}

你能看出这是否解决了这个问题?