我正在尝试使用sparksqljdbc writer将配置单元表中的5000万行插入到sqlserver表中
mdf1.coalesce(4).write.mode(savemode.append).jdbc(connectionstring,“dbo.test\u table”,connectionproperties)
spark作业在处理1000万行后失败,错误如下
java.sql.batchupdateexception:sql server数据库引擎的示例此时无法获取锁资源。活动用户较少时重新运行语句。要求数据库管理员检查此示例的锁和内存配置,或检查是否存在长时间运行的事务。
但是如果我使用下面的代码行,同样的工作会成功。
mdf1.coalesce(1).write.mode(savemode.append).jdbc(connectionstring,“dbo.test\u table”,connectionproperties)
我尝试打开4个到sqlserver的并行连接来优化性能。但是,在处理了1000万行之后,作业一直失败,并出现“cannot aquire locks error”。另外,如果我将Dataframe限制为只有几百万行(少于1000万行),那么即使有四个并行连接,作业也会成功
有人能告诉我sparksql是否可以用于将大量数据导出到rdbms中,以及我是否需要对sqlserver表进行任何配置更改吗。
提前谢谢。
暂无答案!
目前还没有任何答案,快来回答吧!