我正在尝试从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();
答案 0 :(得分:0)
在撰写本文时,orientdb的jdbc驱动程序无法持久保存spark数据集。应修补它以改善鲨鱼兼容性。但是,它能够从orientdb读取并加载数据集。 请打开一个问题。