从spark jdbc连接向数据库发送选项

问题描述 投票:0回答:1

我正在尝试将一个大型数据帧写入db2数据库,但我遇到了服务器上的日志,因为我的会话太大了。如何发送一个+c标志,该标志用于插入命令从spark到db2,以便它一起绕过日志记录?有没有办法以某种方式从spark提交数据库命令?我可以从像scalike这样的db库发出命令,但不确定如何同时使用这两个命令。

apache-spark jdbc db2
1个回答
0
投票

X-Y问题的一个很好的例子。

+c似乎指的是关闭自动提交的Db2命令行处理器(CLP)的参数。

首先,既然你正在运行Spark,那么CLP就无处可去了。

其次,禁用自动提交,如果你能够这样做,只会使你的问题恶化,这似乎是你的日志空间不足:提交频率较低,你需要更多的日志空间,而不是更少。

第三,当使用SQL接口(例如JDBC(由Spark使用)或ODBC)时,您不可能“一起绕过日志记录”。

在这种情况下,您可以做的最好的事情是与负责相关数据库的DBA交谈,以找出调整Spark生成的查询或请求增加日志空间的方法。

© www.soinside.com 2019 - 2024. All rights reserved.