2017-10-13 1 views
0

Ich bin neu bei pyspark.Ich benutze Python 3.5 & spark2.2.0 auf meinem Ubuntu 16.0. Ich schrieb folgenden Code BigSQL mit pysparkjava.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver Ausnahme für die Verbindung von BigSQL mit Python

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') 

Auch die Verbindung Ich habe mein Vertrauen Speicher & Treiberpfad in meinem .bashrc Aber während der Ausführung des Codes Ich erhalte Fehlermeldung

java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver exception 
hinzugefügt

Können Sie Experte bitte führen Sie mich, um dieses Problem zu lösen?

+0

Bearbeiten Sie Ihre Frage, diese Details zu addieren (1) Welcher Db2-Clientname ist installiert (2) welches ist die Version/Fixpack dieses Db2-Clients (3) Können Sie eine Verbindung zur Db2-Datenbank von der Bash-Befehlszeile oder einer anderen jdbc-Anwendung herstellen, die auf ubuntu läuft? – mao

+0

Entschuldigung, ich habe wenig Ahnung von DB2 Client. Wenn Sie mir bitte vorschlagen können, wie Sie diese Informationen finden, wird es hilfreich sein. Soweit ich weiß, wird der neueste DB2 Client installiert. Ja, ich kann BigSQL mit Python unter Ubuntu verbinden –

+0

Wie führe ich den Code aus? Was ist die Befehlszeile für pyspark? –

Antwort

1

Sie müssen die DB2-JDBC-Gläser in Ihrer Funken einreichen, also hinzufügen, für Postgres

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

oder (oder DB2)

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