2015-12-07 50 views
3

我想加載teradata jar文件的火花,但無法加載。我開始火花殼這樣的:teradata jdbc jar無法加載火花

spark-shell --jars ~/*.jar --driver-class-path ~/*.jar 

在那裏我有一個名爲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> 

,但它不存在於罐子。爲什麼它仍然錯過?

編輯:

好的。我得到的罐子加載,但我得到這個錯誤:

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
spark-shell --jars ~/*.jar --driver-class-path ~/*.jar 

請參考Using wildcards in java classpath
不支持* .jar等通配符,請嘗試添加特定的jar文件路徑。