当前位置: 首页 > 知识库问答 >
问题:

线程“main”java.lang.ClassNotFoundException中出现异常:未能找到数据源:jdbc

祁嘉言
2023-03-14

以下是我从IntelliJ获得的代码:

package com.dmngaya
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql.SparkSession

object ReadVertexPage {

def main(args: Array[String]): Unit = {
val conf: SparkConf = new SparkConf().setAppName("ReadVertexPage").setMaster("local")
val sc: SparkContext = new SparkContext(conf)
val spark = SparkSession
  .builder()
  .appName("Spark SQL basic example")
  .getOrCreate()

val jdbcDF1 = spark.read.format("jdbc").options(
  Map(
    "driver" -> "com.tigergraph.jdbc.Driver",
    "url" -> "jdbc:tg:http://127.0.0.1:14240",
    "username" -> "tigergraph",
    "password" -> "tigergraph",
    "graph" -> "gsql_demo", // graph name
    "dbtable" -> "vertex Page", // vertex type
    "limit" -> "10", // number of vertices to retrieve
    "debug" -> "0")).load()

 jdbcDF1.show
   }

}

当我在spark-shell中运行它时,它正在运行文件:/opt/spark/bin/spark-shell--jars/home/tigergraph/ecosys/tools/etl/tg-jdbc-driver/tg-jdbc-driver-1.2.jar

scala> val jdbcDF1 = spark.read.format("jdbc").options(
 |   Map(
 |     "driver" -> "com.tigergraph.jdbc.Driver",
 |     "url" -> "jdbc:tg:http://127.0.0.1:14240",
 |     "username" -> "tigergraph",
 |     "password" -> "tigergraph",
 |     "graph" -> "gsql_demo", // graph name
 |     "dbtable" -> "vertex Page", // vertex type
 |     "limit" -> "10", // number of vertices to retrieve
 |     "debug" -> "0")).load()
 jdbcDF1: org.apache.spark.sql.DataFrame = [v_id: string, page_id: string]

 scala> jdbcDF1.show
 result:
 +----+--------+                                                                 
|v_id| page_id|
+----+--------+
|   7|       7|
|   5|       5|
|  10|      10|
|1002|    1002|
|   3|       3|
|1000|new page|
|1003|    1003|
|   1|       1|
|   6|       6|
|1001|        |

我怎么才能修好?

共有1个答案

公良同
2023-03-14

您应该在POM/SBT中添加依赖项tg-jdbc-driver-1.2

 类似资料:
  • 我从GitHub克隆了我的项目,现在我无法运行我的项目。 我收到以下错误: 知道是什么导致了这个错误吗? 编辑 我检查了这个问题Intellij在我发布到这里之前突然抛出ClassNotFoundException,它没有给我任何解决方案...为什么要将我的问题标记为重复,因为那个问题不能解决我的问题?

  • 我的程序在执行时会出现以下错误: 我的文件 我想连接我的数据库。我已经创建了数据库,但仍然显示这些错误,而且我使用的是Netbeans IDE8.2。

  • 我最近安装了intellij IDEA 14.0,为了确保一切正常,我创建了一个简单的Hello World程序。我不明白为什么输出不正确,为什么会出现这个错误。如果有人能帮忙,那就太好了。 以下是程序: 这是错误:

  • 我在线程“main”java中遇到异常。错误:未解析编译。 我做错了什么? 线程“main”中出现异常: java.lang.错误:未解决的编译问题: 对于类型在

  • 我得到了这个错误: 线程“main”Java.lang.NosuchFielderRror:calificacion.main处的num1异常(problema_3.Java:17) 在这个简单的终端Java程序上键入第一个值后: 另一方面,这一个运行良好,我使用相同的输入法在这两个: 提前道谢。

  • 当我从nextInt()获取输入时,扫描器会抛出异常,但是如果我从nextLine()获取输入,然后将其解析为int,那么我的代码会正常运行。 如果可以将字符串输入解析为任何类型,为什么还要使用nextInt()或nextDouble()。