java.lang.ClassNotFoundException: com.ibm.db2.jcc.使用 Python 连接 BigSQL 的 DB2Driver 异常

java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver exception for connecting BigSQL using Python

我是 pyspark.I 的新手,我在 Ubuntu 16.0 上使用 python 3.5 和 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

请高手指导我解决这个问题好吗?

您需要在 spark-submit 中添加 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