Pyspark:如何设置多个JDBC连接?

2wnc66cl  于 2022-11-01  发布在  Spark
关注(0)|答案(1)|浏览(143)

使用案例:我有两个数据库,一个用于prod,一个用于dev。prod使用SAP JDBC驱动程序,dev使用Oracle JDBC驱动程序,因为它们基于不同的数据库。我必须从prod数据库中提取数据,执行一些操作,并将其保存在dev数据库中,以满足一些项目需要。
问题:目前我通过在Spark Context中设置“spark.driver.extraClassPath”来使用这些第三方驱动程序。但这只接受一个参数。因此,我一次只能连接到一个DB。

有没有什么方法可以让我做两个不同的JDBC类路径配置?如果没有,那么我该如何处理这个问题?任何指导都非常感谢!!

7hiiyaii

7hiiyaii1#

解决方案

不是定义驱动程序文件路径,而是提供文件夹路径来加载该文件夹中的所有驱动程序。因此,在我的例子中,我将SAP和Oracle JDBC驱动程序放在同一个文件夹中,并在Spark Context Configuration中提到它,如下面的代码片段所示。
.set("spark.driver.extraClassPath", r"<folder_path_jdbc_drivers>\*")

相关问题