无法将Spark数据集持久保存到orientdb

时间:2017-02-28 10:55:12

标签: apache-spark orientdb-2.1 orientdb2.2

我正在尝试从sql server数据库中获取数据并创建一个spark数据集。当我将数据集持久化到orientdb时,无法做到这一点。

获得以下错误

线程“main”中的异常java.lang.RuntimeException:发生连接异常:打开数据库'jdbc:orient:REMOTE:localhost / test'

时出错

这是我的代码:

    Map<String, String> options = new HashMap<>();
    options.put("driver", "com.microsoft.sqlserver.jdbc.SQLServerDriver");
    options.put("url", "jdbc:sqlserver://localhost:1433;databaseName=sample");
    options.put("user", "username");
    options.put("password", "password");    

    DataFrameReader jdbcDF = spark.read().format("jdbc").options(options);
    Dataset<Row> tableDataSet = jdbcDF.option("dbtable", "Table1").load();
    tableDataSet.createOrReplaceTempView("TEMP_V");
    Dataset<Row> tableDataset1 = spark.sql("SELECT ID AS DEPT_ID, NAME AS DEPT_NAME  FROM TEMP_V");        
    tableDataset1.write().format("org.apache.spark.orientdb.graphs")
            .option("dburl", "jdbc:orient:remote:localhost/test")
            .option("user", "root")
            .option("password", "root")
            .option("spark", "true")
            .option("vertextype", "DEPARTMENT")
            .mode(SaveMode.Overwrite)
            .save();

1 个答案:

答案 0 :(得分:0)

在撰写本文时,orientdb的jdbc驱动程序无法持久保存spark数据集。应修补它以改善鲨鱼兼容性。但是,它能够从orientdb读取并加载数据集。 请打开一个问题。