我是pyspark的新手。我正在使用python 3.5&我的Ubuntu 16.0上有spark2.2.0。我编写了以下代码来使用pyspark连接BigSQL
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)
您需要在spark-submit中添加DB2 JDBC jar,即for 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