2017-02-28 1 views
0

J'essaie d'extraire des données de la base de données du serveur sql et créé un jeu de données spark. Quand je persiste à utiliser l'ensemble de données orientdb, je ne peux pas le faire.Impossible de persister Spark données définies à orientdb

Obtention d'erreur ci-dessous

Exception in thread "main" java.lang.RuntimeException: Exception de connexion est produite: Erreur sur la base de données d'ouverture 'jdbc: orient: REMOTE: localhost/test'

Voici mon code:

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

Le message d'erreur a testdb mais votre code a un test dans l'URL. est ter toute confusion ici? – BDR

+0

Pas de balaji. mec tapé là (testdb). Je ne peux pas écrire de jeu de données dans une base de données orientdb. –

Répondre

0

au moment de l'écriture du pilote jdbc orientdb n'est pas ABL e pour conserver un jeu de données spark. Il devrait être corrigé pour améliorer la compatibilité des requins. Il est, cependant, capable de lire à partir d'orientdb et de charger un ensemble de données. Veuillez ouvrir un problème.