我正在尝试在spark中加载teradata jar文件但无法加载它。我像这样开始火花壳:
spark-shell --jars ~/*.jar --driver-class-path ~/*.jar
在那里我有一个名为terajdbc4.jar
当火花壳开始......我这样做
scala> sc.addJar("terajdbc4.jar")
15/12/07 12:27:55 INFO SparkContext: Added JAR terajdbc4.jar at http://1.2.4.4:41601/jars/terajdbc4.jar with timestamp 1449509275187
scala> sc.jars
res1: Seq[String] = List(file:/home/user1/spark-cassandra-connector_2.10-1.0.0-beta1.jar)
scala>
但它不在罐子里。为什么它仍然缺失?
编辑:
确定。我得到了加载的jar,但是我收到了这个错误:
java.lang.ClassNotFoundException: com.teradata.jdbc.TeraDriver
我执行以下操作:
scala> sc.jars
res4: Seq[String] = List(file:/home/user/terajdbc4.jar)
scala> import com.teradata.jdbc.TeraDriver
import com.teradata.jdbc.TeraDriver
scala> Class.forName("com.teradata.jdbc.TeraDriver")
res5: Class[_] = class com.teradata.jdbc.TeraDriver
然后这个:
val jdbcDF = sqlContext.load("jdbc", Map(
"url" -> "jdbc:teradata://dbinstn, TMODE=TERA, user=user1, password=pass1",
"dbtable" -> "db1a.table1a",
"driver" -> "com.teradata.jdbc.TeraDriver"))
然后我明白了:
java.lang.ClassNotFoundException: com.teradata.jdbc.TeraDriver
答案 0 :(得分:0)
spark-shell --jars ~/*.jar --driver-class-path ~/*.jar
请参阅Using wildcards in java classpath
不支持 * .jar 等通配符,请尝试添加特定的jar文件路径。