如何使用JDBC在Pyspark中执行用于teradata的启动SQL

x6492ojm  于 2023-10-15  发布在  Spark
关注(0)|答案(1)|浏览(86)

我在teradata JDBC连接参数中设置了RUNSTARTUP=ON来执行启动SQL。我不知道在哪里/如何指定启动SQL在teradata中编写spark框架。
我想执行下面的启动SQL之前,写脚本。我要求任何人请告诉我参考代码,因为我真的需要覆盖的要求。

启动SQL:

"SET SESSION CHARACTER SET UNICODE PASS THROUGH ON"

连接地址:

conn_url = "jdbc:teradata://HostName/tmode=ANSI,charset=UTF16,RUNSTARTUP=ON"

在teradata(Pyspark)中写入数据框架:

df.repartition(1).write.format('jdbc')
.option('driver','com.teradata.jdbc.TeraDriver')
.option('url','tera_url')
.option('user','tera_user_name')
.option('password', tera_user_pwd)
.option('dbtable',TargetTeradataTableName)
.mode('overwrite')
.save()

我想通过Pyspark中的JDBC在teradata中执行启动SQL。

thtygnil

thtygnil1#

“启动SQL”字符串是用户的预定义属性。它不是作为请求的一部分传递的东西。它应该是单个语句或有效的多语句请求,最多255个Unicode字符,并且必须包含结尾字符。

MODIFY USER tera_user_name AS STARTUP = 'SET SESSION CHARACTER SET UNICODE PASS THROUGH ON;';

MODIFY可以由DBA(具有DROP USER权限的人)或用户执行。然后RUNSTARTUP=ON将在登录时自动执行SQL。

相关问题