PySparkを使用してOracle DBに接続しようとしています。PySparkを使用してOracle DBに接続
spark_config = SparkConf().setMaster(config['cluster']).setAppName('sim_transactions_test').set("jars", "..\Lib\ojdbc7.jar")
sc = SparkContext(conf=spark_config)
sqlContext = SQLContext(sc)
df_sim_input = self.sqlContext.read\
.format("jdbc")\
.option("driver", "oracle.jdbc.driver.OracleDriver")\
.option("url", config["db.url"])\
.option("dbtable", query)\
.option("user", config["db.user"])\
.option("password", config["db.password"])\
.load()
これは、だから、それはSparkContextでjarファイルを見つけることができないようで、私に
py4j.protocol.Py4JJavaError: An error occurred while calling o31.load.
: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
を与えます。 PySparkシェルを外部のjarファイルで読み込むことは可能ですが、PythonコードからPySparkシェルを読み込みたいと思っています。
Pythonからこの外部jarを追加してOracle DBにクエリをどのように追加することができますか?
余分な質問、どのようにpostgresのDBのコードは正常に外部jdbcをインポートせずに動作しますか?それはあなたのシステムにインストールされていると自動的に見つかるからですか?