我想使用Oracle的钱包来确保Oracle与PySpark的连接。
到目前为止,我正在硬编码凭证并使用以下命令执行工作连接:
# Connection properties
driver='oracle.jdbc.driver.OracleDriver'
connString='jdbc:oracle:thin:@1.1.1.1.sample/SID'
user='user'
pwd='pwd'
jdbc_dict = {'driver':driver,
'connection':connString,
'user':user,
'pwd':pwd }
df_table = spark.read.format('jdbc')
.option('driver',jdbc_dict['driver'])
.option('url',jdbc_dict['connection'])
.option('dbtable',table_name)
.option('user',jdbc_dict['user'])
.option('password',jdbc_dict['pwd']).load()
现在,我要转移到另一个环境,并希望从代码中摆脱凭据。
假设我已经在客户端上正确地创建了一个钱包,我如何更改前面显示的代码以使其与钱包一起工作?
我相信我必须以某种方式指出钱包的路径,但找不到任何关于Spark的适当文档,更准确地说,是PySpark。
在yarn Cluster模式下使用yarn和——files参数将钱包复制到节点上。然后简单地读取它作为本地文件路径