2017-10-13 45 views
0

我是pyspark的新手。我在Ubuntu 16.0上使用python 3.5 & spark2.2.0。我寫了下面的代碼使用pyspark連接BigSQLjava.lang.ClassNotFoundException:使用Python連接BigSQL的com.ibm.db2.jcc.DB2Driver異常

from pyspark.sql.session import SparkSession 
spark = SparkSession.builder.getOrCreate() 

spark_train_df = spark.read.jdbc("jdbc:db2://my bigsq url :port number:sslConnection=true;sslTrustStoreLocation=ibm-truststore.jks;sslTrustStorePassword=*password123;","schema.Table Name", 
      properties={"user": username, 
         "password": password, 
         'driver' : 'com.ibm.db2.jcc.DB2Driver'}) # Trust store location is defined in .bashrc 
spark_train_df.registerTempTable('data_table') 

train_df = spark.sql('select * from data_table') 

而且我已經加入我的信任存儲&驅動程序路徑在我的.bashrc文件 但是當運行此代碼我收到錯誤消息

java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver exception 

請問專家請指導我解決這個問題嗎?

+0

請編輯您的問題,添加這些細節(1 )安裝了Db2-client名稱(2),它是該Db2-client的版本/修復包(3)是否可以從bash命令行或任何其他運行在ubuntu上的jdbc應用程序連接到Db2數據庫。 – mao

+0

對不起,我對DB2 Client沒有太多線索。如果您可以建議我如何找到這些信息,那麼這將會有所幫助。據我所知,最新的DB2客戶端正在安裝。是的,我可以在Ubuntu上使用python連接BigSQL –

+0

你如何執行代碼?什麼是pyspark的命令行? –

回答

1

您需要添加DB2 JDBC jar文件在你的火花提交,即專門用於Postgres

spark-shell --master local[*] --packages org.postgresql:postgresql:9.4.1207.jre7 

或(或DB2)

spark-shell --master local[*] --jars /path/to/db2/jdbc/db2.jar