Scala 如何通过sparkSession实现JDBC到redshift的连接,模式与public不同

Scala 如何通过sparkSession实现JDBC到redshift的连接,模式与public不同,scala,apache-spark,amazon-redshift,Scala,Apache Spark,Amazon Redshift,我正在尝试从s spark程序中的红移中检索数据。数据是从管理表(pg_table_def)检索的,因此我无法对其运行unload命令到s3。这意味着使用JDBC检索它,因为数据很小,所以它不是问题。我尝试使用sparkSession.read.jdbc,这应该可以正常工作,问题是我尝试查询的表位于非公共模式中。使用常规sql命令,我将运行 set SEARCH_PATH to schemaName 但是,read.jdbc返回一个数据帧,并且这个命令不返回数据,所以我不能使用它。在SQL字符

我正在尝试从s spark程序中的红移中检索数据。数据是从管理表(pg_table_def)检索的,因此我无法对其运行unload命令到s3。这意味着使用JDBC检索它,因为数据很小,所以它不是问题。我尝试使用sparkSession.read.jdbc,这应该可以正常工作,问题是我尝试查询的表位于非公共模式中。使用常规sql命令,我将运行

set SEARCH_PATH to schemaName
但是,read.jdbc返回一个数据帧,并且这个命令不返回数据,所以我不能使用它。在SQL字符串中写入schemaName.tableName也不起作用

有人知道在连接时更改模式的方法吗,或者知道在read.jdbc中执行preSQL的方法吗?(我见过一些postgres的连接字符串,它们具有&searchpath=schemaName或@currenctSchema=schemaName,但到目前为止没有一个适用于我)

谢谢 近红外